• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Unlock your sub: BP10 DSP Controller – web GUI for the AIYIMA 800X / BP1048

cobby

Active Member
Joined
Sep 13, 2024
Messages
172
Likes
194
I already mentioned this project in the AIYIMA 800X thread, but now that the software is publicly available, I thought it deserved its own thread.

Aiyima-x800-BP10.png

BP10 DSP Controller​

I wanted access to the full DSP functionality of the AIYIMA 800X without having to connect a Windows PC and use the manufacturer software every time.

The result is BP10 DSP Controller: an open-source ESP32-S3 controller with a local web interface for the MVSilicon BP1048 DSP.

It has been working reliably for me and makes the 800X considerably more useful.

GitHub, source code and prebuilt firmware:

https://github.com/CobbyCode/bp10-dsp-controller

bp10-dashboard-overview.png

bp10-preeq-response.png

What can be controlled?​

The current AIYIMA 800X profile provides access to:

  • 10-band Music Pre EQ with frequency-response preview
  • Pre EQ gain
  • Noise Suppressor
  • Virtual Bass
  • Music DRC
  • Silence Detector
  • configuration backup and restore
  • automatic restoration of the DSP settings after power-on
  • firmware updates through the web interface
The ESP stores the selected settings and reapplies them to the DSP after a restart. Nothing is permanently written to the internal flash of the BP1048.

For me, the main motivation was the factory Noise Suppressor. Its original configuration was quite annoying at low listening levels, but it can now be adjusted or disabled.

The Pre EQ is probably the most useful part. The 800X firmware exposes ten filter slots with peak, shelving, low-pass, high-pass, band-pass and notch filter types. Some are used for the factory crossover and voicing, while the remaining filters can be used for your own EQ or basic room correction.

About the BP1048​

The BP1048 itself is a fairly capable low-cost audio processor. According to the manufacturer documentation, it contains:

  • a 32-bit RISC core running at up to 288 MHz
  • DSP instructions
  • a floating-point unit
  • a hardware FFT/IFFT accelerator
  • 320 KB internal SRAM
  • integrated audio ADCs and DACs
It is still a small embedded audio processor rather than a general-purpose ARM or x86 system, and the functions available in a finished product depend heavily on the manufacturer's firmware.

BP1048B2 datasheet:

https://www.mvsilicon.com/down/BP1048B2datasheet_V2.1.pdf

What is required?​

  • an ESP32-S3 board
  • a short USB-A to USB-C data cable
  • the prebuilt firmware from the GitHub release
I used a compact ESP32-S3 Mini with 4 MB flash and 2 MB PSRAM. A larger ESP32-S3 development board also works.

To connect it to the AIYIMA 800X, the amplifier plate has to be removed to access the internal USB-A port. Disconnect the subwoofer from mains power before opening it and take the usual precautions around mains-powered electronics.

The full firmware image can be installed using Espressif's browser flasher. After the first start, connect to the temporary bp10-xxxx Wi-Fi network, select your home network and open the controller in a browser.

Other BP1048 devices​

The code also contains experimental automatic discovery for generic MVSilicon ACP devices, including some BP1048 boards sold on AliExpress.

I have fully tested the fixed AIYIMA 800X profile. Generic-board support is prepared, but not yet tested as thoroughly and currently provides live control only.

Reports from other BP1048 devices are very welcome. Please let me know which board you have and what works or does not work.
 
Last edited:
Does that board by any chance expose an i2s input? Combining this with AES67 on ESP32-P4 would make a very cheap AES67 sub. Or with other boards for speakers/amps if the generic board support pans out.
 
Does that board by any chance expose an i2s input? Combining this with AES67 on ESP32-P4 would make a very cheap AES67 sub. Or with other boards for speakers/amps if the generic board support pans out.
The BP1048B2 itself has an I²S input, including data, BCLK/LRCK and configurable master-clock operation. On my generic NVarcher/BP1048 board, ACPWorkbench also allows me to select I²S as the audio source and configure the clock settings. The board accepts and stores that configuration, so the firmware side appears to support it.
1784554827004.png

That would fit the ESP32-P4 AES67 implementation quite nicely: the P4 receives AES67, recovers the media clock and outputs the decoded PCM stream through I²S. The BP1048 could then handle the crossover, PEQ and dynamics processing before its DAC output.

The practical problem is the hardware. I do not know of a BP1048 board that exposes the complete I²S input on a convenient header. The signals are available through the BP1048 pin multiplexing, but on my board this would probably require soldering directly to the IC pins, nearby vias or traces.
 
Thinking of it...
Actually, there may be an easier option than wiring the BP1048 I²S pins directly.

The generic board already works as a standard USB audio device. An ESP32-P4 could therefore act as the USB host and send the decoded AES67 PCM stream to the board over its existing USB connection:

AES67 → ESP32-P4 → USB Audio → BP1048 board

Espressif already provides a USB Audio Class host driver for the P4, so this should mainly require replacing the current I²S output backend of the AES67 example with USB-UAC output. No modification of the BP1048 firmware and probably no soldering would be required.

It may even be possible to use USB Audio and the existing ACP/HID control interface simultaneously, allowing the P4 to stream audio and control the DSP over the same USB connection.

The main challenge would probably be clock-domain handling between the PTP-synchronized AES67 stream and the USB audio clock, rather than the physical connection itself.
 
Good point. I do not know yet. The ESP32-P4 would provide the USB bus timing as host, but whether the BP1048 derives its audio clock from that depends on its USB Audio mode. I have not checked the descriptors or tested it, so synchronization over USB remains an open question, might be ok for a sub.
Direct I²S would be the cleaner solution for synchronized playback but needs soldering.

Forgot, “panning”, there are apparently one or two BP1048 firmware variants that support this, so it should be controllable, I just do not have that firmware.

Yes
 
BP10 DSP Controller v0.4.1 is now available.

This release adds:

- profile-safe persistence for Generic ACP devices
- unified DSP apply, readback and save handling
- Virtual Bass Classic support
- Music Phase control
- Music Delay and HQ support
- further A800X and Generic ACP improvements

The new controls and persistence logic have been hardware-tested on the AIYIMA A800X and a Generic ACP/BP1048 board.

Firmware binaries and checksums are available here:
https://github.com/CobbyCode/bp10-dsp-controller/releases/tag/v0.4.1
 
What's this??
“Virtual Bass” is MVSilicon’s name for a bass-enhancement effect. The exact algorithm is proprietary, but it appears to add/reshape low-frequency content—likely using harmonics and filtering—to create the impression of stronger or deeper bass. It is not necessarily just a simple peak filter.


There are actually two variants in the DSP: Virtual Bass and Virtual Bass Classic. The regular Virtual Bass is enabled by default on the AIYIMA A800X. Personally, I am not a big fan of the effect and mainly find the control useful for switching it off, but I added both variants because the DSP exposes them.
 
BP10 DSP Controller 0.5.0 is out.


The big addition is proper support for the second Rec/subwoofer path on compatible Generic ACP boards. Music and Rec can now be controlled separately, including Pre EQ, Out EQ, Virtual Bass, Delay and DRC. USB Out Gain and the different DRC modes are also supported.


The A800X path remains supported, and configuration import/export and persistence now work with the expanded setup as well.


https://github.com/CobbyCode/bp10-dsp-controller/releases/tag/v0.5.0
 
Thanks. I wasn't sure if that was used in the $200 sub.

IMO, it's not hi-fi)). But I haven't heard what it sounds like.
I found the article https://www.researchgate.net/public...cuital_Model_for_Real-Time_Music_Applications , but haven't read it yet
In the A800X, Virtual Bass itself is only set to 4% by default, so it is not especially extreme. However, the additional “Enhanced” option is also enabled. To my ears, the combination is too much and makes the bass sound less natural and somewhat one-note. Virtual Bass alone, used moderately, is not necessarily bad.
 

BP10 DSP Controller 0.5.2​


Version 0.5.1 is now available.

For the AIYIMA A800X, all supported DRC/compressor modes can now be selected instead of being limited to Full Band.

Screenshot 2026-07-25 235017.png


In its 2.1 configuration, all four EQ banks are accessible, providing a total of 40 parametric EQ filters across the Music and Sub/Rec paths.

Screenshot 2026-07-26 014705.png
Screenshot 2026-07-26 014634.png


For the generic AliExpress BP1048 board, please note that a USB-C to USB-C cable is required for the USB connection. The DSP board should also be powered separately through its 5 V power pins.

 
Last edited:
@NotInYourHead found another interesting resource for these MVSilicon DSP boards:

https://github.com/nvmaudio/BDM3P

It appears to be a Vietnamese project offering firmware and configuration tools for a BP1048-based board. The particularly interesting part is the number of supported operating modes, including 2.1, three-way configurations and several other speaker and channel layouts.

I cannot confirm whether the firmware and pinout are directly compatible with the various generic AliExpress boards, although many of them appear to use a fairly similar basic design. Still, firmware and documentation for these DSP chips are quite difficult to find, so I thought this link was definitely worth collecting here.
 
@NotInYourHead found another interesting resource for these MVSilicon DSP boards:

https://github.com/nvmaudio/BDM3P

It appears to be a Vietnamese project offering firmware and configuration tools for a BP1048-based board. The particularly interesting part is the number of supported operating modes, including 2.1, three-way configurations and several other speaker and channel layouts.

I cannot confirm whether the firmware and pinout are directly compatible with the various generic AliExpress boards, although many of them appear to use a fairly similar basic design. Still, firmware and documentation for these DSP chips are quite difficult to find, so I thought this link was definitely worth collecting here.

I'm aware of this project. Yes, it's a custom firmware project for MVSillicon DSP chips, specifically BP1048 series. The support list consists of a number of Vietnamese hobbyist BT boards and amplifiers.

From what I know, in order to adapt these firmwares to other boards, you have to know their GPIO layout and mappings. Otherwise, it's quite simple, as the chip supports USB firmware flashing.

If you want, you can join the dev's FB group for additional questions and even commission a custom firmware for the Aiyima. Here: https://www.facebook.com/share/g/191ou8uZAz/
 
That is very useful information, thanks! I’m not a Facebook user, but I would probably register immediately if I ever needed a custom firmware for one of these boards. I had no idea the developer offered that.

Flashing these chips is indeed very easy, and the GPIO mapping or pinout would not scare me too much either. I find the BP1048 quite an interesting little DSP, it seems fast, has very little latency, and does its job well.

At the moment I only use it in my Aiyima subwoofers, and I’m quite happy with the setup. A digital input might be interesting, although I would first need to find a sensible way to get channels 3 and 4 from my audio interface over S/PDIF. There probably would not be any audible advantage anyway, so I’ll likely leave everything as it is.

But it is great to know this option exists! If I ever built a boombox or an active loudspeaker, I would seriously consider using one of these chips.
 
Back
Top Bottom