Skip to content

From Beginner to Finished Product: BMCU Manufacturing (BMCU Assembly Tutorial) Truly Step-by-Step

INFO

This tutorial was created by group member @少年谈情不说爱℡ and slightly modified by @wanzi

INFO

Another group member @晓心乐子人 has created a video tutorial

This version and its derivatives are not the latest and are outdated, no longer maintained by the Bambu Lab team

v1.1 & v1.31

130 Improved Shell Version

Acknowledgments to 4061N and Parentheses for Open Source

Author: 山竹 (Shanzhu)

Preface

BMCU is primarily open-sourced by 4061N, with Parentheses contributing to the BMCU component framework and the design of the BMCU-to-printer bracket.

BMCU is designed with four channels as one unit, currently using the CH32 microcontroller as the main control. All required design references are based on publicly available online materials and personal testing. The program is developed on the Platform IO platform using the Arduino support library for CH32 microcontrollers and incorporates the CRC library by robtillaart. Note: This project follows the GPL2.0 open-source license, with the additional stipulation that it is prohibited for commercial use.

BMCU is intended for DIY learning and must be used with Bambu Lab printers A1 or A1mini to achieve functionality similar to AMS lite, enabling multi-color and multi-filament printing with automatic filament switching and feeding. However, it lacks the RFID automatic filament recognition feature. We still recommend purchasing the official Bambu Lab AMS lite for better reliability. Please note that DIY projects come with inherent risks, and the author is not responsible for any resulting issues.

This project requires basic soldering skills. Beginners should seek separate soldering tutorials, as this guide does not cover basic soldering techniques.

Source Address: https://gitee.com/at_4061N/BMCU

Written: 20250124-20250215

PCB Ordering Tutorial

  1. Open the JLCPCB ordering platform: https://member.jlc.com/?spm=PCB.Homepage.functionbar.1023, register, and log in. First, claim the two monthly coupons (All Menu → User Center → Coupon Center → Free Coupons). Each coupon allows free production of up to 5 boards (10x10cm).

Image

Image

  1. Open and log in to the JLCPCB hardware open-source platform: https://oshwhub.com/.

Search for BMCU and choose between the official pin-programming V1.1 board or the third-party modified USB-C programming V1.31 board, depending on your needs. Different interfaces will require different base shells later.

Image

  1. Open the design files (including the mainboard and sub-board).

Image

  1. First, select PCB1-1 (mainboard). You can manually panelize the boards or order them directly. Then, select Order → PCB Order.

Image

Image

  1. A pop-up will appear. Select "Yes, check DRC" (if no pop-up appears, ensure you are logged in). If no errors are found, confirm via the pop-up.

Image

Image

  1. Follow the images to select the options.

Image

Image

Image

Image

  1. Follow the images to select options and fill in your invoice details.

Image

Image

  1. Follow the images to select options, enter your phone number and shipping address, and choose your preferred courier.

Image

  1. Apply the coupon. After confirmation, the total should show as free.

Image

Image

Image

  1. Review the order. If everything is correct, submit the order and confirm payment (should be ¥0). If it’s not free, there may be an error or the order may not meet coupon requirements.

Image

Image

  1. Repeat the above steps to order PCB1-2 (sub-board). This completes all PCB orders. By default, this will order 5 mainboards (PCB1_1) and 5 sub-boards (PCB1_2) (one BMCU set requires 1 PCB1_1 and 4 PCB1_2).

Image

Materials and Soldering Tools

  1. Refer to the materials list: (Full Bill of Materials)

  2. Soldering Tools:

    • Soldering iron (recommended models: T12, C210, 245)
    • Hot plate/hot air gun (recommended: WY858 hot air gun)
    • Solder paste/solder wire (recommended: medium-temperature 183°C)
    • Flux
    • Tweezers
  3. Soldering auxiliary tools (included in the package):

Image

Note for beginners:

  • Chips must be soldered with the dot marking aligned correctly.
  • RGB LEDs must be soldered with the triangle marking aligned correctly.
  • Resistors and capacitors are non-directional.
  • SMBJ24CA components are non-directional.
  • Pin headers must be soldered in the correct positions.
  • Motors must be soldered with the correct polarity (marked on the PCB).
  • Photoelectric sensors must be soldered with the correct orientation.
  • LED indicators must be soldered with the correct polarity.

WARNING

Before powering on, thoroughly inspect the PCB for solder bridges, shorts, cold joints, or incorrect component orientation to avoid permanent damage! Take photos and share them in the group for reference, and check against the Ground Value Reference.

Mainboard and Sub-board Overview

  1. Mainboard Diagram:

Image

  • R button: Chip reset button.
  • B button: Boot0 button (pulls the chip into programming mode).
  1. Sub-board Diagram:

Image

Image

Firmware Flashing

IMPORTANT!!! Before flashing the firmware, ensure there are no solder bridges, shorts, cold joints, or incorrect component orientations on the PCB. Otherwise, the board may be damaged.

Testing method:

  • Use a multimeter in continuity mode to check for shorts between the positive and negative terminals of the voltage regulator (no beep means normal).
  • Check capacitors for continuity (normally no beep).
  • Check for shorts between the 3.3V and GND pins (no continuous beep).
  • Use the multimeter in resistance mode to verify resistor values are within the correct range.
  1. Recommended USB-to-TTL module (fewer issues):

tb_image_share_1739546625472.jpg

  1. Follow the firmware flashing tutorial and precautions.

Note: For the USB-C version, failing to remove protection on the first flash attempt is normal. Just proceed with the download. For subsequent flashes, remove protection twice until successful before downloading.

LED Indicator Meanings

QQ图片20250207010955

BMCU Assembly

Step 1: Pre-Assembly PCB Testing

  1. Ensure the BMCU mainboard firmware (V0.2) is successfully flashed (red LED lights up when powered via USB-to-TTL; blue LED lights up when connected to the printer via MX3.0 4-pin cable).
  2. Ensure the sub-board functions correctly:
    • When powered via USB: The RGB LED should be blue (port 1 blue, ports 2-4 off; blinking is normal). The two photoelectric sensor LEDs should be off. When the sensor is blocked, the corresponding backlight should turn on. The feed RGB LED turns blue; the jam RGB LED turns red.
    • When powered by the Bambu Lab printer: Both the mainboard and sub-board RGB LEDs should be blue. The photoelectric sensor LEDs should be off. When blocked, the backlight turns on, and the RGB LED remains blue.
  3. Ensure proper communication between the mainboard, sub-board, and printer. When connected, the printer's filament menu should show the AMS option, and blocking the sensor should display the filament.

Step 2: Mechanical Assembly Part 1 (Feeder Unit, 4 Units Required for 1 Set)

  1. First, print one feeder shell and test for fit before printing the rest to avoid material waste. This tutorial uses this model: https://makerworld.com.cn/models/741793 (modified by 青铜板子cn).
  2. Screw the pneumatic fitting (PC4-M6 passthrough) into the buffer assembly. Avoid misalignment.

IMG_20250111_223033

  1. Take one large spring (0.5×6×10mm) and a 62B bushing. Assemble as shown.

IMG_20250111_224417

  1. Compress the spring and insert it into the base shell (keep the spring vertical to avoid jamming).

IMG_20250111_225739IMG_20250111_225837

  1. Ensure the assembly moves smoothly.

IMG_20250111_230019

  1. Assemble the gear mechanism. Take two small gears (182A) and short shafts (2×10mm). Assemble as shown (ensure equal shaft length on both sides).

IMG_20250111_231729

  1. Take the large gear (242A) and long shaft (2×20mm). Assemble as shown (one end should be flush with the arrow).

IMG_20250112_004620

IMG_20250112_004916

  1. Take the two triangular parts (replaceable).

IMG_20250111_232244

  1. Assemble the large gear and triangular parts (!!! Pay attention to gear orientation!!!).

IMG_20250111_232616

  1. Assemble the remaining two small gears, cover the assembly, and tighten the screws (M2×8 self-tapping). The gears should rotate smoothly—neither too loose nor too tight.

IMG_20250111_232704

IMG_20250111_232952

  1. Insert five 62B bushings (white) into the base and top cover as shown. Press firmly.

IMG_20250111_234010

  1. Assemble the BMG extruder mechanism. Prepare the threaded extruder gear, set screw, one thick shaft (5×22mm), and two bearings (MR85ZZ).

WARNING

The shaft tolerance may be poor. Select shafts with correct dimensions to avoid issues like bearings not fitting or magnets not rotating.

IMG_20250124_004011

  1. Assemble as shown (note orientation). One end of the shaft must be flush with the bearing (for magnet placement). Ensure the set screw is tightened (protrusion is acceptable unless it interferes with gear operation).

IMG_20250118_225834

  1. Insert the extruder assembly into the base shell.

IMG_20250112_005355

  1. Place the gear assembly into the bushings with the screw side facing down.

IMG_20250112_005412

  1. Insert two long shafts (2×20mm) into the 62B bushings. Install two gears (20082B double-layer spur gears) in order.

IMG_20250112_005803

IMG_20250112_010149

  1. Combine the FF-130SH motor with the worm gear (682A). Ensure alignment to avoid jamming.

IMG_20250124_000228

  1. Insert the 62B bushing (white part) into the cover hole.

IMG_20250112_010242IMG_20250112_010257

  1. Attach the motor cover and secure with two M2×4mm flat-head screws.

IMG_20250112_012503

  1. Solder the motor wires (red dot indicates positive).

IMG_20250112_012852

  1. Insert the motor into the slot (test motor rotation at 3V-12V to ensure gear engagement before proceeding).

IMG_20250112_141220

  1. Attach the cover and secure with M2×8 screws. Apply grease to gears if needed.

IMG_20250205_162141

  1. Install the photoelectric sensor module (choose the most stable variant; if all work, use the one labeled "7.2").

IMG_20250112_135936IMG_20250112_135823

  1. Thread the motor wires through the top cover slot and close the cover.

IMG_20250112_141505

  1. Insert the radial magnet (6×2.5mm, critical—must be the correct size and type) into the marked hole. Ensure smooth rotation and flush fit.

IMG_20250112_141615

IMG_20250215_160544

  1. Secure the back cover with five M2×8 self-tapping screws.

IMG_20250112_142226

  1. Install the sub-board. Solder the motor wires (note polarity) and secure with two M2×8 screws.

IMG_20250112_145852

  1. Prepare the following parts: two needle bearings, BMG shaft, non-threaded spool gear, and printed wrench. Assemble as shown.

IMG_20250124_012843

IMG_20250112_150133

IMG_20250112_150429

  1. Place the small spring (0.6×4×10mm) as shown. Attach the wrench and ensure the spring is seated correctly.

IMG_20250112_150758

  1. Insert the short shaft (D2×10mm) and long shaft (D2×20mm) in order through the bushings and wrench hole. Ensure smooth rotation.

IMG_20250112_150928

IMG_20250112_151117

IMG_20250112_151444

  1. Organize the motor wires, attach the cover, and secure with four M2×8 screws. The extruder assembly is now complete.

IMG_20250124_023157

  1. Insert a transparent filament into the marked hole (push fully) and trim. This guides the LED light.

IMG_20250113_030204

IMG_20250113_030435

Repeat the above steps to assemble all four feeder units.

Step 2: Mechanical Assembly Part 2 (Base Installation and Connection)

  1. Connect the feeder units with PH2.0 10-pin male-to-male reverse cables (recommended length: 80mm).

IMG_20250113_153924

  1. Mount the feeder units onto the base cover. Align the holes and route the cables through the channels.

IMG_20250113_154944

  1. Secure the base cover with M2×8 screws at the marked positions. Repeat for all feeders.

IMG_20250124_024554

  1. Mount the mainboard onto the base. Secure with M2×8 screws at the marked positions.

IMG_20250113_162238

  1. Assemble the base halves. Secure the bottom with M3×14 screws at the marked positions.

IMG_20250113_162404

IMG_20250124_023338

  1. Connect the cables to the ports, cover the cable compartment, and secure with M3×14 screws.

IMG_20250114_134503

IMG_20250124_022519

  1. Attach pneumatic fittings (PC4-M6 passthrough) to the four bottom feed ports.

IMG_20250119_183604

  1. The BMCU assembly is now complete.

IMG_20250119_183542

  1. The feed and output ports are oriented as shown. Do not reverse them.

IMG_20250212_201503

3D Printer Connection Guide

Use a 1-meter male-to-male reverse MX3 cable. Custom lengths are possible. You can buy pre-made cables (see the materials list) or DIY.

DIY Cable Guide:

  1. Materials: 1-meter 4-core 0.3mm² cable (or similar 5.2mm OD), 8x MX3.0 pins, 2x MX3.0 male housings, 2x 3D-printed strain reliefs (recommended model: https://makerworld.com.cn/models/846836).
  2. Tools: SN-58B crimper, wire stripper, etc.
  3. Strip 12mm of outer insulation and remove filler threads.
  4. Strip 3mm of inner insulation.
  5. Crimp the pins (refer to online tutorials).

IMG_20250120_014533

  1. Thread the cable through the strain relief parts.

IMG_20250118_033328

  1. Insert the pins into the MX3.0 housing in the correct order (!!! critical to avoid damage !!!). Attach the strain relief.

Image_166480426732115

IMG_20250122_145131

IMG_20250202_003406

  1. Repeat steps 6-7 for the other end. Both ends must have the same pinout.

IMG_20250117_233409

Mounting Bracket Options

No fixed tutorial. Many Bambu Lab-compatible bracket models are available online. Choose one that suits your needs.

Troubleshooting

Printer does not recognize BMCU (AMS not displayed), mainboard shows red LED

Solution: Usually caused by reversed A/B wires in the cable. Swap them. If unresolved, check for soldering issues (cold joints, bridges) or faulty communication components (e.g., incorrectly oriented or poorly soldered chips). If using a DC-DC module, voltage instability may be the cause.

Filament detected when none is present, or sensor LED flickers

Solution: Often due to misaligned sensor holes in the original shell model, loose feed channels, or poorly soldered sensors. Use the improved shell with replaceable sensor modules or resolder the sensor.

Filament feeds then retracts, failing to load

Solution: Common causes: missing radial magnet, magnet stuck, missing extruder gear set screw, incorrect magnet type/size (must be 6×2.5mm radial magnet). Test by rotating two magnets 180°—they should repel. Alternatively, check for AS5600 encoder soldering errors or gear jams causing step loss.

IMG_20250206_211548

Flashing fails—device not recognized (no COM port)

Solution: Usually due to a short (3.3V to GND), incorrect wiring, or driver issues (rare—most USB-TTL adapters auto-install drivers).

Flashing fails—protection removal or download fails, or software does not detect COM port

Solution: Often caused by incorrectly oriented or poorly soldered MCU, wrong wiring, or incompatible flasher (older models may not work with newer Windows versions). For USB-C boards, retry protection removal twice.

Feeder motor spins but does not feed/retract, or gears do not turn when they should

Solution: Usually due to loose/faulty triangular clutch gears or shell misalignment causing gear binding.

wanzi's note: See Troubleshooting for solutions.

Loud feeder noise

Solution: Often caused by misaligned worm gear (not flush with motor shaft), gear friction, or lack of lubrication (apply grease).

Filament inserted, sub-board LED on, but printer does not detect it

Solution: Often due to missing magnet (requires power cycle—avoid hot-plugging). Press the mainboard R button or check for loose PH2.0 connectors/cable breaks. Resolder if needed.

Sub-board LEDs malfunction without shell; or constant red LED when no filament is inserted

Solution: Often due to reversed resistors, incorrect PH2.0 male-to-male reverse 10-pin cables (80mm), loose connectors, or solder bridges (common near resistors/capacitors).

Filament inserted, sub-board LED off, but printer displays it

Solution: Usually caused by reversed LED polarity. Correct as shown:

d6a643ce67c82ab3e2e9577c79a727ae

Print stalls at 99%, endless retraction, or fails to auto-unload

Solution: Cause unclear (may be communication or hardware related). Manually unload the filament. Properly adjusting the triangular clutch gears and placing the BMCU sideways can reduce occurrences.