This is another project like others out there: a web radio with ESP32.
New update: I put a bluetooth mode through an SPDT switch. Look in the RadioeBT folder.
The best update so far: it's possible to update your list of radio stations via a text file in GIST! See it on RadioWeb example. This is important because radio stations often change their URLs. In my case, as I make the radio sets as gifts to my friends, I won't need to get the sets back to update them. Although it is a good reason to visit them!
This radio uses Lolin32 Lite (with a PSRAM update), a 1.8'' SPI screen and I2S with PCM5102 + PAM8403 amp:
The libraries used are:
ESP32-audioI2S: https://github.com/schreibfaul1/ESP32-audioI2S
TFT_eSPI: https://github.com/Bodmer/TFT_eSPI
Bluetooth: https://github.com/pschatzmann/ESP32-A2DP
Add the PSRAM:
https://blog.pagefault-limited.co.uk/lolin32-lite-esp32-8mb-psram-upgrade-mod
With PSRAM, the Lolin32 Lite works like a WROVER Kit. The Arduino IDE configuration looks like this:
After audio library updates, it is possible to play HLS streams! I'm assembling it in a wooden box.