Project tutorial
Simple FM Radio

Simple FM Radio © GPL3+

Simple FM radio based on RDA5807M module and Arduino Pro Mini 3.3V.

  • 46 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)

Apps and online services

About this project

Brief description

This project is about building a simple FM radio controlled by Arduino. Surfing the Internet, I have faced a great FM radio module, RDA5807 that supports RDS signal receiving. I have thought it is very god idea to play with this module and build my own FM radio that can have custom features. Furthermore, the radio can be powered by Li-ion rechargeable battery and equipped with a interesting USB charger.

The Nokia 5110 display, I believe, is a good choice for the radio because it is well-readable, easy to use, customizable and has low-power requirements that help increase the battery life.

The key features of this project are:

  • The Li-ion battery 18650 with USB charger is used to power the radio.
  • Graphical Nokia 5110 display is used that allow to create friendly user interface (not in the case).
  • The list of 4 previous stations is implemented to simplify navigation between the stations.
  • RDS information (station name) is displayed in the bottom of the screen.
  • The screen backlight is automatically adjusted.

The RDA5807 is a self-sufficient radio module. It implements 3.3V power source. To make the project simpler, the Arduino pro mini 3.3V controller is used to control the radio module. Internal voltage regulator guarantees the correct voltage on the radio module and the screen. To make the volume acceptable, the simple audio amplifier is implemented. The Li-ion battery powers the amplifier directly, without any regulator.

The U8GLIB graphic library is used to display the information on the Nokia screen. This library is fast, reliable, expandable and very convenient for many black and white displays. I have added some new Cyrillic font to the library, so please select the font you have in the sketch.

How to control the radio

Radio is controlled by rotary encoder. There are two modes the tuner can run: automatic mode and manual mode. By default, automatic mode is used. In this mode the radio module seeks the stations up or down when you rotate the encoder forward or backward. The station changes to the next one with the good signal level. You can set frequency by switching to the manual mode. Just press the encoder once to switch between the modes.

The last 4 stations list is saved in the EEPROM of Arduino each time you change the station. To save the life of the EEPROM, save procedure invokes in a minute after the station have been changed. So you can freely search the favorite station without saving anything in the EEPROM.

To list the last 4 stations, press the encoder for long time (about 2 seconds). Then you can rotate the encoder to select the station from the list. To switch to the station, press the encoder.

radio operations


The RDA5807 radio module is the great FM radio receiver that has very convenient libraries and implements interesting features. You need a long enough antenna in the case of long distance from the radio station. The sound quality is acceptable. You can use better audio amplifier, but the more powerful amplifier can short the battery life.


The fm radio source code
There are two versions in the repository: full and lite (without backlight control and the station history). The full version have been tested on hardware, the lite version have been built from the source code, no testing performed.


radio schematics
Fm radio sch


Similar projects you might like

DIY Retro Look FM Radio with Linear Scale

Project tutorial by Mirko Pavleski

  • 14 respects

DIY Retro Look FM Radio with TEA5767 Module

Project tutorial by Mirko Pavleski

  • 72 respects

FM Radio

Project tutorial by Patrick Müller

  • 117 respects

Art Deco FM Radio Project Using Arduino

Project tutorial by Nick Koumaris

  • 27 respects

Home Plant Watering System

Project tutorial by Alexander

  • 76 respects

FM Radio Using Arduino and RDA8057M

Project tutorial by Neeraj Rane

  • 41 respects
Add projectSign up / Login