# MMU — Impresión multifilamento

<figure><img src="https://raw.githubusercontent.com/wiki/moggieuk/Happy-Hare/resources/universal_mmu_driver.png" alt="Happy Hare — driver universal MMU para Klipper"><figcaption><p>Happy Hare soporta más de 15 sistemas MMU diferentes desde una única capa de software</p></figcaption></figure>

Si quieres imprimir en varios colores o materiales desde una sola impresora, necesitas un sistema MMU (Multi-Material Unit). En Klipper hay varias opciones — desde proyectos open source de la comunidad hasta soluciones comerciales — y la mayoría se gestiona hoy en día a través de **Happy Hare**, el firmware unificado de referencia para MMU en Klipper.

{% hint style="warning" %}
**Antes de meterte en un MMU**: asegúrate de que tu impresora está bien calibrada y funciona sin problemas. Un MMU no arregla problemas previos — los amplifica. Pressure Advance, retracción y temperatura de purga son los ajustes más críticos.
{% endhint %}

Si tienes dudas o necesitas ayuda en el proceso, únete al grupo de Telegram [**Klipper ES — ERCF/MMU**](https://t.me/Klipper_Firmware_ES/94927) donde encontrarás a gente con experiencia real en estos sistemas.

Os recordamos que tienes más guías de ayuda en nuestro bot de Telegram [@ThreeDWorkHelpBot](https://t.me/ThreeDWorkHelpBot)

***

## ¿Qué es Happy Hare?

Antes de hablar de hardware, es imprescindible entender [**Happy Hare**](https://github.com/moggieuk/Happy-Hare) porque es el cerebro de casi todos los sistemas MMU en Klipper.

Happy Hare es una extensión de Klipper desarrollada por [**moggieuk**](https://github.com/moggieuk) que actúa como **driver universal para sistemas MMU**. En lugar de tener cada sistema su propio firmware con sus propias macros, Happy Hare proporciona una capa unificada que funciona con más de 15 sistemas de hardware diferentes.

### ¿Qué aporta Happy Hare?

* **Gestión de estado completa**: sabe en todo momento dónde está el filamento — cargado, en el selector, en el buffer, etc.
* **Recuperación de errores automática**: si hay un atasco o un fallo de carga, intenta resolver el problema solo antes de pausar
* **Endless Spool**: si un carrete se agota durante la impresión, puede cambiar automáticamente a otro carrete del mismo material
* **Integración con Mainsail/Fluidd**: panel de control visual dentro de la UI
* **KlipperScreen compatible**: panel táctil con control completo del MMU
* **Soporte de cortador de filamento**: compatible con sistemas que incluyen cuchilla (ERF, FilamATrix, etc.)
* **Integración con secadores de filamento**: puede activar/desactivar secado según el filamento cargado

### Sistemas soportados por Happy Hare

| Sistema          | Tipo                  | Estado soporte |
| ---------------- | --------------------- | -------------- |
| ERCF v1 / v2     | Selector lineal       | ✅ Oficial      |
| Tradrack         | Selector lineal       | ✅ Oficial      |
| Box Turtle (AFC) | Estilo AMS, lanes     | ✅ Oficial      |
| 3MS              | Modular 2+ bobinas    | ✅ Oficial      |
| BTT ViViD        | Comercial multi-color | ✅ Oficial      |
| PicoMMU          | Compacto PCB          | ✅ Oficial      |
| Night Owl        | Dual spool integrado  | ✅ Oficial      |
| QuattroBox       | Filamentalist-based   | ✅ Oficial      |
| SMuFF v6         | Modular               | ✅ Oficial      |
| 3D Chameleon MK4 | Comercial             | ⚠️ Limitado    |

<figure><img src="https://raw.githubusercontent.com/wiki/moggieuk/Happy-Hare/resources/my_klipperscreen.png" alt="Happy Hare KlipperScreen"><figcaption><p>Panel Happy Hare en KlipperScreen — control táctil completo del MMU desde la pantalla de la impresora</p></figcaption></figure>

### Instalación de Happy Hare

```bash
cd ~/
git clone https://github.com/moggieuk/Happy-Hare.git
cd Happy-Hare
./install.sh -i
```

El instalador es interactivo y te preguntará qué hardware MMU tienes. Genera automáticamente todos los archivos de configuración necesarios.

**Archivos de configuración que genera:**

| Archivo                       | Qué configura                                     |
| ----------------------------- | ------------------------------------------------- |
| `mmu/base/mmu.cfg`            | Include principal — carga el resto                |
| `mmu/base/mmu_hardware.cfg`   | Pines físicos del MMU (motores, sensores, LEDs)   |
| `mmu/base/mmu_parameters.cfg` | Parámetros de operación (velocidades, distancias) |
| `mmu/base/mmu_macro_vars.cfg` | Variables de comportamiento de las macros         |

**Macros principales:**

| Macro                 | Función                                   |
| --------------------- | ----------------------------------------- |
| `T0`, `T1`, `T2`...   | Cambio de herramienta (filamento)         |
| `MMU_HOME`            | Homing del selector                       |
| `MMU_LOAD`            | Cargar filamento al nozzle                |
| `MMU_UNLOAD`          | Descargar filamento                       |
| `MMU_PAUSE`           | Pausar y esperar intervención             |
| `MMU_RESUME`          | Continuar tras resolver un error          |
| `MMU_STATUS`          | Ver estado actual del sistema             |
| `MMU_SYNC_GEAR_MOTOR` | Sincronizar motor del extrusor con el MMU |

***

## Sistemas MMU compatibles con Klipper

### ERCF v2 — Enraged Rabbit Carrot Feeder

<figure><img src="https://raw.githubusercontent.com/Carrot-collective/ERCF_v2/master/Assets/ERCFv2.png" alt="ERCF v2"><figcaption><p>ERCF v2 — el MMU open source más popular y veterano de la comunidad Klipper</p></figcaption></figure>

El **ERCF** es el MMU open source más popular de la comunidad Klipper. Nació como proyecto para máquinas Voron pero funciona prácticamente con cualquier impresora.

La versión **v2** es una revisión completa respecto a la v1.1 con construcción simplificada, mayor fiabilidad y opciones de expansión:

* **Selector lineal** con un motor de control para seleccionar el canal activo
* **Un motor de empuje por canal** (o en algunos diseños, motores de engrane)
* **Soporte de buffer integrado** mediante el módulo ERCT (Enraged Rabbit Cotton Tail)
* **Opción de cortador de filamento** con el módulo ERF (Enraged Rabbit Filament Cutter)
* **Kits disponibles**: Fysetc, Funsor, Blurolls, Trianglelab — entre 80€ y 200€ según versión y número de canales

**Canales disponibles**: de 2 a 12 filamentos según el modelo que montes.

**GitHub**: <https://github.com/Enraged-Rabbit-Community/ERCF_v2>

**Firmware recomendado**: Happy Hare (obligatorio para v2)

{% hint style="info" %}
Si tienes un ERCF v1 funcionando con el firmware antiguo (ERCF Software V2/V3), puedes migrar a Happy Hare sin cambiar el hardware. La migración merece la pena por las mejoras en recuperación de errores.
{% endhint %}

**Electrónica recomendada:**

* **BTT MMB** (MMU Management Board): placa dedicada con pines optimizados para ERCF
* **Mellow MMU Board**: alternativa con soporte de CAN
* Cualquier Raspberry Pi / BTT Pi con puertos GPIO libres

***

### Tradrack — ANNEX Engineering

<figure><img src="https://raw.githubusercontent.com/Annex-Engineering/TradRack/main/Images/render3.png" alt="Tradrack ANNEX Engineering"><figcaption><p>Tradrack — diseño modular de selector único, escalable a bajo coste por canal</p></figcaption></figure>

[**Tradrack**](https://github.com/Annex-Engineering/TradRack) es el MMU de ANNEX Engineering (los mismos de las impresoras K3 y Gasherbrum). Su filosofía de diseño es diferente al ERCF:

* En lugar de un motor por canal, usa un **selector tipo carril único con un solo motor** para seleccionar el filamento activo
* **Diseño modular**: se puede ampliar el número de canales añadiendo módulos sin cambiar la mecánica principal
* **Menor coste por canal** que ERCF gracias a la mecánica más simple
* **Muy buena documentación** y comunidad activa dentro de ANNEX Engineering

**Canales**: modular, desde 2 hasta N filamentos.

**GitHub**: <https://github.com/Annex-Engineering/TradRack>

**Firmware**: Happy Hare — soporte oficial completo.

***

### Box Turtle — AFC (Automated Filament Changer)

[**Box Turtle**](https://github.com/ArmoredTurtle/BoxTurtle) es el sistema de la comunidad **ArmoredTurtle** que más se asemeja conceptualmente a un Bambu AMS: un sistema de carriles con rebobinado automático y gestión de buffer integrada.

* **Estilo AMS**: carriles independientes con motores de rebobinado eléctrico
* **Buffer TurtleNeck**: buffer integrado entre el Box Turtle y el toolhead
* **FilamATrix**: módulo de corte de filamento integrado
* **Plugin Klipper**: [AFC-Klipper-Add-On](https://github.com/ArmoredTurtle/AFC-Klipper-Add-On) — se puede usar de forma independiente o junto a Happy Hare

**Estado**: v1.0 estable, en desarrollo activo (2025-2026).

**GitHub**: <https://github.com/ArmoredTurtle/BoxTurtle>

{% hint style="success" %}
Box Turtle es una de las opciones más interesantes si buscas una experiencia similar al Bambu AMS en una impresora DIY con Klipper. El rebobinado automático hace la experiencia mucho más cómoda.
{% endhint %}

***

### PicoMMU

<figure><img src="https://raw.githubusercontent.com/AdamTuraj/PicoMMU/main/images/3DView.png" alt="PicoMMU"><figcaption><p>PicoMMU — PCB compacto para multifilamento a bajo coste</p></figcaption></figure>

[**PicoMMU**](https://github.com/AdamTuraj/PicoMMU) es la opción más compacta y económica para quienes quieren probar el multifilamento sin una gran inversión. Está diseñado alrededor de una PCB que controla un único motor/servo para cambiar entre 4-8 filamentos.

* **Precio**: muy bajo, pensado para presupuestos ajustados
* **Simplicidad**: configuración mucho más sencilla que ERCF o Tradrack
* **Limitaciones**: menor fiabilidad en cambios de filamento largos, no tan robusto para impresiones largas
* **Compatible con Happy Hare**: soporte oficial

Ideal para **iniciarse en el mundo MMU** o para impresoras con espacio muy limitado.

***

### BTT ViViD — Bigtreetech

<figure><img src="https://raw.githubusercontent.com/bigtreetech/docs/master/docs/img/ViViD/product.webp" alt="BTT ViViD"><figcaption><p>BTT ViViD — solución comercial con secado activo integrado y soporte de hasta 16 colores</p></figcaption></figure>

El **BTT ViViD** es la apuesta comercial de Bigtreetech para el multifilamento en Klipper. A diferencia de los sistemas open source, incluye todo integrado en una caja: selector, motores, secado activo y gestión de filamentos.

**Especificaciones:**

| Característica                         | Detalle                                              |
| -------------------------------------- | ---------------------------------------------------- |
| **Colores por unidad**                 | 4 filamentos                                         |
| **Expansión**                          | Hasta 16 colores conectando 4 unidades en cadena     |
| **Secado integrado**                   | Cámara calefactada hasta 60°C, imprime mientras seca |
| **Materiales beneficiados por secado** | Nylon, PETG, TPU, PA, ASA                            |
| **Detección RFID**                     | Detecta el tipo de filamento automáticamente         |
| **Alimentación de respaldo**           | Smart backup feeding para evitar fallos por rotura   |
| **Indicadores**                        | LEDs RGB con estado visual configurable              |
| **Dimensiones**                        | 373 × 293 × 252 mm                                   |
| **Firmware**                           | Firmware nativo BTT + soporte Happy Hare             |
| **Precio**                             | \~300-330€ por unidad                                |

<figure><img src="https://raw.githubusercontent.com/bigtreetech/docs/master/docs/img/ViViD/MMS1.webp" alt="BTT ViViD multi-unit expandido"><figcaption><p>4 unidades BTT ViViD en cadena = 16 colores disponibles simultáneamente</p></figcaption></figure>

**Lo que lo diferencia del resto:**

* **Secado activo integrado**: el ViViD puede secar el filamento mientras imprime. En materiales higroscópicos (Nylon, PA, PETG) esto es una ventaja real que los sistemas DIY no tienen sin añadir hardware externo.
* **RFID automático**: detecta el filamento y puede ajustar parámetros automáticamente si el slicer lo soporta.
* **Experiencia plug-and-play**: instalación mucho más sencilla que ERCF o Box Turtle. Pensado para usuarios que no quieren pasar días montando hardware imprimible.
* **Escalable comercialmente**: 4 unidades = 16 colores sin rediseñar nada.

**¿Cuándo elegir BTT ViViD?**

* Quieres multifilamento sin un proyecto DIY complejo
* Trabajas con materiales higroscópicos que se degradan sin secado
* Valoras una solución integrada con soporte de fabricante
* Tu presupuesto permite \~300€+ por unidad

**¿Cuándo no es la mejor opción?**

* Quieres más de 4-16 colores a bajo coste por canal
* Prefieres máxima personalización y control del firmware
* Tu impresora tiene espacio limitado para el sistema externo

**Dónde comprar:**

| Tienda      | Enlace                                                                                                                           |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------- |
| BTT Oficial | [biqu.equipment/products/biqu-vivid](https://biqu.equipment/products/biqu-vivid)                                                 |
| AliExpress  | [Ver en AliExpress](https://s.click.aliexpress.com/e/182731559?productUrl=https://www.aliexpress.com/item/1005010375381781.html) |

**GitHub**: <https://github.com/bigtreetech/BIGTREETECH_ViViD>

**Wiki oficial**: [global.bttwiki.com/BIGTREETECH\_ViViD.html](https://global.bttwiki.com/BIGTREETECH_ViViD.html)

***

### Anycubic ACE Pro — compatibilidad con Klipper

El **Anycubic ACE Pro** es la unidad multi-material comercial de Anycubic diseñada para sus impresoras Kobra S1 y K3. A diferencia de los sistemas open source anteriores, el ACE Pro **no está diseñado para Klipper** nativo.

**Estado actual de compatibilidad:**

{% tabs %}
{% tab title="ACE Pro en impresoras Anycubic Klipper" %}
Las impresoras Anycubic que usan Klipper internamente (Kobra S1, K3 series) incluyen el ACE Pro con firmware propietario. La comunicación entre la impresora y el ACE Pro es mediante protocolo propietario Anycubic.

Actualmente **no existe soporte oficial de Happy Hare para el ACE Pro**. Hay trabajo exploratorio en la comunidad para entender el protocolo, pero aún no hay una solución lista para producción.
{% endtab %}

{% tab title="ACE Pro con Happy Hare (experimental)" %}
Existe un fork experimental de la comunidad para el K1 Max con soporte limitado:

<https://github.com/swilsonnc/ACEPROK1Max>

Este proyecto es **experimental y no recomendado para producción**. Si quieres multifilamento fiable con Klipper, te aconsejamos optar por uno de los sistemas open source del apartado anterior.
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Si tienes una impresora Anycubic con ACE Pro y quieres usar Klipper estándar con Happy Hare, la realidad es que en 2025-2026 no es una opción directa. El camino más viable para multifilamento en Klipper sigue siendo un sistema open source como ERCF, Tradrack o Box Turtle.
{% endhint %}

***

### Otros sistemas destacados

**3MS (Modular Multimaterial System)** — [GitHub](https://github.com/3dcoded/3ms): sistema de entrada muy accesible (\~150€) para 2+ bobinas. Sencillo de montar y configurar, excelente para empezar. Soportado por Happy Hare.

**SMuFF v6** — Proyecto veterano y maduro, muy modular, soporte Klipper disponible. Para usuarios que quieren mucho control y personalización.

**3D Chameleon MK4** — Sistema comercial con soporte parcial para Klipper, pero con menor comunidad que las opciones anteriores.

***

## Preparar la impresora para MMU — hardware recomendado

Antes de instalar un MMU hay que preparar la impresora. No todas las configuraciones de hardware funcionan igual de bien con multifilamento. Estas son las mejoras que marcan la diferencia real.

### Sensor de filamento en el toolhead

El sensor de filamento en el toolhead es **la mejora más importante** que puedes hacer. Va montado justo antes del extrusor y le dice a Happy Hare exactamente cuándo el filamento ha llegado o se ha retirado del extrusor, sin tener que confiar solo en cálculos de distancias.

**Sin sensor**: Happy Hare usa distancias calculadas para cargar/descargar. Cualquier pequeña variación en el filamento, temperatura o desgaste del Bowden puede causar fallos.

**Con sensor**: Happy Hare sabe con certeza cuándo el filamento ha llegado a su posición. La tasa de éxito en cambios de filamento mejora drásticamente.

Los sensores más usados son:

* **Microswitch** montado en el toolhead/extrusor — la opción más sencilla y fiable
* **Sensor óptico** (tipo SL1) — sin contacto mecánico, larga vida útil
* Muchos toolheads modernos (Stealthburner, Orbiter, Galileo 2) ya tienen posición para sensor integrado

***

### Zona de purga / Poop chute

La **zona de purga** (también llamada "poop chute" o cubo de purga) es el área de la cama donde la impresora purga el filamento anterior antes de empezar a imprimir con el nuevo color. Hay dos enfoques:

{% tabs %}
{% tab title="Torre de purga (Wipe Tower)" %}
La torre de purga es un objeto auxiliar que el laminador genera automáticamente al lado de la pieza. La impresora va a ese objeto y purga el filamento anterior antes de volver a imprimir.

**Ventajas:**

* Funciona en cualquier impresora sin modificaciones físicas
* Configuración sencilla en OrcaSlicer/Bambu Studio
* Fiable y predecible

**Desventajas:**

* Consume filamento y tiempo de impresión
* Ocupa espacio en la cama
* Para muchos cambios de color, la torre puede ser grande

La torre de purga es el método recomendado para **empezar** con MMU.
{% endtab %}

{% tab title="Purga en el relleno/objeto (Purge to Infill)" %}
Con un cortador de filamento, el cambio es limpio y no quedan restos. En lugar de una torre de purga, el filamento sobrante se purga directamente en las zonas de relleno de la pieza (donde no se ve) o en las paredes internas.

**Ventajas:**

* No hay torre de purga — la cama queda libre
* Ahorra tiempo y filamento
* Impresiones más limpias visualmente

**Requiere:**

* Sistema cortador en el toolhead (ver sección siguiente)
* Configuración específica en OrcaSlicer

Es el método preferido cuando el hardware lo permite.
{% endtab %}

{% tab title="Cubo de purga físico (Poop Bucket)" %}
Una solución intermedia muy popular: un pequeño cubo o bandeja montado en un extremo del eje X. La impresora se desplaza allí, purga el filamento antiguo (que cae en el cubo) y vuelve a imprimir.

**Ventajas:**

* Sin torre de purga en la cama
* Funciona sin cortador
* Purga más rápida que la torre

**Desventajas:**

* Requiere diseñar/imprimir el soporte del cubo para tu máquina
* El "poop" (bloque de filamento purgado) hay que retirarlo periódicamente
* Necesita macros específicas en Happy Hare

El cubo de purga es muy popular en setups ERCF para CoreXY.
{% endtab %}
{% endtabs %}

***

### Sistema cortador de filamento en el toolhead

El cortador de filamento es la **mejora que más impacto tiene en la calidad** de los cambios. Cuando se retira el filamento del nozzle, la punta queda deformada por el calor (forma de bulbo o "tip"). Ese extremo deformado puede causar atascos en la siguiente carga. El cortador lo elimina.

**¿Qué hace exactamente?**

1. Antes del cambio, el filamento se retira y se corta limpiamente
2. El extremo cortado es recto y entra sin problemas en el siguiente ciclo de carga
3. No hay formación de tips problemáticos

**Opciones populares de cortadores:**

| Sistema                                  | Compatible con                  | Tipo                           |
| ---------------------------------------- | ------------------------------- | ------------------------------ |
| **ERF** (Enraged Rabbit Filament cutter) | ERCF v2                         | Cuchilla integrada en toolhead |
| **FilamATrix**                           | Box Turtle / AFC                | Cuchilla + purga integrada     |
| **Filametrix** (de la comunidad)         | Cualquier toolhead Voron/CoreXY | Mod imprimible + cuchilla      |
| **Bambu-style cutter**                   | Voron, VzBot y otros            | Adaptación del diseño Bambu    |

{% hint style="info" %}
**Happy Hare soporta cortadores de filamento de forma nativa.** La integración se configura en `mmu_macro_vars.cfg` activando `variable_tool_cut: 1` y ajustando los parámetros de posición del corte. Una vez configurado, cada cambio de filamento incluye automáticamente el ciclo de corte.
{% endhint %}

Configuración básica en `mmu_macro_vars.cfg` para cortador:

```ini
# mmu_macro_vars.cfg — activar cortador
variable_tool_cut: 1                    # 1 = usar cortador en cada cambio
variable_tool_cut_coord: "x=-10 y=355" # posición XY del cortador en tu máquina
variable_tool_cut_retract_speed: 25     # velocidad de retracción antes del corte
variable_tool_cut_fast_retract: 50      # distancia retracción rápida (mm)
```

***

### Buffer de filamento

El buffer es **obligatorio** en cualquier setup MMU serio. Sin él, el filamento puede ir tenso desde la bobina hasta el MMU, lo que causa:

* Fallo de carga al no poder tirar del filamento
* Errores de encoder (detecta que el filamento no se mueve como debería)
* Desgaste prematuro del motor de empuje

**Opciones:**

* **ERCT** (Cotton Tail) — buffer oficial para ERCF v2, muy compacto
* **TurtleNeck** — buffer de Box Turtle, con sensor integrado
* **Filamentalist** — buffer pasivo muy popular, funciona con cualquier sistema
* Guías de filamento en arco / sin guías rígidas como alternativa mínima

***

## Configuración laminador (Orca Slicer)

El laminador es tan importante como el hardware. Para multifilamento en Klipper, **OrcaSlicer** es el más completo y compatible.

### Configuración básica en OrcaSlicer

1. En **Printer Settings → Single extruder multimaterial** activa la opción correspondiente
2. Configura la **torre de purga** (Wipe Tower): es la herramienta más fiable para eliminar restos de filamento anterior entre cambios. Para impresiones con muchos cambios de color, asegúrate de que la torre es suficientemente grande.
3. Ajusta los **volúmenes de purga** por par de materiales en la tabla de purga (Filament Change → Purge volumes). Los valores dependen del contraste de colores y la opacidad de tus filamentos.

{% hint style="info" %}
**Valores de purga orientativos:**

* Mismo material, colores similares: 40-60 mm³
* Mismo material, colores contrastados (negro→blanco): 100-150 mm³
* Materiales diferentes (PLA→TPU): consulta la guía de compatibilidad de tu slicer
  {% endhint %}

4. Si usas **cortador de filamento** (ERF, FilamATrix), desactiva la torre de purga y usa el sistema de purge to infill o purge to object en su lugar — mucho más eficiente.

***

## Tips y consejos

### Mecánicos

* **Buffer de filamento**: siempre necesario entre las bobinas y el selector. Sin buffer, la tensión del filamento causa fallos de carga. El ERCT para ERCF o el TurtleNeck para Box Turtle son las soluciones más probadas.
* **Cableado limpio**: los motores del MMU son sensibles a interferencias. Usa cable de calidad y mantén los cables separados de las cadenas de movimiento.
* **Guías de filamento (PTFE)**: usa tubo Capricorn o equivalente de calidad. Un tubo flojo o con uniones deficientes es la causa número uno de atascos en MMU.
* **Sensores en el toolhead**: aunque no son obligatorios, un sensor de filamento en el toolhead (antes del extrusor) mejora enormemente la fiabilidad. Happy Hare lo soporta y lo usa para confirmar cargas/descargas.

### Calibración Happy Hare

La calibración es el paso más crítico de todo el proceso. Una calibración correcta determina si tu MMU funciona bien o da problemas constantemente. No te saltes ningún paso ni cambies el orden.

{% hint style="danger" %}
**La calibración se hace una sola vez** (salvo que cambies hardware). Una vez calibrado correctamente, Happy Hare recuerda todos los valores. No es necesario recalibrar antes de cada impresión.
{% endhint %}

#### Paso 1 — Homing del selector

Lo primero es hacer homing del selector para que Happy Hare sepa dónde está:

```
MMU_HOME
```

Si el homing falla, revisa los endstops del selector antes de continuar. Puedes verificar el estado con:

```
MMU_STATUS
```

#### Paso 2 — Calibración del motor de empuje (gear motor)

Este es el paso más importante. El **gear motor** es el que mueve el filamento dentro del MMU. Si la calibración de rotación no es precisa, todas las distancias de carga/descarga serán incorrectas y tendrás atascos o filamento que no llega al nozzle.

```
MMU_CALIBRATE_GEAR
```

Happy Hare te pedirá que midas con un calibre cuánto filamento se ha movido respecto al esperado y calculará el factor de corrección (`gear_rotation_distance`). El proceso:

1. Marca el filamento con un rotulador a una distancia conocida del selector (normalmente 100mm)
2. Lanza el comando — moverá el filamento esa distancia
3. Mide la distancia real movida con el calibre
4. Introduce el valor medido cuando te lo pida

{% hint style="info" %}
El valor resultante se guarda en `mmu_vars.cfg` como `gear_rotation_distance`. Si usas varios motores de empuje (uno por canal), cada uno puede tener un valor ligeramente diferente. Happy Hare soporta valores por canal.
{% endhint %}

#### Paso 3 — Calibración del encoder (si tu MMU lo tiene)

Los sistemas ERCF incluyen un encoder óptico que mide el movimiento real del filamento. Happy Hare usa este encoder como verificación — detecta si el filamento se está moviendo realmente o si hay slippage en los engranajes.

```
MMU_CALIBRATE_ENCODER
```

El proceso es similar: mueve filamento y compara distancia comandada vs. medida por el encoder. La relación se guarda como `encoder_resolution`.

{% hint style="warning" %}
Si no tienes encoder (PicoMMU, algunos Tradrack), salta este paso. Happy Hare funciona sin encoder, pero con menor capacidad de detectar atascos suaves.
{% endhint %}

#### Paso 4 — Calibración de distancias de carga por canal

Cada canal del MMU tiene una distancia diferente desde el selector hasta el extrusor. Happy Hare puede calibrar esto automáticamente:

```
MMU_CALIBRATE_BOWDEN BOWDEN_LENGTH=xxx
```

Donde `xxx` es la longitud aproximada en mm del tubo Bowden desde el MMU hasta el extrusor. No tiene que ser exacta — Happy Hare la usará como punto de partida y buscará el sensor de filamento (si tienes) para ajustar la distancia real.

Si quieres calibrar canal por canal manualmente:

```
MMU_CALIBRATE_BOWDEN GATE=0
MMU_CALIBRATE_BOWDEN GATE=1
# ...y así para cada canal
```

{% hint style="info" %}
Si tienes un sensor de filamento en el toolhead (muy recomendable), Happy Hare puede hacer esta calibración de forma completamente automática usando el sensor como referencia de posición.
{% endhint %}

#### Paso 5 — Calibración de la zona de carga del extrusor (homing extruder)

Esta calibración define cuánto filamento hay que empujar desde que entra en el extrusor hasta que llega al nozzle. Hay varias formas de medir este punto dependiendo de los sensores que tengas:

{% tabs %}
{% tab title="Con sensor en toolhead" %}
Si tienes sensor de filamento justo antes del extrusor, Happy Hare puede usar ese punto como referencia exacta:

```
MMU_CALIBRATE_TOOLHEAD HOMING_METHOD=sensor
```

Happy Hare empujará filamento hasta activar el sensor, medirá la distancia y guardará el valor `toolhead_extruder_to_nozzle`.
{% endtab %}

{% tab title="Con extrusor de referencia (homing)" %}
Algunos extrusores (Orbiter, Galileo 2) pueden actuar como sensor de colisión detectando la resistencia al empujar el filamento:

```
MMU_CALIBRATE_TOOLHEAD HOMING_METHOD=collision
```

El extrusor detecta el aumento de corriente cuando el filamento toca el nozzle o el punto de fusión y para automáticamente.
{% endtab %}

{% tab title="Sin sensor — manual" %}
Si no tienes sensor ni homing por colisión, calibra midiendo físicamente la distancia y ajustando a mano en `mmu_parameters.cfg`:

```ini
# mmu_parameters.cfg
toolhead_extruder_to_nozzle: 72    # distancia en mm extrusor → nozzle
toolhead_sensor_to_nozzle: 40     # distancia sensor → nozzle (si aplica)
```

Para medir: carga filamento manualmente hasta que salga por el nozzle, mide el recorrido desde la entrada del extrusor.
{% endtab %}
{% endtabs %}

#### Paso 6 — Verificación del ciclo completo

Una vez calibrados todos los parámetros, haz una prueba de ciclo completo con un canal:

```
MMU_HOME
MMU_SELECT GATE=0
MMU_LOAD
```

El filamento debe cargarse completamente hasta el nozzle. Verifica en el terminal de Klipper que no hay errores y que las distancias reportadas coinciden con lo esperado.

Para descargar:

```
MMU_UNLOAD
```

{% hint style="success" %}
Si la carga y descarga funcionan sin errores en el canal 0, repite la prueba con el resto de canales. Si alguno falla, revisa el cableado de ese canal y vuelve a calibrar `gear_rotation_distance` para ese gate específico.
{% endhint %}

#### Paso 7 — Ajuste de parámetros de operación

Con la calibración básica lista, ajusta los parámetros de comportamiento en `mmu_parameters.cfg`:

```ini
# mmu_parameters.cfg — parámetros clave a revisar

# Velocidades (en mm/s)
gear_from_buffer_speed: 150        # velocidad carga desde buffer
gear_from_spool_speed: 60          # velocidad carga desde bobina (más lento = más fiable)
gear_short_move_speed: 60          # velocidad para movimientos cortos
gear_homing_speed: 50              # velocidad durante homing

# Sincronización con extrusor durante impresión
sync_to_extruder: 1                # 1 = sincronizar gear motor con extrusor (recomendado)
sync_feedback_enable: 1            # usar feedback de tensión del filamento

# Comportamiento ante errores
pause_on_runout: 1                 # pausar si se detecta falta de filamento
enable_endless_spool: 0            # 1 = cambio automático al agotarse bobina

# Número de reintentos antes de pausar
load_retries: 2
unload_retries: 2
```

{% hint style="info" %}
**`sync_to_extruder: 1`** es uno de los ajustes más importantes. Con él activado, el motor del MMU se sincroniza con el extrusor durante la impresión, reduciendo el estrés en el filamento y mejorando la consistencia de extrusión. Salvo casos muy específicos, déjalo siempre a 1.
{% endhint %}

#### Resumen — orden de calibración

| Paso                               | Comando                          | Obligatorio            |
| ---------------------------------- | -------------------------------- | ---------------------- |
| 1. Homing selector                 | `MMU_HOME`                       | ✅                      |
| 2. Gear motor                      | `MMU_CALIBRATE_GEAR`             | ✅                      |
| 3. Encoder                         | `MMU_CALIBRATE_ENCODER`          | Solo si tienes encoder |
| 4. Bowden (distancia MMU→extrusor) | `MMU_CALIBRATE_BOWDEN`           | ✅                      |
| 5. Toolhead (extrusor→nozzle)      | `MMU_CALIBRATE_TOOLHEAD`         | ✅                      |
| 6. Prueba ciclo completo           | `MMU_SELECT GATE=0` + `MMU_LOAD` | ✅ (verificación)       |
| 7. Ajuste parámetros               | editar `mmu_parameters.cfg`      | Recomendado            |

### Impresión

* Empieza con impresiones simples de 2 colores antes de escalar a 8+
* Imprime la torre de purga con un skirt para evitar que se despegue
* La primera capa es crítica: usa velocidades bajas y asegura buena adhesión de la torre de purga
* Monitoriza los primeros cambios de filamento. Happy Hare puede resolver muchos errores automáticamente, pero al principio es mejor ver qué hace.

### Si algo falla

* Consulta el log de Klipper buscando `MMU` para ver qué pasó
* `MMU_STATUS` te da el estado actual del sistema
* `MMU_RECOVER` intenta recuperar la posición del filamento si el sistema se ha desorientado
* El canal de Discord de Happy Hare tiene una comunidad muy activa: <https://discord.gg/moggieuk>
* Grupo Telegram español: [Klipper ES — ERCF/MMU](https://t.me/Klipper_Firmware_ES/94927)

***

## Recursos y documentación

* [Happy Hare — GitHub](https://github.com/moggieuk/Happy-Hare)
* [Happy Hare — Wiki completa](https://github.com/moggieuk/Happy-Hare/wiki)
* [ERCF v2 — GitHub](https://github.com/Carrot-collective/ERCF_v2)
* [Tradrack — ANNEX Engineering](https://github.com/Annex-Engineering/TradRack)
* [Box Turtle + AFC — ArmoredTurtle](https://github.com/ArmoredTurtle/BoxTurtle)
* [3MS — GitHub](https://github.com/3dcoded/3ms)
* [OrcaSlicer — Multi-material guide](https://github.com/SoftFever/OrcaSlicer/wiki)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://klipper.3dwork.io/klipper/mejoras/mmu-multifilamento.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
