Home Elements Boards Recipes

SI4703 FM Radio Tuner

The SI4703 created by Silicon Labs and now owned by SkyWorks is a radio chip for receiving FM stereo radio signals and RDS information.

The SI4703 supports the following features

The SI4703 radio chip is one of the radio chips supported by the Radio Library.

SI4703 Modules

There are multiple variants if modules with a si4703 radio chip available. Here 2 versions I got. They both have a SI4703 but with different Firmware versions. The first 4 numbers on th chip will tell you:

Both work.

2 different si4703 modules

Starting with a SI4703 module

The TestSI4703 example is a good starting sketch for your setup before adding maybe more peripherals. It shows that the radio chip can tune a fixed Frequency.

A SI4703 module has to be connected by using the following connections:

Signal Arduino UNO ESP8266 ESP32 Radio chip signal
VCC (red) 3.3V 3v3 3v3 VCC
GND (black) GND GND GND GND
SCL (yellow) A5 / SCL D1 22 SCLK
SDA (blue) A4 / SDA D2 21 SDIO
Reset D2 D5 RST

The Reset signal is somehow special for this chip and must be connected as it is used together with the SDA line in the startup phase to tell the chip to use the I2C protocol.

These two signals also mut be configured to the radio class before calling the initWire function and the Wire interface must not be used before.

// SI4703 special pins.
radio.setup(RADIO_RESETPIN, RESET_PIN);
radio.setup(RADIO_MODEPIN, MODE_PIN);

Change the Station in the sketch to a frequency with a signal that is strong on your place and upload.

Using SI4703 Modules with other Examples

In the other examples you may have to activate the line that uses a SI4703 Class for the global radio variable.

Also make sure that the SI4703 special pins RESET and SDA are configured.

Register Overview

Alt text

See also

Tags

Audio