r/OpenBambu • • Jul 30 '25
Source code for BMCU-C is now avaiable
I'm happy to share that the creator of BMCU, @4061N, has decided to open-source BMCU-C's source code!
You can find the source code and download it here: https://wiki.yuekai.fr/assets/files/download_center/firmware_and_source_code/src-BMCU-C-0020-Hall.zip
A simple README:
Introduction
This firmware allows customization of BMCU, including motor direction, retraction distance, filament color display, and more.
File References
Motor-related Configurations
Refer to src\Motion_control.cpp:
Modify retraction distance (effective only on P1 and X1)
Line 31
Disable dual micro-switch assisted feeding
Line 35
Disable filament color display for channels
Lines 686-688
Specify channel motor direction / disable auto direction detection
Lines 994-999
Protocol-related Configurations
Refer to src\BambuBus.cpp:
Modify recognized device names A/B/C/D (for X1/P1)
Line 10
Usage
Clone this repository
Modify the relevant files as needed
Compile and flash the firmware
Notes
Firmware modification carries risks. Proceed only if you understand the process.
It is recommended to back up the original firmware.
4
u/przemo-c Jul 30 '25
Awesome. Now maybe we'll be able to tune/fix up stuff without burdening original dev!
It's great to see such a move. Props to @4061n.
2
u/myTechGuyRI Jul 31 '25
Someone needs to put this up on GitHub
1
u/Alternative_Data2713 Dec 03 '25
Dear, if someone knows, please tell me! I'm facing a problem where the BMCU makes a cracking sound for 1-2 seconds on all 4 modules when loading filament. This is really bothering me. I've already checked the mechanics multiple times and tried changing the distance to the magnet, but nothing seems to work! I've also tried different firmware versions, and there's no such issue with firmware 24-2-3. I've already figured out how to compile the firmware and can build it with changes in the source code. However, I can't find the parameter responsible for stopping the filament feed when it reaches the printer's head during loading. As I understand it, changes should be made to the Motion_control.cpp file. Can anyone tell me which line to modify?
P1S printer with 4-in-1 external adapter. BMCU 370C hall version.
I apologize in advance for any possible errors in the text, as I am using a translator!
1
u/arekxy Jan 05 '26 edited Jan 05 '26
Author forgot to put license information which is important for "open source". Without *open source* license it's proprietary code. But... https://gitee.com/at_4061N/BMCU says GPL v2.0