SkillAgentSearch skills...

RDA5807

Arduino Library for SINGLE-CHIP BROADCAST FM RADIO TUNER RDA5807

Install / Use

/learn @pu2clr/RDA5807

README

RDA5807 Arduino Library

It is a cross-platform Arduino library for the RDA5807 and RDA7088 family of devices from RDA Microelectronics. This library is compatible with official Arduino boards, ATtiny, STM32, ESP32, and more. Utilizing the I2C protocol, it provides an easier interface for controlling the RDA5807 device. The library was developed based on the 'RDA5807MS - SINGLE-CHIP BROADCAST FM RADIO TUNER - Rev.1.1–Aug.2015' and the 'RDA5807FP - SINGLE-CHIP BROADCAST FM RADIO TUNER' documentation from RDA Microelectronics. Please refer to the table of contents below to make the best use of this documentation.

This library can be freely distributed using the MIT Free Software model. It means you can copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software. See MIT License for more details.

Copyright (c) 2019 Ricardo Lima Caratti.

Contact: pu2clr@gmail.com.

Donate

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.

About Me

I hold a Master's degree in Educational Technology from the Federal University of Ceará, where I delved into the ways technology can enhance learning experiences. My passion for computer science led me to specialize in it, focusing on Distributed Systems Development with an Object-Oriented approach, at the University of Brasília. My academic journey began with a Bachelor's degree in Information Systems from the União Pioneira de Integração Social (UPIS-Brasília). Outside the classroom, my main hobbies are electronics and Amateur Radio.

Contents

  1. Preface
  2. RDA5807 family devices and RDA5807 Arduino Library
  3. Library Installation
  4. Minimal receiver implementation with this library
  5. Examples summary
  6. Boards where this library has been tested
  7. RDA5807M breakout
  8. RDA5807FP and RDA7088 standalone IC
  9. API Documentation
  10. MIT License
  11. Basic Schematic
  12. All Schematics, photos and videos
  13. Storing data into the EEPROM
  14. Extending RDA5807 class
  15. LilyGO/T-Embed and RDA5807 setup
  16. Source code - Arduino Sketches
  17. Videos about this library

Attention

  • The RDA5807 device can work safaty from 2.7 to 3.3V. Be aware that some Arduino board oparates with 5V instead of 3.3V (for example: Arduino Uno and Arduino Nano). A wrong setup can make the system unstable or damage the RDA5807 device. Preferably use an Arduino or other boards like ESP32 and ESP8266 that work with 3.3V voltage. If you are not using a 3.3V version of board, you must use a kind of 5V to 3.3V converter to feed the RDA5807 device and to send signal to SCLK and SDIO/SDA pins. In my experiments, I used an Arduino Nano (5V) and fed the RDA5807 with 3.3V (from the Nano. See the Pin 3.3V of the Arduino). It has worked. However, this is at your own risk.

Preface

The RDA5807 is an FM DSP integrated circuit receiver that operates in the 50 to 115MHz range and includes support for a low-noise amplifier. This device requires fewer external components compared to other similar products and offers features such as RDS/RBDS functionalities, direct auto gain control (AGC), and real-time adaptive noise cancellation. The PU2CLR RDA5807 Arduino Library was developed to maximize the functionalities of this device. The primary motivations for developing this library were to understand the operational aspects of this receiver and to share this knowledge. Currently, the library has over 80 functions implemented. I hope this work will prove useful to electronics experimenters and hobbyists.

This documentation reflects the author's understanding of the IC RDA5807 family's operation. With that said, there may be inaccuracies or incorrect information. If you find any errors, please bring them to my attention.

Please, check the API Documentation for more details.

Your support is important.

If you want to support this library development, consider joining this project via Github. Alternatively, make suggestions on new features and report errors if you find them. Thank you!

There is a Facebook group called DSP receivers for hobbyists where the purpose is exchanging experiences with projects based on RDA5807 IC devices.

RDA5807 family devices and RDA5807 Arduino Library

This library has been successfully tested on RDA5807M and RDA5807FP devices. The videos below show some examples of using this library with RDA5807M and RDA5807FP.

{% include video01.html %}

{% include video03.html %}

{% include video02.html %}

RDA5807 main features implemented by this library

  1. 76–108 MHz
  2. Seek tuning
  3. Automatic frequency control (AFC)
  4. Automatic gain control (AGC)
  5. Programmable de-emphasis (50/75 μs)
  6. Adaptive noise suppression
  7. Volume control
  8. Bass
  9. Mute control
  10. Mono/Stereo control
  11. RDS/RBDS Processor
  12. I2S Digital Audio (RDA5807FP)
  13. LNA (Low Noise Amplifiers)
  14. Softmute
  15. Stereo / Mono
  16. Step
<BR>

Library Installation

The easiest method to install this library is via your Arduino IDE. All you have to do is:

  1. Select Tools menu;
  2. Select Manage Libraries option;
  3. In the text box (top windows), type PU2CLR or RDA5807;
  4. Select the PU2CLR RDA5807.

The images below show how you can install this library via your Arduino IDE from Manage Libraries tool.

<BR>

Arduino IDE - Manage Libraries menu option

<BR>

Arduino IDE - Looking for the library RDA5807

Installing via the repository

With this approach, you will have the most current version of the library. However, it may not be the most stable version. This is because the current version is always in development. Prefer releases. Do you need some old version (release) of this library? If yes, check here.

First, you have to download this library in zip format.
After, unzip the RDA5807-master.zip file in your Arduino Library folder.

  • On Windows: "My Documents\Arduino\libraries"
  • On MAC OS: ˜/Documents/Arduino/libraries
  • On Linux: ˜/home/Arduino/libraries

Installing the most current version via arduino-cli

The commands below Install the latest version of the PU2CLR RDA5807 Arduino Library from github. As said before, unlike a release (installed from Arduino IDE) this method installs the current version of the PU2CLR RDA5807 Arduino Library (latest modifications even if not yet released).

On macOS or Linux

curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh
export ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true
./bin/arduino-cli lib install --git-url https://github.com/p

Related Skills

View on GitHub
GitHub Stars149
CategoryDevelopment
Updated1mo ago
Forks28

Languages

HTML

Security Score

100/100

Audited on Feb 20, 2026

No findings