# ESP32-MiniWebRadio **Repository Path**: huangzn001/ESP32-MiniWebRadio ## Basic Information - **Project Name**: ESP32-MiniWebRadio - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-22 - **Last Updated**: 2025-01-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32-MiniWebRadio V3.6 ![Display](docs/MiniWebRadio.jpg) MiniWebRadio Features:
Required HW: Optional HW:
Control is via the display touchscreen or a web page in a browser, no additional components such as switches, rotary encoders, capacitors or resistors are required. Schematic
![Schematic ESP32 with external DAC](docs/MWR_V3.4_ESP32_schematic.jpg)

![Schematic ESP32-S3 with external DAC](docs/MWR_V3.4_ESP32-S3_schematic.jpg)

[Display Layout](docs/MiniWebRadio%20V3.4%20Layout.pdf)
[Using the Community Radio Browser](docs/Using%20the%20RadioBrowser.pdf)
[How to install](docs/How%20to%20install.pdf) : PlatformIO is definitely recommended as the IDE. #### Some features: - The audioprocess works in its own task and is decoupled. This prevents dropouts when drawing on the display or when the website is loading. - 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](docs/SD_Card_Adapter_for_SD_MMC_.jpg) must not have any resistors in series. For best display update speed, use 40MHz frequency for SD card if possible (SDMMC_FREQUENCY 40000000 in common.h). - Audio can be decoded using software. Possible formats are mp3, aac, mp4, opus, vorbis and flac. - External DACs (e.g. UDA13348, MAX98357A, PCM5102A) are connected via I2S, ES8388 and AC101 also require an I2C connection - 480x320px display supported. The ILI9486 (SPI display from the Raspberry PI) is also supported - The SD card files can be accessed via FTP. See settings for [Filezilla](docs/Filezilla.pdf). The username and password are 'esp32' (this can be changed in 'common.h') - Access Point SSID/password can be set using mobile phone browser - no need to modify source code or networks.csv file on SD card - Stations URLs support entry of username and password if the server expects access data, "URL|user|pwd" - Can process local playlists in m3u format - Either the ESP32 or the ESP32-S3 can be used (PSRAM is highly recommended) - IR remote button codes can be changed by user using web UI - Improved web UI reliability - VU meter added to display - Timezone can be set using web UI - Play media files on home network DLNA (uPNP/DLNA app on smart phone, router, etc.) - Prevent clicks when changing radio stations
|Codec |ESP32 |ESP32-S3 | | |------------|---------------|---------------|-------------------------| | mp3 | y | y | | | aac | y | y | | | aacp | y (mono) | y (+SBR, +PS) | | | wav | y | y | | | flac | y | y |blocksize max 8192 bytes | | vorbis | y <=196Kbit/s | y <=256Kbit/s | | | m4a | y | y | | | opus | y | y |celt only | ***
[self-made devices of the users](https://github.com/schreibfaul1/ESP32-MiniWebRadio/wiki/User-devices)
*** ## Known problems ### SD Card In the simplest case, the SD card is connected directly to the ESP32
![SD Card Pinout](docs/SD_Card_Pinout.jpg)
Some SD card adapters for displays use series resistors. These are useless and in many cases harmful. Therefore, it is better to remove them and replace them with solder bridges.
![Display Resistors](docs/Display_resistors.jpg)
If an ESP32 is used, any existing pull-up resistor at pin D0 must be removed (ESP32 - bootstrap pin). This will be added again later via SW. This is not necessary with the ESP32-S3. (Photo from the ESPuino forum)![SD Card Adapter ESP32](docs/ESP32_SD_Card_PullUp.jpg)
### Display Many displays can be used without any problems. If the touchpad does not work, it may be that the TFT controller does not enable the SPI bus. This is the case with my ILI9488 display. Then MISO of the TFT controller must not be connected.
![ILI9488 Display](docs/ILI9488_pins.jpg)
### DAC On some PCM5102 boards the solder bridges are missing on the back.
![PCM5102A Board](docs/PCM5102A.png)
This is how the DAC CS4344 is connected:
![CS4344 Board](docs/DAC_CS434.jpg)
If the DAC PT8211 is used, the *I2S_COMM_FMT* must be changed in common.h. This DAC requires Japanese LSBJ (Least Significant Bit Justified) format ### IR ReceĆ­ver Various 38KHz IR receivers can be used. While the TSOP4838 can be used without any problems, the VS1838B is very sensitive to high frequency fields despite its metal shielding. The VS1838B should not be installed near the WiFi antenna. The HS0038A2D is also suitable. HS0038 - HS0038A2 can be used with Vcc 5V.
![IR Receiver](docs/IR_Receiver.jpg)
### IR Remote Control The remote control must support the NEC protocol. If several remote controls are operated in one room, they must have different address codes to avoid mutual interference. The "Arduino" remote control on the left in the picture uses the address code 0x00FF and the "Android X96" remote control (right) uses the address code 0x01FE.
![IR Transmitter](docs/IR_Transmitter.jpg)
### KCX_BT_EMITTER The RT pin is not part of the soldering strip, but is located in the middle of the right side.
![PCM5102A Board](docs/KCX_BT_EMITTER_pins.jpg)

___________________________________________________________
![MWR](/docs/MWR.jpg)