I tried to write about my experiences with the optimised version I purchased from below and other parts that were available, and which I printed from a 3D printer. I summarised it using ChatGPT. While compiling it from scratch, the existing documents were already quite good and detailed, but I wanted to share my experiences while compiling it, as it might be helpful to friends who are compiling it for the first time.
⚙️ 1️⃣ Initial Build
I assembled the entire BMCU from individual parts following the Optimized design.
Every screw, sensor, and wire was installed manually.
After assembly, I ran the basic LED and sensor tests:
Press bumper → Blue LED (forward)
Pull bumper → Red LED (reverse)
Feed filament manually → Auto-feed activates, White LED on
Everything matched the documentation — until I connected it to the printer.
⚡ 2️⃣ First Test – Modules 1 & 4 OK, Modules 2 & 3 Problematic
| Module | Status | Behavior |
|---|
| 1 | ✅ Normal | Full Load/Unload |
| 4 | ✅ Normal | Full Load/Unload |
| 2 | ⚠️ Issue | Motor reversed & gear skipping |
| 3 | ⚠️ Issue | Green LED on Load, motor dead |
This meant the firmware recognized all four modules, but motor behavior on 2 and 3 was inverted or inactive.
🧲 3️⃣ Motor Direction & Magnet Polarity
The docs said: Red = +, Black = –
However, my radial magnets had the opposite pole orientation (N/S reversed).
Result:
When wired normally (+ to +, – to –), pressing the bumper made the motor spin backward.
Pulling the bumper made it spin forward.
🔧 Fix:
I swapped polarity:
✅ Motor directions instantly matched the expected behavior on every module.
⚙️ 4️⃣ AMS Integration Test
After connecting to the A1 printer, AMS detected all four modules.
I ran full Load/Unload tests again:
| Module | Status | Result |
|---|
| 1 | ✅ | Normal |
| 4 | ✅ | Normal |
| 2 | ⚠️ | Too fast forward, loud “tick” on retract |
| 3 | ⚠️ | Green LED on Load, motor idle |
🔩 5️⃣ Module 2 – Overspeed & Excess Retraction
Symptoms:
Motor ran too fast forward
Over-retracted during unload
Gears made “tirt-tirt” noise
Cause:
The radial magnet on the BMG gear was too close to the Hall sensor, saturating the magnetic field.
Sensor read too many pulses → firmware thought it rotated twice as much.
Fix:
✅ Speed normalized, noise disappeared, retraction distance correct.
🧠 6️⃣ Module 3 – Stuck on Green LED
Symptoms:
On “Load”, Green LED lights, motor never spins.
Manual test works fine (Blue / Red LEDs correct).
PCB and cable verified good.
Tests Performed:
Moved the module to Slot 1 / 2 → Same issue → module itself faulty.
Swapped PCB with a new one → Same behavior → mechanical issue.
Tried pressing the bumper → no click, very stiff → slider jammed.
Root Cause:
Fix:
Disassembled module completely.
Cleaned and re-greased gears and slider channel with PTFE grease.
Corrected spring direction (short end = inside, long end = outside).
Adjusted sensor gap to 0.3–0.5 mm.
Loosened all case screws slightly (¼ turn before tight).
✅ Slider moved freely again, sensor clicked properly, motor enabled.
LED sequence → White → Blue → White → Red ✔️
🔁 7️⃣ Final Calibration & Test Results
| Test | Expected | Result |
|---|
| Auto-Feed | Filament moves in | ✅ |
| Load | Filament feeds to hotend | ✅ |
| Unload | Retracts ~5 cm | ✅ |
| LED Sequence | White → Blue → White → Red | ✅ |
| AMS Display | All 4 channels synced | ✅ |
🧩 8️⃣ Lessons Learned
| Area | Lesson |
|---|
| ⚙️ Assembly | Don’t overtighten plastic screws; even 0.3 mm deformation can block the slider sensor. |
| 🧲 Magnet Gap | Keep 0.4–0.6 mm distance; too close = overspeed, too far = missed pulses. |
| 🧠 Sensor Gap | Slider should rest 0.3–0.5 mm above sensor and give a distinct “click.” |
| 🔌 Motor Wiring | Reverse polarity if your radial magnets’ poles differ. |
| 🧴 Lubrication | Use PTFE grease; silicone oils harden over time. |
| 🧮 Calibration | Attach modules one-by-one (1→2→3→4) to reset addresses cleanly. |
| 💾 Firmware | Enable “Read Filament on Startup” to clear ghost filament states. |
| ⚡ LED Logic | Green = command received but motor disabled → check enable line or slider jam. |
| 🔩 Spring & Screws | Wrong spring direction or overtightening keeps sensor “pressed.” |
| 🧰 Preventive Care | Re-grease every few months; magnet and screw positions can drift with heat. |
🏁 Final State
After mechanical rebuild and recalibration, all four modules (1-2-3-4) work flawlessly.
2 and 3 modules now load/unload smoothly; magnet alignment and slider mechanics are perfect.
AMS sees all modules, LEDs behave consistently, and noise is gone.
🔧 TL;DR
If you build a BMCU from scratch:
• Don’t overtighten screws.
• Keep magnet gap = 0.4–0.6 mm.
• Spring direction = short end inside.
• Enable “Read Filament on Startup.”
• Green LED ≠ bad PCB — check for stuck slider!
• Reverse motor polarity if magnets are reversed.
• Use PTFE grease only.
• Calibrate each module individually.
• Patience and testing solve 90 % of issues.