Table of Contents

⚠️UNDER CONSTRUCTION!⚠️⚠

DIY active speaker

There is different hardware on the market available to convert a passive speaker to an active one. Here I present a variable solution with Bluetooth and the possibility to control it with an MCU.

FYI: If you have an old amp with 30-pin iPod Dock, see ipod-simu

Hardware modules

TPA3118 class D mono amp
BT201 module with KT1025A
MeanWell SMU01L-05 DC/DC Wandler, 5V zu 5V, 200mA, 1W

BT201 KT1025A

What is different with this module from other common ones: It has RX/TX lines for AT-commands, so it's easy to use an MCU for setup and controls - no logic level converter needed, it can use 3V or 5V logic.
It also has iR for a remote control. It can play audio files from Bluetooth, USB, SD-Card, AUX.

Latest(?) (V2.4 / 2020-04-17) Firmware is available here: http://www.szqyvhome.com/DownLoad/18685.html

Put “updata.bfu” in USB/SD card (FAT/FAT32, 32GB max), connect the power, wait ~10s, it will beep a few times on speaker output and stops when update process is done.
“updata.bfu” file location: 20240524154050.zip/99_BT201方案_KT1025A_B_资料_V2.4_20200426/02_用户手册/

Manuals

https://web.archive.org/web/20240615231859/https://nettips.ru/book/BT201%20Module%20_KT1025A_B_User%20Manual%20_V2.3.pdf
https://elektrotanya.com/kt1025b_bt201_bluetooth_audio_chip_user_manual_v2.4.pdf/download.html
https://www.electronics123.net/amazon/datasheet/FN-BT91%20(BT201)%20Bluetooth%20Audio%20Player%20Module.pdf
https://www.scribd.com/document/857956764/BT201-Module-KT1025A-B-User-Manual-V2-4

Code sources

example code links:

https://github.com/MooreSound/code
https://github.com/mehdi-adham/BT201
https://github.com/christian-kramer/JieLi-AC690X-Familiarization/issues/4

QCC / CSR BT only modules

Many audio Bluetooth player modules use CSR/Qualcomm chipsets. CSR has been acquired by Qualcomm in 2015.
CSR chips → require CSR USB-SPI programmers, uses BlueSuite toolchain.
QCC chips → prefer USB DFU, only use QCC USB-SPI when needed

Feature CSR (Legacy CSR86xx Series) QCC (Modern QCC30xx / QCC51xx Series)
Programming Interface CSR USB-SPI (proprietary CSR protocol) USB-DFU (if exposed), or QCC USB-SPI (different protocol from CSR)
Official tools BlueSuite (PSTool, BlueFlash, Audio Prompt Manager, ROM Config Tool) QCC Tool, QCC Audio Tuning Tool, Qualcomm ADK tools (QACT, ConfigStore editors, VP Tool)
Config system PSKEYS ConfigStore (new architecture)
Firmware format .xuv, .xpv, AMT/BlueSuite prompt packs .dfu, partition images, QCC voice-prompt packs
Voice prompt storage Separate AMT VP pack or embedded table referenced via PSKEYS Partitioned VP image or ConfigStore mapping entries
VP disabling method Edit PSKEY_AUDIO_PROMPT_ENABLE or remove mapping Disable “Voice Prompts” in ConfigStore or remove VP partition
USB programming NO (CSR USB is not for flashing) YES on many modules (USB DFU mode)
SPI programmer needed Yes, almost always Only if the module does not expose USB DFU
Alternative open-source tools csr-spi-ftdi, CsrSpiDrivers csr-spi-ftdi sometimes works only for CSR chips (not for QCC)
Interchangeable toolchains? No No

https://www.diyaudio.com/community/threads/qcc5125-and-qcc3034-qcc3031-programming.374322/
https://github.com/lorf/csr-spi-ftdi/issues/59

alternative flashers:
https://github.com/lorf/csr-spi-ftdi
https://github.com/Frans-Willem/CsrSpiDrivers
https://www.diyaudio.com/community/threads/csr8675-programming-guide-w-software-and-tons-of-csr-info.349336/
https://www.tinysineaudio.com/blogs/news/how-to-change-the-qcc30xx-series-bluetooth-eq-settings

mute voice prompts

⚠ QCC does not use CSR BlueSuite anymore. All Qualcomm voice-prompt handling uses QCC/ADK tools. Access via USB DFU or QCC USB-SPI.

There is a tutorial on YT for QCC3008 ADK Configuration Tool.

Option A for QCC) Disable prompts in ConfigStore (recommended)

Option A for CSR) Disable voice prompts using PSKEYs (recommended)

Option B) Replace VP files/partition with silent audio

Option C) Remove mapping table entries

Option D) Flash minimal firmware without voice prompt partition

power supply

The amp needs >=12V, the player 5V. There are different choices as PSU:

For >=12V:

To get 5V:

If there is noise, smoothen 5V on the player. Options are: