. DIY FM Radio using RDA5807M & Arduino NANO ~ SmartElectronicsDIY

DIY FM Radio using RDA5807M & Arduino NANO

 

🔹 Project Overview

This project demonstrates how to build a digital FM radio using the RDA5807M FM receiver module controlled by an Arduino Nano via I2C communication. You can tune FM stations, increase/decrease frequency, and display station info.


🔧 Required Components

ComponentQuantity
Arduino Nano1
RDA5807M FM Radio Module1
Push Buttons (Next / Previous)2
10kΩ Resistors2
OLED Display (0.96" I2C) (optional)1
Breadboard1
Jumper WiresAs needed
Antenna wire (20–30 cm)1
USB Cable1

🔌 Pin Connections

🔹 RDA5807M → Arduino Nano

RDA5807MArduino Nano
VCC3.3V
GNDGND
SDAA4
SCLA5
ANTLong wire (antenna)

⚠️ Important: Use 3.3V only. Do NOT connect to 5V.


🔹 Buttons Connection

ButtonArduino Pin
Next StationD2
Previous StationD3

Use INPUT_PULLUP mode (no external resistor needed).


📡 FM Frequency Range

  • 87.0 MHz – 108.0 MHz

  • Step size: 0.1 MHz


💻 Arduino Code (RDA5807M FM Radio)

#include <Wire.h> #include <RDA5807M.h> RDA5807M radio; float frequency = 98.3; // Start FM frequency void setup() { Wire.begin(); radio.setup(); radio.setVolume(8); // Volume range 0–15 radio.setFrequency(frequency); pinMode(2, INPUT_PULLUP); // Next pinMode(3, INPUT_PULLUP); // Previous } void loop() { if (digitalRead(2) == LOW) { frequency += 0.1; if (frequency > 108.0) frequency = 87.0; radio.setFrequency(frequency); delay(300); } if (digitalRead(3) == LOW) { frequency -= 0.1; if (frequency < 87.0) frequency = 108.0; radio.setFrequency(frequency); delay(300); } }

📚 Required Library

Install RDA5807M Library from Arduino Library Manager:

  • Sketch → Include Library → Manage Libraries

  • Search: RDA5807M


📸 Project Features

✔ Digital FM Tuning
✔ Compact & Low Power
✔ Arduino Controlled
✔ Can add OLED display
✔ Excellent for IoT & Embedded learning

0 comments:

Post a Comment