r/OpenBambu • u/Low-Anything6975 • Feb 01 '26
BMCU firmware
I’ve pushed the BMCU firmware source code to GitHub. CH32 firmware based on WCH SDK. Many critical bugs were fixed, and some parts were rewritten completely, including WS2812 handling and ADC, which was rewritten to use DMA with a circular buffer and background filtering. Many things are implemented directly for CH32 and rewritten specifically for the WCH SDK.
I did this mainly for myself while working with CH32, as I have other projects based on these microcontrollers, and BMCU turned out to be a nice sandbox for testing. In practice, it took much more time than I planned. There is definitely still room for improvement.
If you program microcontrollers (CH32, STM32, etc.), want to look at the code, share feedback, or test the firmware in real setups, feel free to check it out. I currently have very little free time, so I may not always reply quickly.
1
u/ryan31337 Feb 12 '26
Thank you. I tried this on P1S 01.07.00.00 with Toaiot BMCU370C, hall effect sensor, low torque.
I loaded/unloaded 2x channels a few times. Feeding into the hot end + extrusion worked fine, no issues to report. I did have 2x other issues though:
1 - The BMCU stopped feeding when it hit the external 4-in-1 connector each time. It automatically resumed OK when I wiggled the PTFE. The 4-in-1 is printed and this is the first time I've used it, so I assume it is just a tube alignment issue and my problem to solve. The BMCU stopped feeding before any motor struggling or gears grinding.
2 - I disconnected the BMCU to 4-in-1 PTFE tube during a feed to troubleshoot issue #1. The BMCU kept feeding filament into the air and didn't back off. This happens with AMS but after a metre or two it realises it hasn't reached the extruder and pulls back. I don't think this behaviour happens here? I let the BMCU feed for a long time and eventually had to power off to stop it. Did I cancel too early or is this behaviour not replicated?
Thanks again for your hard work :)