Chapter 8
Firmware & hacking
Stock updates, and Music Tribe’s open-source repo: schematic, memory map, build and flash.
Stock firmware
Update through ControlTribe (Update the firmware with ControlTribe). Check the running version in device Settings, key 11. As of 7 Nov 2026 Behringer hasn’t published a firmware changelog or separate firmware files. Source: Official
Owners have tracked versions themselves: pre-1.0 in late September and 1.0.3 by 29 October, with updates arriving almost weekly. The community editor bcr32-studio also lists 1.0.2. Behringer’s promo video points bug reports and feature requests to ideas.behringer.com. Source: Press / owners
Sources & further reading
- “The Absolute Sequencer Powerhouse”, Behringer’s promo videoBehringer, reposted by MatrixSynth — Behringer’s own promo, presented by Bartek. It points bug reports and feature requests to ideas.behringer.com. Not an owner thread.
- Synth Anatomy: BCR32 coverage since 2021Synth Anatomy — Updated for the open-source firmware: a rocky launch, with recent updates fixing the major issues.
- Elektronauts: Behringer BCR32Elektronauts — Owner reports from post #182 (24 Sep 2026): firmware fixes, DAW feedback and SysEx. Check each post’s date.
The open-source repo
MusicTribeOpenSource/0715-AAW went public on 30 Oct 2026 as a single commit, licensed AGPL-3.0-or-later. Third-party code keeps its own licences: BSD-3-Clause (GigaDevice), Apache-2.0 (CMSIS) and MIT (the SSD1306 driver). Source: Official
What’s in it
docs/BE_0715-AAW_01-Top_Rev03.pdf: the full schematic (Rev03, dated 7 Oct 2024; PDF exported from Altium on 28 Oct 2026).docs/BCR32_MCU_Interface.md: pinout tables for every peripheral.docs/BCR32_Firmware_Update_Protocol.md: how to enter and query the bootloader.demo/: a bare-metal demo firmware (App, Board, Drivers, UsbDriver, SSD1306 driver) with Keil and GCC projects, plustools/updatewith prebuilt Windows and macOS update tools.
Sources & further reading
Hardware, from the schematic and README
From the repo’s schematic, README and demo firmware. Source: Official
| Part | Detail |
|---|---|
| MCU | GigaDevice GD32F405RE, Cortex-M4F. The README lists 120 MHz, and the demo firmware sets 120 MHz from an 8 MHz crystal (AHB 120 / APB2 60 / APB1 30 MHz). GigaDevice rates the chip at 168 MHz. |
| Flash | 512 KB internal + 512 KB external SPI (W25X40CL) |
| Display | SSD1306 128×32 OLED on SPI |
| LEDs | 5× HT16K33 drivers: one for the keys (16 RGB plus single-colour), and one per encoder row for the 15-LED rings |
| Inputs | 16× 74HC165 shift registers in a chain (128 inputs) |
| CV | One SPI DAC feeding a 4-way sample-and-hold demultiplexer |
| USB IDs | VID 0x1397, PID 0x12CF (application) / 0x12CE (bootloader) |
| Known quirk | PB3 and PB11 are shorted on the PCB, so SWO trace output is unusable. |
Memory map
From the repo’s documentation. Source: Official
- Bootloader: 64 KB at
0x08000000. Application from0x08010000. - Presets and settings: internal flash sectors 6–7 (256 KB).
- External flash: the first 320 KB is reserved, including the factory CV calibration. Custom firmware shouldn’t erase it.
Building the demo
The primary build is Keil MDK 5.x with Arm Compiler 5.06 update 7 and the GigaDevice GD32F4xx_DFP 3.0.3 pack. The alternative is CMake 3.20+, Ninja and the GNU Arm Embedded Toolchain on your PATH. Run these from the repository root: Source: Official
cmake -S demo/Project/gcc -B build -G Ninja
cmake --build buildFlashing and the bootloader
Run from the repository root, with only one BCR32 connected and no other app holding its MIDI ports: Source: Official
demo\tools\update\windows\update.exe demo\tools\update\BCR32_FW_V<version>_<date>_<time>.binNo button press is needed. The tool sends a SysEx message, the unit drops into its bootloader, takes the image and restarts. If an update is interrupted the unit stays in the bootloader, and you just run the tool again. Source: Official
From the update-protocol document (Behringer’s SysEx ID is 00 20 32)
| Action | Message |
|---|---|
| Enter bootloader | F0 00 20 32 7F 64 77 F7, or hold 21T1 + 22T2 + 23T3 + 24T4 |
| Query mode | F0 00 20 32 7F 64 74 F7. The reply is 00 in the application, 01 in the bootloader. |
Key combinations
- Hold 21T1 + 22T2 + 23T3 + 24T4
- Enters the bootloader (documented for the demo firmware).
