Dear friends welcome to another Arduino project video! In this video, we are going to build an improved version of the Arduino FM radio project. There is a lot to cover so let’s get started!

Intro to the Arduino FM Radio Project

 

A few months back I built my first FM radio project on a breadboard using the TEA5767 FM radio module. The project works great, but it has some issues. You can watch that project video by clicking here.

As you can see I have built a new, improved version of the FM radio project, which resolves the issues we had in the previous version of the project. The sound quality the project now offers is much better, and it has some new features as well. But first, let’s hear it play a YouTube safe song I am broadcasting using this small FM transmitter…….

The sound quality is very good in my opinion if we take into consideration that we are using a very inexpensive speaker and amplifier. I replaced the LM386 amplifier module with the PAM8403, and I noticed a huge improvement in the sound quality. The amplifier module offers an embedded potentiometer to control the sound output, so we need one part less. I also replaced the potentiometer I was using to change the frequency of the Radio receiver with a rotary encoder. This way, the frequency the radio receiver is set is stable, and we also gain a button. I am using the rotary encoder button to turn the backlight of the display on or off.

Another feature I added is that if we leave the Radio Receiver at the same frequency for more than 5 minutes, it will automatically save that frequency to the Arduino EEPROM memory. So, the next time we power up the project, the radio will automatically tune in to the frequency we were listening before. Cool isn’t it?

In addition to that, I changed the way the information is displayed on the Nokia 5110 LCD. I have loaded a custom Art Deco style font to display the frequency, and I removed some information from it because I wanted it to look clean. I will publish video soon to show you how to load any font you like to the Nokia 5110 display; it is so cool! Now let’s see the parts needed in order to build this project.

——————–
WHERE TO BUY
——————–

Arduino Nano: https://educ8s.tv/part/ArduinoNano

Nokia 5110 LCD: https://educ8s.tv/part/NOKIA5110

FM Radio Module: https://educ8s.tv/part/FMRadioModule

Speaker: https://educ8s.tv/part/3WSpeaker

Rotary Encoder: https://educ8s.tv/part/RotaryEncoder

Amplifier Module: https://educ8s.tv/part/PAM8403

Wires: https://educ8s.tv/part/Wires

Breadboard: https://educ8s.tv/part/LargeBreadboard

FM Transmitter: http://bit.ly/FMTransmitterSmall

Powerbank: https://educ8s.tv/part/Powerbank

Full disclosure: All of the links above are affiliate links. I get a small percentage of each sale they generate. Thank you for your support!

[adsense]

Now, all we have to do is to connect all the parts together according to this schematic diagram.

The amplifier module has two audio inputs and two audio outputs. We connect the sound output of the FM radio module to the amplifier module and the output of the amplifier module to the speakers. In this project, I am using only one speaker, so I am going to connect only the right channel of the sound output of the radio module to the right input of the amplifier module. Lastly, the right channel output of the amplifier module is connected to the speaker. Of course, don’t forget to connect the amplifier module to power via these pins here.

Now that we have connected all the parts let’s power up the project to see how it works. As you can see, the project welcomes us with a splash screen for three seconds and then reads from the EEPROM memory the saved frequency we were using before. The project works fine, the frequency knob changes the frequency, this potentiometer increases or decreases the volume of the sound and if we press the button of the rotary encoder, we can enable or disable the backlight of the display.

Let’s now go to the computer to take a quick look at the software side of the project.As you can see we are using a lot of libraries in this project. As always you can find links to all the required libraries in the below.

——————–
LIBRARIES
——————–

? TEA5767 Library: https://github.com/mroger/TEA5767
? GFX Library: https://github.com/adafruit/Adafruit-GFX-Library
? Nokia 5110 Library: https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library
? Timer One Library: https://github.com/PaulStoffregen/TimerOne
? ClickEncoder Library: https://github.com/0xPIT/encoder

The code is more complex than most of the projects we have built so far so I won’t try to explain it in a short video. I tried to make it a simple as possible with easy to read and to understand functions. The basic idea is this: If the rotary encoder shaft has changed position and has stayed in the same position for more than 1 second we need to set that frequency to the FM Radio module. The FM radio module needs around 1 second to tune in to the new frequency so we can’t change the frequency on each rotary encoder change because this way, the frequency change will be very slow. When the new frequency is set to the module, we count how many seconds have passed since the frequency was set. If the time exceeds the 5-minute mark, we save that frequency to the EEPROM memory. You can find the code of this project in a link in the description below.

Now that the electronics are ready I can complete this project by 3d printing an enclosure for it and moving the electronics to a small prototyping board. I have already designed an Art Deco enclosure for it based on an old Radio. I have already uploaded the files to Thingiverse so that you can start 3D printing it at once if you wish. I am going to 3D print this enclosure using wood filament and publish a new video when everything is ready.

I would love to hear your opinion about this FM Radio project. Do you like the improvements I made to it? Also, do you like the enclosure I designed for it? Please post your comments and ideas in the comments section below. Also make sure to like this video if you guys enjoyed it, give me some thumbs up. I really appreciate the support. I spend a lot of time creating these videos for you guys, to help with your projects. I share everything I know and learn with you. I need any support I can get, it helps me keep going.

——————–
CODE
——————–

 

 

 

——————–

SUBSCRIBE ON YOUTUBE

——————–

Never miss a video: Subscribe to educ8s.tv