Introduction: Si4703 FM Radio Arduino Uno Schield

Picture of 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

Picture of 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

Picture of PCB Board

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

Step 3: Arduino Code

Si4703_Radio_rssi_manual.ino - manual tuning

I was used libraries:

Si4703_Breakout.h link

U8glib.h GitHub

Step 4: 3D Printed Case for FM Radio

Picture of 3D Printed Case for FM Radio

Step 5: Final Result

Picture of 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.


sigifredo (author)2017-10-10


wich of the 2 chips gives u better performance or audio quality???

RimvydasP (author)sigifredo2017-10-11

Si4703 FM you can listen radio with headphones without amplifier. If you are using TEA5767 you will need amplifier because sound level output is weak. Audio quality it is the same.

sigifredo (author)RimvydasP2017-10-11

thanks for the response, I purchase both of them with other accessories to make my own one on a real exotic hard wood CNC case, the wood is easy to find here in Costa Rica...
What about a reception comparison?

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.


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

About This Instructable




More by RimvydasP:Build Your Own Foosball TableArduino Uno Wireless Weather Station   ( Extender  Board for  RAMPS 1.4
Add instructable to: