All Projects → mathertel → Radio

mathertel / Radio

Licence: other
An Arduino library to control FM radio chips like SI4703, SI4705, RDA5807M, TEA5767.

Projects that are alternatives of or similar to Radio

Espmqttclient
Wifi and MQTT handling for ESP8266 and ESP32
Stars: ✭ 169 (-12.44%)
Mutual labels:  arduino, arduino-library
Easybutton
Arduino library for debouncing momentary contact switches, detect press, release, long press and sequences with event definitions and callbacks.
Stars: ✭ 187 (-3.11%)
Mutual labels:  arduino, arduino-library
Socket.io Client
A socket.io-client implementation for ESP8266 and Arduino
Stars: ✭ 170 (-11.92%)
Mutual labels:  arduino, arduino-library
Dmxserial
An Arduino library for sending and receiving DMX packets.
Stars: ✭ 190 (-1.55%)
Mutual labels:  arduino, arduino-library
Acebutton
An adjustable, compact, event-driven button library for Arduino that debounces and dispatches events to a user-defined event handler.
Stars: ✭ 180 (-6.74%)
Mutual labels:  arduino, arduino-library
Pzem004t
Arduino communication library for Peacefair PZEM-004T Energy monitor
Stars: ✭ 165 (-14.51%)
Mutual labels:  arduino, arduino-library
Corsairlightingprotocol
Control LEDs connected to an Arduino with iCUE, create an unofficial Corsair iCUE compatible Arduino LED controller.
Stars: ✭ 182 (-5.7%)
Mutual labels:  arduino, arduino-library
Arduino Fsm
Arduino library for implementing a finite state machine.
Stars: ✭ 142 (-26.42%)
Mutual labels:  arduino, arduino-library
Arduino Applemidi Library
Send and receive MIDI messages over Ethernet (rtpMIDI or AppleMIDI)
Stars: ✭ 177 (-8.29%)
Mutual labels:  arduino, arduino-library
Packetserial
An Arduino Library that facilitates packet-based serial communication using COBS or SLIP encoding.
Stars: ✭ 177 (-8.29%)
Mutual labels:  arduino, arduino-library
Duetimer
⏳ Timer Library fully implemented for Arduino DUE
Stars: ✭ 184 (-4.66%)
Mutual labels:  arduino, arduino-library
Md max72xx
LED Matrix Library
Stars: ✭ 186 (-3.63%)
Mutual labels:  arduino, arduino-library
Arduino Menusystem
Arduino library for implementing a menu system
Stars: ✭ 161 (-16.58%)
Mutual labels:  arduino, arduino-library
Si4735
SI4735 Library for Arduino
Stars: ✭ 182 (-5.7%)
Mutual labels:  arduino, radio
Arduino Device Lib
Arduino Library for TTN Devices
Stars: ✭ 155 (-19.69%)
Mutual labels:  arduino, arduino-library
Bh1750
An Arduino library for the digital light sensor breakout boards containing the BH1750FVI IC
Stars: ✭ 173 (-10.36%)
Mutual labels:  arduino, arduino-library
Liquidmenu
Menu creation Arduino library for LCDs, wraps LiquidCrystal.
Stars: ✭ 141 (-26.94%)
Mutual labels:  arduino, arduino-library
Si5351arduino
Library for the Si5351 clock generator IC in the Arduino environment
Stars: ✭ 141 (-26.94%)
Mutual labels:  arduino, arduino-library
M5stack Sd Updater
💾 Customizable menu system for M5Stack and ESP32-Chimera-Core - loads apps from the Micro SD card. Easily add you own apps
Stars: ✭ 175 (-9.33%)
Mutual labels:  arduino, arduino-library
Esp32 Ble Mouse
Bluetooth LE Mouse library for the ESP32 (Arduino IDE compatible)
Stars: ✭ 180 (-6.74%)
Mutual labels:  arduino, arduino-library

Overview

This library is about controlling an FM radio chips by using an Arduino board and some optional components like a LCD display, a rotary encoder, a LCD+Keyboard shield or an Ethernet Shield to build a standalone radio.

In the mathertel/Radio repository on github.com you find an Arduino library for implementing an FM receiver using one of the supported radio chips for receiving FM broadcast audio signals.

There are various examples included that show using the library using different hardware setups.

The library is working for many boards like Arduino, Arduino Mega, ESP8266 and maybe more.

See also the Changelog.

Documentation

The API documentation for the libraries in DOXYGEN style can be found at http://mathertel.github.io/Radio/html.

A more detailed article is available at www.mathertel.de/Arduino/RadioLibrary.aspx.

Currently the following radio receiver chips are supported:

  • The RDA5807M from RDA Microelectronics
  • The SI4703 from Silicon Labs
  • The SI4705, SI4721 and SI4730 chips from Silicon Labs
  • The TEA5767 from NXP

They all are capable for receiving FM radio stations in stereo with European and US settings and can be controlled by using the I2C bus. However there are differences in the sensitivity and quality and well on receiving RDS information from the stations.

For each of these chips a specific library is implemented that knows how to communicate with the chip using the I2C bus and the wire library. These libraries all share a common base, the radio library so that all the common code is only implemented once in there:

All the libraries share the same interface (defined by the radio library) so it is possible to exchange them when not using one of the chip specific functions.

Currently the following radio transmitter chips are supported:

  • The SI4721 from Silicon Labs

Contributions

Contributions to the library like features, fixes and support of other chips and boards are welcome using Pull Requests.

Please don't ask general programming questions in this project. Radio chip specific questions may be answered by the community (or not) and are closed after some months of inactivity.

Examples

Within the Arduino library you can find examples that implement different scenarios to control various radio chips.

The basic examples only startup the chips and set a static station and volume:LCDKeypadRadio

  • TestRDA5807M to test the RDA5807M chip.
  • TestSI4703 to test the SI4703 chip.
  • TestSI47xx to test the SI4705, SI4721 and SI4730 chips.
  • TestTEA5767 to test the TEA5767 chip.
  • TransmitSI4721 to test transmission mode of SI4721 chip.

The examples can be used with several chips:

  • The SerialRadio example needs only an arduino and uses the Serial in- and output to change the settings and report information.
  • The ScanRadio is similar to the SerialRadio example but includes some experimental scanning approaches.
  • The LCDRadio example is similar to SerialRadio but also populates some information to an attached LCD.
  • The LCDKeypadRadio example uses the popular LCDKeypad shield.
  • The WebRadio example is the most advanced radio that runs on an Arduino Mega with an Ethernet Shield and an rotator encoder. You can also control the radio by using a web site that is available on the Arduino.

The only sending example for the SI4721 chip can be found in TransmitSI4721.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].