ESP32 Internet Radio - This is a fully functional Internet Radio Based on ESP32-S3 Features:
- Internet radio streaming
- Touchscreen and rotary encoder control
- Web-based configuration
- Hundreds of thousands of stations to choose from
- 1000 stations in your favorites list
- MP3, AAC, FLAC, Vorbis and other audio formats
- Bluetooth audio transmitter
- ESP32-S3 and ESP32-P4 support
Interested in building your own Internet Radio ?
Firmware, DIY kits, and fully assembled units are available at: https://tmicromaker.com/
There are few versions avaliable:
Version with Rotary Encoder or Touch Screen:
Version with touch screen:
Version with only Rotary Encoder (no option for touch screen):
Version Based on ESP32-P4 with SPDIF out and WebUi Management Interface
A repository where you can find documantation, various firmware version and enclosures 3D files, : https://tinyurl.com/4yduvmdj
For any quations Email me to: tmicromaker@gmail.com
Note: The Radio was designed to work only with ESP32S3 Lilygo t-displayS3 family
You can watch the Radio various versions and evolution here:
https://www.youtube.com/@tmicromaker
https://tmicromaker.com/demo/radio-demo.html
Firmware Installation:
- In your web prowser open: https://tmicromaker.com/MicroMaker_WebFlasher.html
-
Connect your microcontroller to the USB port of your computer.
-
Put the microcontroller in boot mode
- Hold BOOT.
- Press and release RESET.
- Keep holding BOOT for another second or two.
- Release BOOT.
-
Enter your email address and press continue
-
Press connect choose the right port and flash.
-
Press Install firmware
-
Wait for the upload to finish
-
Restart the microcontroller and wait (it takes about 1~1.5 minutes to boot up on the first time).
Radio Operation:
After flashing is finished:
-
Press the RESET button on the ESP board (if it does not reboot automatically). The new firmware will start running.
-
After ESP32 boot wait for arround 1 min until network scanning is completed.
-
Open the wifi in your phone or computer and search for BT_Radio
-
Connect to your network
-
Have a look at the LCD for the IP address
-
Connect to that IP address using your computer browser
-
Upload a single station or list of stations using the following format
Station Name 1,Station Address 1
Station Name 2,Station Address 2
Radio Space,http://123.456.789.0/stream
Radio Hits,http://stream.awesomehitsradio.com . Note: An I2S DAC is required for this project, Amplifier is optional. Consult the I2S data sheet to learn how to activate the (L+R)/2 or stereo signal.
Note: for some stations that don't play and their URL starts with https:// try to change it to http:// and check if it is working
DIY Instructions:
Connection diagram using the Max98357a chip (if you use a header you don't need to connect wires as the pins are arranged correctly). I strongly recommend using the PCM5102a for better sound quality.
Connect the I2S DAC to the following pins: BCLK to pin 12, LRC to pin 11, DOUT to pin 13, VCC to 5V, GND to GND
Following is the connection diagram:

Just solder it like that and connect it to the speaker (the pins are already aligned with the DAC pins):
Module designed by the MicroMaker which combines DAC + AMP + Bluetooth in one module and is being controlled directlly by the microcontroller

Optional Pam8406 amplifier 2x6w amp+ pcm5102a Stereo DAC on one PCB which can be mounted directlly on top of the LILYGO T-Display Touch S3 (no wires soldering needed)

You can watch the videos by clicking on the below videos:







