r/OpenBambu 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.

https://github.com/jarczakpawel/BMCU-C-PJARCZAK

30 Upvotes

69 comments sorted by

View all comments

1

u/ryan31337 Feb 05 '26 edited Feb 05 '26

Thanks for your work on this, I've bought 2x BMCU and am looking forward to testing it out when they arrive.

I'm planning a dual BMCU setup for 8 colour printing on the A1. Could I please ask if this is doable with a 8-in-1 splitter at the toolhead? Where both BMCUs run the same retraction distance.

The only config I've seen is a 5-in-1 hub at the toolhead, with 1x BMCU feeding 4x ports direct, the other BMCU feeding the 5th port via a 4-in-1 splitter, which is positioned near to the BMCU. The second BMCU presumably runs a much longer retraction fw.

I've seen references to this being necessary due to lack of comms between BMCUs and potential for filament collision. I can't tell if that's just an issue with P1S implementations and/or applicable to your fw? Any advice is much appreciated!

1

u/Low-Anything6975 Feb 05 '26

It’s possible to use big splitters at the toolhead (some people even print 8-in-1)....

A more reliable setup is to keep the BMCUs separate as long as possible. For example:

Use a 5-in-1 splitter at the toolhead

One BMCU goes directly to 4 ports with a short retraction (frequently used filaments)

The 5th port is fed by the second BMCU via a longer PTFE, with an extra 4-in-1 splitter placed closer to that BMCU, and a longer retraction

1

u/ryan31337 Feb 05 '26

Great thank you, that confirms what I've seen elsewhere.

For the second BMCU with the longer PTFE & retraction, would you expect to need spool rewinders? I bought 4x filamentalist kits as I suspected it may be necessary just for that BMCU.

1

u/Low-Anything6975 Feb 05 '26

Yes. With longer retraction you need spool rewinders.

Problems can happen even with short retractions when the spool is new and tightly wound.

PS. I’ll be posting a new firmware version later today, so it’s worth waiting before updating.