FM radio using esp-idf
MIT License
FM radio using esp-idf.
I used this component. This component can communicate directly with the browser. There is an example of using the component here. It's a great job.
I used this for segment display.
ESP-IDF V5.0 or later. ESP-IDF V4.4 release branch reached EOL in July 2024. ESP-IDF V5.1 is required when using ESP32-C6.
TEA5767 FM Stereo Radio Module. I bought this on AliExpress about $4.
The module has a standard antenna, but if you want to use it in a room, you need a long antenna. With a long antenna, you can get more signals. I used an AC power cable.
git clone https://github.com/nopnop2002/esp-idf-fm-radio
cd esp-idf-fm-radio
git clone https://github.com/Molorius/esp32-websocket components/websocket
idf.py set-target {esp32/esp32s2/esp32s3/esp32c2/esp32c3/esp32c6}
idf.py menuconfig
idf.py flash
You can use Static IP.
You can use the MDNS hostname instead of the IP address.
TEA5767 | ESP32 | ESP32-S2/S3 | ESP32-C2/C3/C6 | ||
---|---|---|---|---|---|
SCL | -- | GPIO22 | GPIO12 | GPIO5 | (*1) |
SDA | -- | GPIO21 | GPIO11 | GPIO4 | (*1) |
GND | -- | GND | GND | GND | |
VCC | -- | 3.3V | 3.3V | 3.3V | (*2) |
(*1) You can change it to any pin using menuconfig. But it may not work with other GPIOs.
(*2) The PCB marking is +5V, but it works at 3.3V.
Open browser
Enter the esp32 address in your browser's address bar
Search Up Search for radio stations upwards.
Search Down Search for radio stations downwards.
Add Preset Record the current radio station in NVS.
Segment Color Change segment color.
Goto Goto preset station.
As system default At boot time, set to this Radio station.
idf.py erase-flash