Introduction: Si4703 FM Radio Arduino Uno Schield

2 months ago I was made FM radio by TEA5767 chip ( Arduino Uno shield). I was used with TDA2822 sound amplifier chip. Everything it works, but I get information that it is another Si4703 FM board who had RDS. So I don't waste mine time and create another Si4703 FM radio.

Step 1: Parts

To build this Si4703 FM radio you will need :

1) Si4703 board Ebay

2) 2x Rotary encoder Ebay

3) Oled I2C 128x64 Ebay

4) 2x 22k 0805 resistor

5) 2x 1K5 0805 resistor

6) 2x 4R7 0805 resistor

7) 2x 0.1uF 0805 ceramic capacitor

8) 0R 1206 jumper ( resistor)

9) copper board

10) TDA2822 DIP8 amp chip Ebay

11) 3.5mm audio jack socket Ebay

12) 3x 470uF electrolytic capacitor

13) 2x 10uF electrolytic capacitor

14 ) 1x 40pins header pins

Step 2: PCB Board

Design printed circuit board (PCB), I was used ,,Sprint-Layout" software.

Step 3: Arduino Code

Si4703_Radio_rssi_autoseek.ino - auto seek
Si4703_Radio_rssi_manual.ino - manual tuning

I was used libraries:


U8glib.h GitHub

Step 4: Final Result

If you want to add external antenna you will had to cut pcb track between capacitor and ground (see photo).

It show RDS data but signal strength has to be very good. Oled display generator are making noise. So sound quality is not very good. It is made by myself, so I am very happy.


leoo13 (author)2017-05-18

Does not work .!!!!!!
Can I get a response from the author?

leoo13 made it! (author)RimvydasP2017-05-27

Yes, I did.
The screen does not show anything. Only small dots flash.
See photos

arduino-1.6.8 **

The sketch uses 17,840 bytes (55%) of the device's memory. There are 32 256 bytes available.
Global variables use 1 836 bytes (89%) of dynamic memory, leaving 212 bytes for local variables. Maximum: 2,048 bytes.
Insufficient memory, the program may be unstable.


RimvydasP (author)leoo132017-05-27

Yes, I received this message that ,,Insufficient memory, the program may be unstable" But it works everything Ok.

Have you try U8glib example to test Oled display that it is working?

leoo13 made it! (author)RimvydasP2017-05-29

Hello. I use SSD1306 (GM009605.

RimvydasP (author)leoo132017-05-29

Does ,,serial monitor" show something like this? pressing w and s you can change channel. pressing + and - volume. So if everything it is OK you will hear radio.


Serial.println("\n\nSi4703_Breakout Test Sketch");
Serial.println("a Start AF seek");
Serial.println("+ - Volume (max 15)");
Serial.println("u d Auto seek up / down");
Serial.println("w s Manual seek up / down");
Serial.println("r Show RDS Data");
Serial.println("Send me a command letter.");

leoo13 (author)RimvydasP2017-05-30

Headphones are connected. There is a noise in them.
The sound does not change (no more no less) only a smooth noise.
The frequency also does not change.

leoo13 made it! (author)2017-05-10

A good project.
I will repeat your project.
Made a PCB.


fotocommunity - Juni - Juli 2016.jpg
Ambrogio (author)2017-04-04

Good project: I will make it soon.

Could you please post the schematics diagram or the connection diagram ?



RimvydasP (author)Ambrogio2017-04-05

thank you. I draw schematic, but it is without TDA2822 amp

JmanNZ (author)2017-03-31

Awesome well done