This folder has some examples that might help you to use the RDA5807 Arduino Library in your receiver project. If you find some error or problem during your implementation, please let me know.
This project is about a library to control the RDA5807 device and the focus of this project is the library and its functionalities. Please, don't ask me to assist you in your: displays, encoders, LED, buttons or something else out the library scope. Thanks.
The examples stored in this folder are made to assist you to build your own sketch. Therefore, it is important to say that there was no care with the layout. This part of the project stays with you.
The RDA5807_01_SERIAL_MONITOR folder shows how you can check your circuit by using just the Arduino IDE Serial Monitor to control the receiver. Check the examples with Atmega328 and ESP32. In the sketch you will find the wireup with Atmega328 or ESP32 and RDA5807 device.
The following table shows the main examples implemented in this library. These examples can guide you to build your own receiver.
Sketch Name | Description |
---|---|
RDA5807_00_CIRCUIT_TEST | Useful to check the circuit and many functions implemented in this library |
RDA5807_00_MINIMAL_RECEIVER | It is a minimal receicer with two push buttons (ATmega328 - Uno, Nano etc) |
RDA5807_01_SERIAL_MONITOR/ RDA5807_01_ALL_TEST_SERIAL_MONITOR |
More about Tune, Volume, Seek and RDS features |
RDA5807_01_SERIAL_MONITOR/ RDA5807_01_RDS_TEST_SERIAL_MONITOR |
Test RDS functions using Serial Monitor |
RDA5807_01_SERIAL_MONITOR/ RDA5807_02_ESP32 |
Test and validation of RDA5807 on ESP32 board |
RDA5807_01_SERIAL_MONITOR/ RDA5807_03_STM32 |
Test and validation of RDA5807 on STM32 board |
RDA5807_02_TFT_display | This sketch uses an Arduino Pro Mini, 3.3V (8MZ) with a SPI TFT ST7735 1.8 |
RDA5807_03_ATTINY_84_85 | Test and validation of RDA5807 on ATtiny84 device |
RDA5807_04_NOKIA5110 | This sketch uses an Arduino Nano with NOKIA 5110 display |
RDA5807_05_LCD16X02 | This sketch uses an Arduino Nano with LCD16X02 DISPLAY |
RDA5807_05_LCD16X02_ESP32 | This sketch uses an ESP32 with LCD16X02 DISPLAY |
RDA5807_05_LCD16X02_ESP32_I2S | I2S setup - This sketch uses an ESP32 with LCD16X02 DISPLAY and MAX98357A I2S setup |
RDA5807_06_UNO_TM1638 | This sketch drives the RDA5807 FM receiver and TM1638 (seven-segment display control) |
Arduino Nano and OLED with Tiny4kOLED library | Nano and OLED implementation V1 |
Arduino Nano and OLED (Adafruit_GFX and Adafruit_SSD1306) | This sketch works on Atmega328 and LGT8FX based board. It is a I2C OLED setup |
LilyGO/T-Embed and RDA5807 setup | This sketch was an adaptation of the Volos's sketch and uses PU2CLR RDA5807 Arduino Library with LilyGO T-Embed. |
If you find this project useful, consider making a donation so that the author of this library can purchase components and modules for improvements and testing of this library. Click here to donate.
The following code illustrates a minimalist implementation of a receiver based on RDA5807 and this library. For this receiver, the user has two pushbuttons to tune station (Seek Up and Seek Down).
#include <RDA5807.h> // It is a minimal receicer with two push buttons (ATmega328 - Uno, Nano etc)
RDA5807 rx;
void setup() {
pinMode(4, INPUT_PULLUP); // Arduino pin 4 - Seek station down
pinMode(5, INPUT_PULLUP); // Arduino pin 5 - Seek station up
rx.setup(); // Starts the receiver with default parameters
rx.setFrequency(10390); // Tunes in 103.9 MHz - Switch to your local favorite station
}
void loop() {
if (digitalRead(4) == LOW) rx.seek(RDA_SEEK_WRAP,RDA_SEEK_DOWN);
if (digitalRead(5) == LOW) rx.seek(RDA_SEEK_WRAP,RDA_SEEK_UP);
delay(200);
}
{% include video01.html %}
{% include video02.html %}
{% include video03.html %}
{% include video05.html %}
{% include video06.html %}
The photo below show the DAC MAX98357A device
The table below shows the MAX98357A device connected to the RDA5807FP.
RDA5807FP | DAC MAX98357A |
---|---|
GPIO2 | DIN |
GPIO1 | RC |
GPIO3 | BCLK |
The photo below show the CJMCU-1334 module
Wire up on Arduino UNO, RDA5807 and TM1638
Device name | Device Pin / Description | Arduino Pin |
---|---|---|
TM1638 | ||
STB | 4 | |
CLK | 5 | |
DIO | 6 | |
VCC | 3.3V | |
GND | GND | |
RDA5807 | ||
SDIO (pin 18) | A4 | |
SCLK (pin 17) | A5 | |
SEN (pin 16) | GND |
The TM1638 painel controls
TM1638 button | Description |
---|---|
S1 | Increments the frequency (100kHz step) |
S2 | Decrements the frequency (100kHz Down) |
S3 | Seeks the next station available (The direction is defined by the last action of frequency changing) |
S4 | Increments the audio volume |
S5 | Decrements the audio volume |
S6 | Turnn the audio On or Off |
S7 | Sets the Stereo On or Off |
S8 | Toggles Bass on or off) |
{% include video04.html %}
- Receptor de FM SDR con RDA5807 - Spanish
- RDA5807 Fm based radio - Portuguese
- Rádio FM RDA5807 com ESP32, Arduino etc - Portuguese
- RDA5807M - SINGLE-CHIP BROADCAST FMRADIO TUNER
- A small eagle library for popular RDA5807 Radio module
- RDA5807 fm chipset / arduino with a Nextion screen F5SWB@2021 / Version 1.18
- Breadboard FM Radio with RDA5807 and WIO Terminal
- RDA5807 Real test demo
- Receptor FM RDA5807 y Arduin. de 50 a 115 Mhz Experimental