Tiny FM Radio

About: Thank you all for following me.

This is a small FM radio based on the Philips TEA5767 stereo FM receiver chip.


  • The audio amplifier is the Texas Instruments (NSC) LM4880
  • Stereo potentiometer is used to control the volume
  • The radio has two control buttons: "Frequency UP" and "Frequency DOWN". Pressing the "Frequency UP' button the radio finds the first available FM radio station and plays it. If a signal is stereo, a LED indicator turns on. For the control of the FM receiver chip, the smallest and cheapest Atmel microcontroller is used (Attiny85).
  • The radio covers the 88MHz-108MHz FM radio range. The frequency scan starts from 88 MHz.
  • The passive devices used are all SMD type
  • The electrolytic capacitors are tantalum. This made it possible to implement the whole radio on a board with size 5 cm x 3.5 cm. The size limiting parts are the mechanical one. I placed all of them on one side of the PCB for easy control of the radio and ease of assembly in a housing.
  • The radio uses the headphone cable as antenna, but if desired additional cable can be soldered

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Why Did You Make It?

I found such modules (TEA5767) in a fabric MP3 player. I played with them using Arduino for control and I was impressed by the sound they deliver. I decided to make standalone radio based on the module. I wanted to make it as small as possible and I have chose to use 8-pin Atmel Attiny85 nicrocontroller in SO8 package. The main challenge was that the Attiny85 does not directly support the I2C protocol used by the TEA5767 module, so I had to rewrite some libraries to make this possible.The board is small and can be used for DIY project having FM radio. The board has an SPI interface and the microcontroller can be re-programmed as you desire. This also makes the product a development board for TEA5767 module.

Step 2: The Design

The circuit of the FM radio is presented on the picture. It can be seen that the schematic is very simple. The audio amplifier requires only few additional components.The resistors R4 and R5 can be omitted because the internal pull-up ones are activated. The stereo potentiometer is from ebay. The audio jack also. The electrolytic capacitors are tantalum from "Kemet". The gerber files of the PCB are available for download ("Player.zip").

Step 3: Programming of the Microcontroller

On the PCB I have put 4 contacts, which can be used for programming of the Attiny85 chip (MISO,MOSI,CLK,RESET). As first step I have soldered the Attiny85 chip. After that using a breadboard and 6 cables I have made the setup shown on the second picture. For flashing of the chip I have used USBTinyISP programmer and AVRDUDE. The hex file used is provided for download. The fuse settings are the fabric ones:

LF 62



After programming of the Atmel chip I have soldered all the other devices, starting with those, having the lowest profile. If all devices are soldered properly the radio starts immediately to work. The sound is very clear, the receipt is stable and the listening of the radio is pure pleasure.

The radio is available for purchasing as soldered module or kit at tindie.

DIY Audio and Music Contest

Participated in the
DIY Audio and Music Contest

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    9 Discussions


    1 year ago

    Are you able to change the power source? What are you currently using?

    1 reply

    Reply 1 year ago


    Now a power source from 2.7 to 5 V can be used. If you put some linear voltage regulator from 3.3V or 5V - then the input voltage can be till 35V. With some minimal changes the power supply can be reduced to 2.5V. With more drastic schematic changes the power supply can be reduced to 1.8V. This requires change of the used chips and also in the control approach.


    3 years ago

    Nicely done! Keep it up.

    I have also made this 
    Simle Fm radio with easy to find parts;



    4 years ago

    When it is set to a specific station, does it stay there or do you have to reset it every time it is powered off and on?

    1 reply

    Reply 4 years ago on Introduction

    At powering up it starts at 88MHz each time.It is possible to save the current station frequency all time it changes and after start up to restore it I did not do it. This was requiring the use of the EEPROM libraries, what would make the code bigger.

    It is possible instead to start with 88MHz to set another frequency of the preferred radio station, which will be played at power up.


    4 years ago on Introduction

    Hi, you can use for example : http://sourceforge.net/projects/gerbv/


    4 years ago on Introduction

    Nice project, BUT, How do I see the files on the eagle has not .brd file?


    4 years ago

    Is there a way to add a small lcd screen? I would think you could use a calculator screen with arduino to control it. It would only display the 88.7 or 107.9 part but that is better then nothing. Plus you could add preset tack buttons as well with arduino.

    1 reply

    Reply 4 years ago

    playing wit the TEA5767 module and Arduino I connected 16x2 LCD display, which was showing the frequency, the signal strength , is the signal stereo or mono. But the LCD screens 16x2 are not very small. Connecting calculator LCD would be more difficult, because the LCD controller is embedded inside the calculator chip. It is possible to connect a HP LED indicator (http://www.ebay.com/itm/7-Seven-Segment-Four-Digit-Bubble-Display-HP-QDSP-6064-Arduino-Compatible-/281602779496?pt=LH_DefaultDomain_0&hash=item4190d56968), but to control it you will need other chip than Attiny85, and the design would became bigger.