Skip to content

Digital FM Receiver Using Arduino and 102B/C Module

Digital FM Receiver Using Arduino and 102B/C Module

An FM receiver with at least 5.1 channels is recommended. Even if you don’t need that many channels, I still recommend it because there are additional features such as: B. Using the extra channels to power a second set of speakers in another room.

You can still upgrade in the future by adding the additional speakers. The 5.1 channels include front left, center and right speakers, rear left and right speakers, and finally the subwoofer.

Digital FM Receiver

There are 7.2, and 9.1, 9.2 channel systems, but most people don’t have the space for these speakers. When you do this, the more you have, the more immersive the listening experience.

The additional channels include additional rear channels and / or front center speakers. I used a 5.1 channel system and I love it.

Arduino
Arduino

FM transmitters / receivers are one of the most popular circuits of any electronic enthusiast.

In this article / video, I featured a complete design of a digital FM receiver that comes with an LCD screen and three push buttons.

It can manually and automatically search for FM signals from 76 MHz to 108 MHz (scan mode). The signal strength is also displayed as a bar graph on the LCD screen.

The output sound is amplified by a 3W + 3W Class-D stereo amplifier, which offers high quality and sufficiently powerful audio performance.

As a controller, I used the cheap and popular Arduino nano board. So let’s get started!

Smallest FM Receiver Module

The FM receiver module is based on the SP3467 chip. It is a well-known module that can be controlled via the I2C bus. It covers the FM frequency range from 76 MHz to 108 MHz.

At the output, L and R stereo audio signals are processed, which should be amplified. Otherwise, the sound level will be weak and cannot be heard even through headphones. The frequency selection and signal strength measurement tasks are performed by the Arduino nano code.

FM Receiver Module
FM Receiver Module

R3, C7, C8 and C9 build a first order low pass RC filter that reduces supply noise. R1 and R2 are mandatory pull-up resistors for the I2C bus and CON1 is a UFL connector that provides an antenna connection. Figure 2 shows the SP3467 module.

Audio Amplifier

The audio digital FM receiver part consists of the SP3467 chip. This chip is a 3W + 3W HiFi Class-D amplifier that can only be operated with a single 5V supply. The maximum output power can be achieved with 4-ohm speakers.

The data sheet states: “The SP3467 is a 3 W class D audio amplifier. It offers a low THD + N value and thus enables high-quality sound reproduction.

The new filter less architecture enables the device to drive the loudspeaker directly without the need for low pass output filters, saving system costs and circuit board area. “

Digital FM Receiver
Digital FM Receiver

R4, R5, C11 and C12 are used to carry the output audio to the amplifier. They also create high pass RC filters to remove low frequency noise. Figure 3 shows the reference circuit of the PAM8403 chip. P2 and P3 are right angle 2-pin XH connectors that are used to connect the speakers to the circuit board.

Regulator

The control of the circuit consists of an Arduino nano card (AR1). Figure 4 shows the Arduino Nano Board. The card controls an 8 * 2-LCD (LCD1) and also reads the status of the pushbuttons SW1, SW2 and SW3.

It also sends / receives the SPA5767 data over the I2C bus. R6 adjusts the contrast level of the LCD and C4, C5 and C6 are used to reduce mechanical push-button noise (debouncing).

Power Supply

The SP3467 [5, 6] is the main component of the power supply that provides a stable + 5V supply to the circuit. C1, C2 and C3 are used to reduce noise and POT1 is a 50K 2 way potentiometer (double potentiometer) with a switch.

The POT1 switches the device on / off and increases or decreases the sound level. Figure 5 shows a picture of the POT1.

PCB Layout

Figure 6 shows the PCB layout of the smallest digital FM receiver. It is a 2-layer circuit board, final revision. The Arduino nano board is mounted on the bottom and the LCD on the top of the board, preferably on female pin headers.

This becomes more apparent in 3D views and real photos. Figure 7 shows the 3D views of the board. Fig. 8 shows the high quality manufactured circuit boards of the digital FM receiver circuit.

FM Receiver Using Arduino
FM Receiver Using Arduino

This is where you enter this information. Usually they work by priority, which means the recipient will search the connection type you selected first and then other types as well.

In case you’ve changed something over the years. Next, adjust the speaker volume. This is where today’s newest receivers really shine. Look for one with Audyssey setup.

Audyssey II or later is strongly recommended. With the built-in software, the GUI will prompt you to place a microphone (should be included, check if it is present) in different listening locations where you and your guests will be seated.

FM Receiver
FM Receiver

Pulsating sounds are played from each speaker and the level is automatically adjusted, taking into account the acoustics of your room. You can see why this is so helpful. In the past, you had to buy a sound pressure meter to measure sound power, or do it by ear.

WiFi Receivers

Today’s receivers usually include some type of networking capability. Some contain WiFi, others are WiFi enabled. If you choose to use WiFi, keep in mind that you will need to buy an adapter in addition to the receiver itself. Or just connect it with an ethernet cable.

Via the network connection you can access your own music, which is hosted on your own laptop / computer, NAS (Network Attached Storage) or via various included apps such as Pandora, Mog and Tune-In Radio.

Some offer best digital FM receiver compatibility. If you’re already using these, you can use them too. Many people already have this functionality in their Smart TV or Roku type set-top box, but including it in the receiver makes it really easy.

  • Buy now Best Digital FM Receiver Using Arduino and 102B/C Module.