AtlasCube BT module

A plain ESP32 in place of the QCC5125 — Bluetooth audio for the radio.

Firmware v0.1.0 · built 2026-09-28

AtlasCube plays Bluetooth audio through an external module: the phone streams to the module, the module feeds I2S into the radio's audio mux, and a UART line carries the controls and the track info. The original module is a QCC5125 board, which is getting hard to find. This firmware turns a cheap, everywhere-available ESP32-WROOM into a replacement: same pins, same role on the board, and it speaks the QCC5125's own command dialect — so the radio firmware does not need to know the difference, and there is nothing to change on the radio side.

Hardware

ModuleESP32-WROOM-32 (classic ESP32), 4 MB flash — a bare module or any DevKit board carrying one Not a WROVER: those use GPIO16/17 for PSRAM, and those are the UART pins. Not an ESP32-S3 or C3 either — they have no Classic Bluetooth, only BLE, and A2DP needs Classic.
BluetoothClassic BR/EDR — A2DP sink and AVRCP; the phone sees it as AtlasCube
CodecSBC
Audio outI2S master, 16-bit stereo, 44.1 or 48 kHz — follows whatever the phone sends Into the 74HC157 mux on the input the QCC5125 used; the radio still drives the mux select line itself.
ControlUART 115200 8N1, QCC5125 AT dialect

Wiring

SignalESP32AtlasCube (ESP32-S3)
I2S BCKGPIO26mux BCK (QCC5125 input)
I2S WSGPIO25mux WS
I2S DATAGPIO27mux DATA
UART RXGPIO16← BT module TX pin
UART TXGPIO17→ BT module RX pin
GNDGNDGND

The radio side uses the same BT pins it would for the QCC5125 — set at <device-ip>/setup like every other pin.

What you get

Works like the QCC5125

What it does not do

Flash the firmware

Requires a Chromium-based browser (Chrome, Edge, Opera, Brave). Firefox and Safari don't support WebSerial.
DevKit board: just plug it in — its USB-serial chip resets the ESP32 into the bootloader by itself, no BOOT button needed.
Bare module: use a 3.3 V USB-to-serial adapter on TX0 / RX0 (GPIO1 / GPIO3), hold GPIO0 to GND and pulse EN before clicking Connect. Flash it before soldering it into the radio.
  1. Plug the ESP32 in over USB.
  2. Click Install and pick the serial port.
  3. Confirm in the dialog and wait for it to finish.
  4. Wire it into the radio as above, then pair your phone with AtlasCube.
ESP32-WROOM · BT module A2DP sink, AVRCP, QCC5125 AT dialect · built 2026-09-28

A full image: bootloader, partition table and app. The installer checks the chip before it writes anything, so it will refuse an ESP32-S3 — the radio itself cannot be overwritten with this by mistake. There is no OTA; every update is a USB flash, and it forgets the phones that were paired.

← Back to atlascube.net