Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 31 additions & 31 deletions README.md

Large diffs are not rendered by default.

138 changes: 68 additions & 70 deletions examples/SI47XX_01_SERIAL_MONITOR/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,15 @@ This folder has some basic examples that will help you to test your board.

__All sketches of this folder have been successfully tested on Pro Mini 3.3V, UNO (by using a voltage converter), Arduino Yún (by using a voltage converter), Arduino Micro (see the operating voltage of your Micro), Arduino Mega (by using a voltage converter), Arduino DUE, and ESP32 (Dev Kit and LOLIN32 WEMOS)__


__Regarding SSB support, the SSB patch content is not part of this library__. The patches used here were made available by Mr. [Vadim Afonkin](https://youtu.be/fgjPGnTAVgM) on his [Dropbox repository](https://www.dropbox.com/sh/xzofrl8rfaaqh59/AAA5au2_CVdi50NBtt0IivyIa?dl=0). Please note that the author of this library does not encourage anyone to use the SSB patches content for commercial purposes. __In other words, while this library supports SSB patches, the patches themselves are not a part of this library__.


The table below shows the Si4735 and Arduino Pro Mini pin connections

| Si4735 pin | Arduino Pin |
| ----------------| ------------ |
| RESET (pin 15) | 12 |
| SDIO (pin 18) | A4 |
| SCLK (pin 17) | A5 |
| Si4735 pin | Arduino Pin |
| -------------- | ----------- |
| RESET (pin 15) | 12 |
| SDIO (pin 18) | A4 |
| SCLK (pin 17) | A5 |

## Example 01 - SI4735_01_POC

Expand All @@ -30,28 +28,24 @@ __This sketch has been successfully tested on Pro Mini 3.3V, UNO (by using a vol

I strongly recommend starting with this sketch. This example is a proof of concept of SI4735 Arduino Library. The sketch of this example uses just the __Serial Monitor__ and works only on your __Arduino IDE__. However, you can easily replace the Serial Monitor functions to the device functions that you want to use.


### Controls used by example 01

| Keyboard command | Description |
| ---------------- | ----------- |
| A or a | Select MW(AM) |
| F or f| Select FN |
| U or u | Frequency Up |
| D or d | Frequency Down |
| S | Seek - Goes to next station |
| s | Seek - Goes to previous station |
| + | Volume Up |
| - | Volume Down |
| 0 | Shows current status |
| 1 | SW band (from 1.7MHz to 30MHz) |
| 5-8 | Steps for SW: 5 to step 5kHz; 6 to 10kHz; 7 to 100kHz; 8 to 1000kHz |


| Keyboard command | Description |
| ---------------- | ------------------------------------------------------------------- |
| A or a | Select MW(AM) |
| F or f | Select FN |
| U or u | Frequency Up |
| D or d | Frequency Down |
| S | Seek - Goes to next station |
| s | Seek - Goes to previous station |
| + | Volume Up |
| - | Volume Down |
| 0 | Shows current status |
| 1 | SW band (from 1.7MHz to 30MHz) |
| 5-8 | Steps for SW: 5 to step 5kHz; 6 to 10kHz; 7 to 100kHz; 8 to 1000kHz |

Click [here](https://github.com/pu2clr/SI4735/blob/master/examples/SI4735_01_POC/SI4735_01_POC.ino) to see this example.


<BR>

## Example 02 - SI4735_02_POC_SW
Expand All @@ -61,35 +55,35 @@ This example shows how can you use SW features of the Si4735 Arduino Library. Li
__This sketch has been successfully tested on Pro Mini 3.3V, UNO (by using a voltage converter), Arduino Yún (by using a voltage converter), Arduino Micro (see the operating voltage of your Micro), Arduino Mega (by using a voltage converter), Arduino DUE, and ESP32 (LOLIN32 WEMOS)__

### SW Bands used by the example 02
| Band | From (kHz) | To (kHz) | Default (kHz)|
| ---- | ---------- | -------- | ------------ |
| 60m | 4600| 5200| 4700|
| 49m | 5700| 6200| 6000|
| 40-41m | 7000 | 7500 | 7200|
| 31m | 9300 | 10000 | 9600 |
| 25m | 11400 | 12200 | 1800|
| 22m | 13500 | 13900 | 13600|
| 19m | 15000 | 15800 | 15200|
| 16m | 17400 | 17900 | 17600|
| 21m | 21400 | 21800 | 21500|
| 11m | 27000 | 27500 | 27220|

| Band | From (kHz) | To (kHz) | Default (kHz) |
| ------ | ---------- | -------- | ------------- |
| 60m | 4600 | 5200 | 4700 |
| 49m | 5700 | 6200 | 6000 |
| 40-41m | 7000 | 7500 | 7200 |
| 31m | 9300 | 10000 | 9600 |
| 25m | 11400 | 12200 | 1800 |
| 22m | 13500 | 13900 | 13600 |
| 19m | 15000 | 15800 | 15200 |
| 16m | 17400 | 17900 | 17600 |
| 21m | 21400 | 21800 | 21500 |
| 11m | 27000 | 27500 | 27220 |

### Controls used by the example 02

| Keyboard command | Description |
| ---------------- | ----------- |
| A or a | Select MW(AM) |
| F or f | Select FN |
| U or u | Frequency Up |
| D or d | Frequency Down |
| S | Seek - Goes to next station |
| s | Seek - Goes to previous station |
| + | Volume Up |
| - | Volume Down |
| 1 | Previous SW band |
| 2 | Next SW band |
| 0 | Show current status |
| Keyboard command | Description |
| ---------------- | ------------------------------- |
| A or a | Select MW(AM) |
| F or f | Select FN |
| U or u | Frequency Up |
| D or d | Frequency Down |
| S | Seek - Goes to next station |
| s | Seek - Goes to previous station |
| + | Volume Up |
| - | Volume Down |
| 1 | Previous SW band |
| 2 | Next SW band |
| 0 | Show current status |

Click [here](https://github.com/pu2clr/SI4735/blob/master/examples/SI4735_02_POC_SW/SI4735_02_POC_SW.ino) to see this example.

Expand All @@ -101,12 +95,10 @@ The schematic below is the same shown at the main page of this project and shows

![Silicon Labs Schematic](../../extras/images/basic_schematic.png)


### SI4735-D60 and SI4732-A10 pinout and replacement

If you have a SI4732-A10 instead a SI4735-D60 device, [this section can help you](https://github.com/pu2clr/SI4735/tree/master/extras/schematic#si4735-and-si4732-pinout)


__See some shortwave antenna configuration on__ [Si47XX ANTENNA, SCHEMATIC, LAYOUT, AND DESIGN GUIDELINES; AN383](https://www.silabs.com/documents/public/application-notes/AN383.pdf)

<BR>
Expand Down Expand Up @@ -142,33 +134,39 @@ Procced at your own risk.
Features of this sketch:

1) Internal Arduino pull-up (no external resistors on schematic for buttons and encoder)

2) Only SSB (LSB and USB)

3) Audio bandwidth filter 0.5, 1, 1.2, 2.2, 3 and 4kHz

4) Ten ham radio bands pre configured

5) BFO Control
6) Frequency step switch (1, 5 and 10kHz)

Main Parts:
Encoder with push button
Seven bush buttons
OLED Display with I2C protocol
Arduino Pro mini 3.3V
6) Frequency step switch (1, 5 and 10kHz)

Main Parts:
Encoder with push button
Seven bush buttons
OLED Display with I2C protocol
Arduino Pro mini 3.3V

### Commands that you can use via Arduino Serial Monitor
| key | Description |
| --- | ----------- |
| U | frequency up |
| D | frequency down |
| > | next band |
| < | previous band |
| W | sitches the filter bandwidth |
| B | increments the BFO |
| b | decrement the BFO |
| G | switches on/off the Automatic Gain Control |

| key | Description |
| --- | --------------------------------------------------- |
| U | frequency up |
| D | frequency down |
| > | next band |
| < | previous band |
| W | sitches the filter bandwidth |
| B | increments the BFO |
| b | decrement the BFO |
| G | switches on/off the Automatic Gain Control |
| S | switches the frequency increment and decrement step |
| s | switches the BFO increment and decrement step |
| X | shows the current status |
| H | shows this help |
| s | switches the BFO increment and decrement step |
| X | shows the current status |
| H | shows this help |

For this example you can use the sketch below.

Expand Down
8 changes: 4 additions & 4 deletions examples/SI47XX_05_ATTINY85/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Examples of using the Si4735 Arduino Library on ATtiny85

This folder shows how you can use de Si4735 Arduino Library on the very small ATtiny85.
See the examples below.
See the examples below.


## SI47XX 01 - SI47XX_01_ATTINY85_LCD_16x2_I2C - AM/FM receiver with ATtiny85
Expand Down Expand Up @@ -33,7 +33,7 @@ The pull-up resistor values may vary depending on the devices connected to the I



#### ATtiny85 AND EXTERNAL EEPROM SETUP
#### ATtiny85 AND EXTERNAL EEPROM SETUP

![Schematic ATtiny85 and Si4735](../../extras/images/schematic_attiny85_ssb_external_eeprom.png)

Expand All @@ -45,15 +45,15 @@ The photo below show the Si4730 on adapter board with the basic components sugge

![Photo ATtiny85 and Si4730 on Adapter](https://github.com/pu2clr/SI4735/blob/master/extras/images/SI4730_on_adapterA.png)

<BR>
<BR>

The photo below shows the Si4730 on adapter board connect attached on a mini breadboard.

![Photo ATtiny85 and Si4730 on mini breadboard](https://github.com/pu2clr/SI4735/blob/master/extras/images/SI4730_on_BreadboardA.png)

<BR>

The Si4730 and ATtiny85 FM radio prototype.
The Si4730 and ATtiny85 FM radio prototype.

![Photo ATtiny85 and Si4730](https://github.com/pu2clr/SI4735/blob/master/extras/images/SI4730_attiny85A.png)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,59 +1,57 @@
User Manual


Commands

1. BAND SELECTION

Select the band by pressing the encoder push button once and then rotate the encoder clockwise or counterclockwise.
When the desired band is shown on display, you can press the button once again or wait for about 2 seconds.
You will notice the control will go back to the VFO.
The control will revert back to the VFO.

2. STEP, MODE, AGC (Automatic Gain Control)/Attenuation, bandwidth, Soft Mute, AVC (Automatic Volume Control) and VOLUME

2.1. Press the encoder push button twice (within 1/2 second).
2.2. After that, the display will show you the Menu text. Rotate the encoder clockwise or counterclockwise

to select the option (STEP, MODE, AGC/Attenuation, bandwidth, VOLUME, etc).

2.3. After that, select the option you want to setup by pressing the encoder push button once again.
2.4. After that, rotate the encoder clockwise or counterclockwise to select the parameter.
2.5. Finally, you can press the button once again or wait for about 2 seconds.

The control will go back to the VFO.

3. VFO/BFO Switch (IT DOES NOT WORK ON DIGITAL MODE)

3.1. Press the encoder push button twice (within 1/2 second).
3.2. Rotate the encoder clockwise or counterclockwise and go to the BFO option. This option is shown only on SSB mode.
3.3. Press the encoder push button once again.
3.4. Rotate the encoder clockwise or counterclockwise to increment or decrement the BFO (select the offset).
3.5. If you press the button again or stop rotating the ancoder for about 2 seconds, the control will go back to the VFO.

4. SEEK

4.1. Select the menu by pressing twice the encoder push button.
4.2. Rotate the encoder clockwise or counterclockwise to select "Seek Up" or "Seek Down".
4.3. Press the encoder push button once on "Seek Up" or "Seek Down".


5. RESET

This sketch saves some current receiver and band parameters into the internal Arduino EEPROM (frequency, band, mode, volume and band parameters).
For example: if you select an attenuation parameter or filter parameter or something else on a given band, those information will be saved into the internal Arduino EEPROM.
This way, when you turn the receiver on again, that setup will be restored to that given band.
To reset the EEPROM content, folow the steps below:

5.1. Turn the receiver off;
5.2. Press and keep pressing the encoder push button;
5.3. Turn the receiver on and wait for the message "EEPROM RESETED".

ATTENTION: To save EEPROM write cycles, any receiver parameter change will only be saved after 10 seconds of inactivity;

Only modified parameters will be saved;
If no parameter is modified, no writing will be made to the EEPROM;
It you turn the receiver off before 10 seconds after any modification, the current data will not be saved;
You need to wait for 10 seconds after any modification to save the current receiver setup.




ATTENTION: Try press and release the push button fastly. I mean, do not keep the button pressed for a long time.
If you do that, you might alternate the command status (enable and disable) randomly.

Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# User Manual

## Commands

#### BAND SELECTION

1. Select the band by pressing the encoder push button once and then rotate the encoder clockwise or counterclockwise.
2. When the desired band is shown on the display, press the button once again or wait for about 2 seconds for the screen to revert to VF0.

#### STEP, MODE, AGC/Attenuation, bandwidth, Soft Mute and VOLUME

1. Double press the encoder button (Press the button twice within 1/2 second).
2. The display will then show you the Menu text. Rotate the encoder clockwise or counterclockwise to select the desired option (STEP, MODE, AGC/Attenuation, bandwidth, VOLUME, etc).
3. Select the desired option by pressing the encoder push button again.
4. Rotate the encoder clockwise or counterclockwise to select the parameter.
5. Finally, you can press the button once again or wait for about 2 seconds, the controls will then revert to VF0.

#### VFO/BFO Switch

1. Double press the encoder button (Press the button twice within 1/2 second).
2. Rotate the encoder clockwise or counterclockwise and go to the BFO option.
- Note: This option is shown only available in SSB mode.
3. Press the encoder push button again.
4. Rotate the encoder clockwise or counterclockwise to increment or decrement the BFO (select the offset).
5. If you press the button again or stop rotating the encoder for about 2 seconds, the control will revert back to VFO.

#### SEEK

1. Select the menu by double pressing the encoder push button.
2. Rotate the encoder clockwise or counterclockwise to select "Seek Up" or "Seek Down".
3. Press the encoder push button once on "Seek Up" or "Seek Down".

### ATTENTION:

Try to quickly press and release the push button. If you hold down the button for too long, the board may randomly detect extra button presses.

This file was deleted.

Loading