Arduino Digital FM Radio (TEA5767)


Introduction: Arduino Digital FM Radio (TEA5767)

Hi! In this project I will show you how to easily use TEA5767 module and build your own digital FM Radio!

Stuff that you will need:

  • Arduino uno
  • TEA5767 Radio module
  • Nokia 5110 display (pcb version)
  • 2x Push Button

Optional, if you want to use 'internal' speakers you will need:

  • LM386 Audio Amplifier Module
  • Potentiometer ~4.7K (for volume control)
  • 2x Speakers

(you can use breadboard to build it easier)

LM386 isn't very powerful amplifier module but it's cheat and it can drive small speakers.

I prefer to build my own arduino based circuit by using the ATmega328p uno possessor, but this is optional for you.

Official page:

Step 1: Breadboard Schematic Circuit

Take your time, read lcd pinout notice.

If you want to use 'internal' speakers you must build and the optional part of this schematic.

More info for 'optional' part:

LM386 can be powered up by 5V ~12V (in schematic you can find Vcc 'red' pin with 5V tag) More power means more volume. You can adjust 'noise' from on-board 10K variable resistor.

It has 4 input pins:

  • Vcc You can use 5V output from arduino uno board
  • IN Speaker positive + cable
  • GND Speaker negative - cable
  • GND Ground on arduino uno GND pin

Speaker positive and negative cables must be come from TEA5767 Speaker output jack (SPK on schematic). Left or right? It doesn't mater... if you want, you can merge them to one or use just one of them.

Step 2: Libraries and Code

Before open code file "digital_fm_radio.ino" install the necessary libraries to arduino ide libraries folder.

Just open the file and extract / copy all files to libraries folder.

If you have windows os and you don't know where this folder is, watch this video on YouTube:

Code isn't mine, I found it here: so I want to thank developer for sharing.

I added some comments

Step 3: Building the 'box' - Tips

This is an optional procedure!

I have an idea to make my radio like a car because my 'internal' speakers have shape of car wheels. So I took a balsa sheet, cut it and finally make my own desk car radio! Power comes from usb cable :D

See the images above to take an idea, but keep in mind that you can design and build your own box.

Some tips:

  • Make marks of components on balsa sheet
  • Cut carefully - be patient and make sure that you will not cut your self!
  • Paint it with your favorite color marker
  • Put components on it, you can use some glue for this


I used dremmel tool to cut balsa wood. That means that before Ι start cutting, I took safety measures! Cover your eyes and watch out your fingers!!!

Watch video on YouTube: (make sure to click like button ;-) )

2 People Made This Project!


  • Clocks Contest

    Clocks Contest
  • Make it Move Contest

    Make it Move Contest
  • Oil Contest

    Oil Contest

We have a be nice policy.
Please be positive and constructive.




I have 2 tweeters and a sub I would like to connect, should I by different parts to accomodate the additional speaker? Also if I wanted to alternate between mains and battery power, how would I do this?

Great job. works fine

i have AR1010 instead of TEA5767, please help me with the code. The TEA5767 code isn't working with it


Thank you for sharing.

Why do you include an SPI libary in code?



Does anyone make a breakout board like this for HD radio? I know of the SI4777 chip but I need a board I can solder to

Hey Mate i don't have the TEA5767 can I use another chip, TDA7000? Thanks

is it possible to add effect (like noise cancellation, bass boost, ...) on Arduino FM receiver?

I put a upraded version (with digital volume control) on


Is it possible to add RDS to TEA5767? Thanks!

1 reply

TEA5767 no have RDS, try RDA5807M ;) see a library and docs for them:

Is it possible to use another lcd?

Do you think that adding IR control would interfere with the original schematics? (like current consumption or anything else)

I need circuit of fm radio with tea5767 arduino and program for that?

I have built my schematic and the code is uploaded to it. There is power going to my screen, but no information is being sent to it. Could someone help me with this?

Thanks! One note... Having not worked with the screen before, I actually fried two of them before I bothered to look up the specifications and see that you actually have to run them on the 3.3v power, not the 5v! The picture schematic is a little misleading.

1 reply

Hi! Mine lcd module is compatible with 5V (and 3.3V) power source.

Very nice. It works beautifully. Thank you for this. I thought my module was bad. I've been trying to get it to work on my Raspberry Pi for a few days now. Haven't heard anything but static. So I thought let's try on the Arduino and presto it does actually work!!

Awesome project! A video of it in action would be great ;)