https://github.com/mgoblin/rda5807_receiver
FM Radio receiver
https://github.com/mgoblin/rda5807_receiver
arduino radio rda5807
Last synced: 2 months ago
JSON representation
FM Radio receiver
- Host: GitHub
- URL: https://github.com/mgoblin/rda5807_receiver
- Owner: mgoblin
- Created: 2024-08-23T17:22:06.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-08-24T10:47:16.000Z (10 months ago)
- Last Synced: 2025-04-07T23:16:48.654Z (2 months ago)
- Topics: arduino, radio, rda5807
- Language: C++
- Homepage:
- Size: 1.48 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FM Radio on RDA5807 chip
This project is a FM Radio receiver based on RDA5807 chip (RRD 102v2), Arduino Nano and OLED display.
# Receiver features
- Receive FM Radio band 87..108MHz
- Find next and previous FM station on buttons pressed
- Headphones or speaker output
- Display current FM frequency
- Save selected FM station frequency to EEPROM
- Show splash screen on start# Hardware
## Hardware parts list|# | Part name | Amount
|--|-------------------------------|-------|
|1.|Arduino Nano | 1 |
|2.|RRD-102v2 FM chip | 1 |
|3.|Pushbutton | 2 |
|4.|Pullup resistor 10 kOhm | 2 |
|5.|GF1002 class-D audio amplifier | 1 |
|6.|0.96in 128x64 OLED display | 1 |
|7.|3.5mm audio jack male | 1 |
----## Hardware design
RRD102v2 is the component required for receiving FM radio. RRD102v2 based on RDA5807 chip. Its have VCC voltage is 3.3V, direct output left and right sound channels on headphones and supports I2C control interface.
When input voltage started Arduino Nano intialize RDA5807 FM chip and set receive frequency value from EEPROM. Default FM frequency is 104.7MHz and can be changed via firmware source code. OLED display shows current receive frequency.
On FREQ_UP or FREQ_DOWN buttons pushed Arduino Nano send to RRD102v2 command to searching for next/previous FM station. When searching in the direction of increasing the receceive frequency, having reached the upper limit of the FM range, the search procedure continues from the lower limit. Similarly, upon reaching the lower limit.
Long press of FREQ_DOWN button saves current FM frequency to Arduino Nano EEPROM.
Sound volume on headphones output is not regulated yet.
GF1002 is D-class amplifier to output sound to the speaker. Its have left and right channels, but now used only one channel.
# Firmware
# IDE and programming language
Firmware was developed using
 and C++ programming language for Arduino.# List of libraries
All used libraries contrains in platfrom.ini file.|# |Library |Version|Link to source|
|--|-------------|-------|--------------|
|1.|RDA5807 |1.1.9 ||
|2.|OneButton |2.5.0 ||
|3.|GyverOLED |1.6.3 ||
|4.|SplashScreen |1.0.0 ||# Firmware settings
All firmware settings placed in  file. Please fill free to adjust settings before compile firmware.