User Tools

Site Tools


projects:diy_active_speaker

This is an old revision of the document!


⚠️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

  • passive speaker
  • amplifier (here: TPA3118)
  • power supply unit
  • optional: DC-DC decoupler / filter (to eliminate noise of PSU) / LC-filter
  • receiver/player (here Bluetooth via BT201 KT1025A or CSR/QCC chipset)
  • optional: MCU (used for BT201)

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

Code sources

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.

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

  • Tools: QCC Audio Tuning Tool; QCC Tool / ConfigStore editor
  • Open ConfigStore (inside QCC Tool or QACT).
  • Disable VoicePromptsEnabled / VP_Enable
  • Optional: disable earcons (EarconEnable).
  • Save to flash → reboot. Result: No more spoken prompts.

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

  • Tools: BlueSuite → PSTool
  • Edit or add the PSKEY:
    • PSKEY_AUDIO_PROMPT_ENABLE = 0
    • Some firmwares also have:
    • PSKEY_EVENTS_AUDIO_PROMPTS
    • PSKEY_USR0 flags controlling individual events
  • Write changes → reboot

Option B) Replace VP files/partition with silent audio

  • Tools for CSR: BlueSuite → Audio Prompt Manager
  • Tools for QCC: Voice Prompt Tool (QCC/ADK); ImagePack Manager
  • Extract the VP pack (usually .vp, .xuv, or .bin) or partition.
  • For QCC: Import into the Voice Prompt Tool (in Qualcomm ADK).
  • Replace each file with a 0.1s silent WAV (16 kHz, mono PCM).
  • Reflash the VP pack/partition.
  • Result: Events still fire, but silence is played.

Option C) Remove mapping table entries

  • Tools for CSR: BlueSuite → ROM Config Tool / AMT
  • Tools for QCC: ConfigStore
  • Delete / clear the event→prompt mapping entries.

Option D) Flash minimal firmware without voice prompt partition

  • Requires: Full CSR ADK / Qualcomm ADK; probably requires vendor keys

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

power supply

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

For >=12V:

To get 5V:

  • 5V module (either switching regulator or LDO): switching introduces noise, an LDO heat an inefficiency
    • use a 12V car cigarette 5V USB adapter

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

  • use 5V DC-DC decoupling module (+ ~5€)
  • try if an LC filter is sufficient: #TODO: add schematics
  • use an LDO to get your 5V
projects/diy_active_speaker.1763997144.txt.gz · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki