/ESP32-MiniWebRadio

Internetradio with ESP32, VS1053 MP3 Module and SPI TFT Display with Touchpad

Primary LanguageC

ESP32-MiniWebRadio V2

Display

Features:

  • Can handle max 999 stations
  • IR remote control is optional
  • Obtains time from NTP
  • Can used as alarmclock, has sleeptimer
  • Speech the time every hour in radiomode
  • If the display has a Backlight-pin You can change the brightness
  • supports the Latin, Greek and Cyrillic character sets
  • Community Radio Browser is integrated as a search engine
  • Channel lists can be exported or imported in Excel format (for data backup).

Required HW:
  • Decoder module VS1053 or external DAC (e.g. PCM5102a)
  • TFT Display with Tochpad (SPI), Controller can be ILI9341 (320x240px), HX8347D (320x240px), ILI9486 (480x320px) or ILI9488 (480x320px)
  • ESP32 Board (PSRAM not necessary)
  • SD Card + adapter

Control is exclusively via the touchscreen or the webpage, no additional components such as switches, rotary encoders, capacitors or resistors are required

Schematic with VS1053
Schematic with external DAC

Display (Layout)

How to install: PlatformIO is definitely recommended as an IDE

New in V2:

  • The audioprocess works in his own task amd must therefore be decoupled. If a VS1053 is used, it must have its own SPI bus (HSPI for VS1053 and VSPI for TFT and TP). Dropouts when drawing on the display or when the website is loading are a things of the past.
  • The SD card is wired as SD_MMC to improve stability and increase speed. This means that the GPIOs cannot be chosen freely. The SD card adapter must not have any resistors as pull-ups or in series.
  • Instead of the VS1053, it can be decoded using SW. Possible formats are mp3, aac, mp4 and flac (flac requires PSRAM). A DAC is required (e.g. UDA13348, MAX98357A, PCM5102A) connected via I2S.
  • The display can now be 480x320px, the ILI9486 (SPI display from the Raspberry PI) is supported
  • In the finished device, the SD card may be inaccessible. For this case, an FTP server is integrated. Here are the settings in Filezilla. The username and password are 'esp32' and can be changed in 'common.h'
  • supports AC101 and ES8388
  • WM8978 support (TTGO audioT board)
  • Entry of username and password if the server expects access data, "URL|user|pwd"
  • Can process local playlists in m3u format
  • The ESP32 or the ESP32-S3 can be used