Skip to content

Latest commit

 

History

History
95 lines (56 loc) · 1.59 KB

File metadata and controls

95 lines (56 loc) · 1.59 KB

ESP32 Dual-Board Audio System SDMMC MP3 Player → I2S → BLE Audio Streamer

A two-ESP32 audio system where the first ESP32 plays MP3 files from SDMMC and outputs PCM audio via I2S, and the second ESP32 receives the audio via I2S RX and streams it over BLE.

Overview ESP32 S3 Liligo THMI #1 (TX) ESP32 DEV Module #2 (RX)


SDMMC → MP3 Decoder → I2S ───► I2S RX → BLE → Client TFT Touch UI BLE Audio Stream NTP Clock

Features

MP3 playback from SD card (SDMMC)

I2S audio transfer between two ESP32s

BLE audio streaming (custom BLE service)

Touch-based playback & volume control

TFT clock synchronized using NTP

Modular TX / RX architecture

ESP32 Roles ESP32 #1 – Audio Player (TX)

Reads MP3 files from SDMMC

Decodes audio using Helix

Outputs PCM via I2S (Master)

Touch TFT UI (Play / Volume / Track)

NTP-based analog + digital clock

ESP32 #2 – BLE Audio Streamer (RX)

Receives PCM via I2S (Slave)

Buffers audio frames

Streams audio over BLE notifications

I2S Wiring Signal ESP32 TX ESP32 RX BCK GPIO 15 BCK WS GPIO 16 WS DATA GPIO 17 DATA GND GND GND Audio Format

44.1 kHz

16-bit

Mono

I2S Standard

BLE Streaming Notes

BLE streams raw PCM, not MP3

Audio sent in small chunks (MTU-limited)

Custom BLE client required

Higher latency than I2S / Wi-Fi

SD Card Layout /Music/ song1.mp3 song2.mp3

Use Case

Wireless audio bridge

BLE audio experiments

Embedded audio systems

Modular audio processing

Limitations

Not standard BLE A2DP

BLE bandwidth limits quality

Requires custom BLE receiver