PicoMMU & HappyHare

82 views
Skip to first unread message

Thor Sten

unread,
Jan 29, 2026, 3:02:55 AM (11 days ago) Jan 29
to 3D Printing Tips and Tricks

Hi guys.

I'm trying to set up Happy Hare with my Pico MMU. I've adjusted the servo angles so that I can no longer push or pull the filament. However, when I run "MMU_CALIBRATE_BOWDEN", ​​the servo moves a bit away (change the angle) and releases the tension on the filament. Which parameter is responsible for this?

Or maybe it's better to not use Happy Hare and just use only Klipper. Because HH got a looot parameters.

Regards, Thorsten

Kurt

unread,
Feb 2, 2026, 10:16:08 AM (7 days ago) Feb 2
to 3D Printing Tips and Tricks
Thor - I'm sorry to see you haven't gotten any replies to your posting. Which probably means that nobody here is using the  PicoMMU & HappyHare combo!

Have you tried searching the web for a solution? Or - better yet - pitch your problem to AI? I mostly use Claude AI - for coding purposes. But, for other things - and more generalized stuff - I just toss the problem over to Co-Pilot, which is what I just did. I basically gave "him" what you posted - and this was his reply:

Hey Kurt — I’ve seen this exact behavior with PicoMMU on Happy Hare.
What’s happening is normal: when you run MMU_CALIBRATE_BOWDEN, Happy Hare temporarily moves the selector servo to its “move” (or “up”) position, so the selector can travel freely while it measures bowden length. On Type‑A MMUs with a servo selector (like PicoMMU), those named positions are up, down, and move; down grips the filament, while up/move release it. If your move angle releases too much tension, the filament can be pushed/pulled during the routine — exactly what you’re seeing. [github.com], [github.com]

Which parameter controls this?

In mmu_parameters.cfg (and, after initial calibration, in mmu_vars.cfg), the relevant items are the servo position angles:

  • servo_down_angle → grip/engage filament
  • servo_up_angle → release filament
  • servo_move_angle → clearance for selector moves (defaults to up if not set)

From HH v2.4 onward, these named angles are stored as calibrated values in mmu_vars.cfg once you run the servo calibration sequence, but conceptually they’re still the same three positions. [github.com]

How to stop it from releasing during MMU_CALIBRATE_BOWDEN

You’ve already tuned angles so you can’t push/pull when “gripped”; now make sure the angle Happy Hare uses while “moving” doesn’t let go too far.

Option A (quickest): set servo_move_angle closer to servo_down_angle.

  • If servo_move_angle is currently equal to (or very near) servo_up_angle, move it toward the down value just enough that the selector can still travel without rubbing, but the idler stays lightly engaged.
  • You can experiment live with:
    INI
    # Console (no restart needed)
    MMU_TEST_CONFIG servo_move_angle=XXX
    MMU_SERVO POS=move
    Iterate until POS=move gives a “light clamp” (can’t hand-push/pull filament), then persist the value in mmu_parameters.cfg (or re-run the servo calibration so it writes into mmu_vars.cfg). [github.com], [github.com]

Option B (recommended if you haven’t run it): re‑calibrate the servo positions properly.

  • Run through the Servo calibration step so Happy Hare records good up/down/move angles for your PicoMMU mechanics. Use MMU_SERVO to view/tweak angles, then save. The docs describe using MMU_SERVO to check current angle and the named positions, and explain that down should engage without overshoot and move should clear the arm just enough. [docs.siboor.com], [github.com]

Tip: The wiki notes that move is “ready the servo for selector movement (optional – defaults to up)”. If you don’t need a separate “move” height, you can set servo_move_angle = servo_down_angle (or only a couple degrees above it) so the servo continues gripping during bowden calibration. Just ensure the selector can still traverse freely on your PicoMMU. [github.com]

A couple of extra checks (often overlooked)
  • State of servo positions in new HH versions – If you upgraded recently, remember v2.4+ stores the calibrated positions in mmu_vars.cfg. Editing only mmu_parameters.cfg might not take effect until you either (a) use MMU_TEST_CONFIG during runtime or (b) re-run the servo calibration to update the stored values. [github.com]
  • Run calibrations in order – Happy Hare expects: Selector → Servo → Gear → Encoder (if present) → Bowden → Gates. Re-doing Servo after Gear/Encoder means you should at least re-run Bowden to keep everything consistent. [github.com], [github.com]
TL;DR

The parameter that’s “releasing” your filament during MMU_CALIBRATE_BOWDEN is the servo_move_angle (or its stored calibrated equivalent). Bring servo_move_angle closer to servo_down_angle (or re-calibrate the servo positions so “move” still grips lightly) and the filament will stay clamped during the bowden routine. [github.com]


If you can paste your current MMU_SERVO readout (it prints the current angle and the map for up/down/move) plus the MMU_STATUS line for your PicoMMU, I can suggest a safe servo_move_angle delta to try first.


Anyway Sir - Goodluck with this!
-Kurt

Bryan Eckert

unread,
Feb 2, 2026, 11:02:52 AM (7 days ago) Feb 2
to 3D Printing Tips and Tricks
Interestingly, this is what CoPilot gives me:

It’s the “release” angle that Happy Hare uses for the Pico MMU’s servo during certain operations—including MMU_CALIBRATE_BOWDEN. By default, Happy Hare may move the selector to a neutral “between‑lobes” position to release filament tension for safe moves. On Pico MMU builds this can look like the servo backing away and letting the filament slip.

What to change

Set a fixed release angle for the Pico’s servo selector:

  • Parameter: selector_release_angle
  • Where: mmu_parameters.cfg (the Happy Hare parameters file)
  • What to set: Typically 0 (or whatever your servo’s “home”/grip-safe angle should be)
    INI
    # In mmu_parameters.cfg
    # Force a specific angle whenever HH wants to "release" the servo
    selector_release_angle: 0 # -1 = default auto (between lobes); 0 (or your angle) = fixed
    This option was added specifically for Pico MMU users so that “release” doesn’t pick a mid‑position that reduces tension. [github.com]

Note: Earlier discussion/commits also referred to this as servo_release_angle; in current configs the user‑facing key is selector_release_angle alongside selector_gate_angles and (if used) selector_bypass_angle. [github.com]

Verify your angles

  1. Check current servo positions:

    MMU_SERVO
    

    This prints the current angle and the named positions. Use it to confirm where “up/down/move” are landing. (General Happy Hare calibration docs show this workflow.) [docs.siboor.com]

  2. Show selector angles (handy sanity check):

    MMU_CALIBRATE_SELECTOR SHOW=1
    

    Newer builds will echo the gate angles and the current release angle. [github.com]

  3. Test without restarting (runtime tweak):

    MMU_TEST_CONFIG selector_release_angle=0
    

    If this behaves as you want, commit it to mmu_parameters.cfg so it persists across restarts. (Happy Hare supports live parameter edits for testing.) [github.com], [github-wiki-see.page]

Why it happens during MMU_CALIBRATE_BOWDEN

The bowden calibration step automates feeding/retracting and may purposely “release” the selector to avoid scraping or binding while measuring lengths. When “release” is the default “between‑lobes” position, it can unload the filament slightly on a Pico and make it feel like tension was lost. Pinning the release angle to a known safe value (e.g., 0°) prevents that behavior. (See the Type‑A/Pico MMU calibration notes and the step order that includes bowden length.) [github.com], [github.com]


--
You received this message because you are subscribed to the Google Groups "3D Printing Tips and Tricks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 3d-printing-tips--...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/3d-printing-tips--tricks/ea40834a-e9e4-4255-b707-f88916c144c8n%40googlegroups.com.

Ed Street

unread,
Feb 2, 2026, 3:59:08 PM (7 days ago) Feb 2
to 3D Printing Tips and Tricks
Would be much easier to join the HH discord, where this same question is a super common topic.   

Gary Myles

unread,
Feb 2, 2026, 4:20:43 PM (7 days ago) Feb 2
to Ed Street, 3D Printing Tips and Tricks
Was going to suggest the same, the Happy Hare discord, people there will have a better idea how to resolve the issue 

Thor Sten

unread,
Feb 2, 2026, 4:23:22 PM (7 days ago) Feb 2
to Gary Myles, Ed Street, 3D Printing Tips and Tricks
The combination of PicoMMU and Happy are isn't that famous. Was hoping someone here got it 

You received this message because you are subscribed to a topic in the Google Groups "3D Printing Tips and Tricks" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/3d-printing-tips--tricks/HC1Bn4p97RM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to 3d-printing-tips--...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/3d-printing-tips--tricks/CAKNB5DtB%3DvoB7hPUsn3qLXVFLy8zHYQ_mD8Sy%3D2tGZUFLL09-g%40mail.gmail.com.

Ed Street

unread,
Feb 2, 2026, 5:08:47 PM (7 days ago) Feb 2
to 3D Printing Tips and Tricks
There are safeguards in place for the servo; one of them is to give up and fail in a safe location.  This is also a common cause of broken actuator points due to pressure. There are multiple configurations depending on the MMU flavor you are using.  Type A or Type B.  It shows PICO-MMU is Type A.  Not sure which setup you are using for that.


  https://github.com/moggieuk/Happy-Hare/wiki/MMU-Calibration-TypeA
vs 

I also see your Reddit post has gone unanswered.  I am asking on HH Discord if anyone is using that setup.  In the search, I find 66 hits with "Pico MMU." 

If anyone wants to see the three types of MMUs, here is the info.  https://github.com/moggieuk/Happy-Hare/wiki/Conceptual-MMU

I can tell you from experience that if the servo settings are off, the commands will do things like that. 

Reply all
Reply to author
Forward
0 new messages