Page cover

Sensores de filamento

Guía completa y actualizada de sensores de filamento para Klipper - instalación, configuración y troubleshooting

Una impresión de 12 horas que se queda sin filamento a mitad de camino es frustrante y costosa. Un sensor de filamento pausa automáticamente la impresión cuando detecta falta de filamento o problemas de flujo, permitiéndote cambiar material sin perder la pieza.

El sensor vigila el filamento continuamente: detecta si no hay material, pausa de forma limpia, te avisa para cambiar, y reanuda exactamente donde se quedó.

¿No sabes cuál sensor elegir? Mira la tabla de abajo y busca tu rango de presupuesto, o ve directamente a la sección ¿Cuál elijo?.


📊 Comparativa Rápida de Sensores

Sensor
Tipo
Detección
Costo
Precisión
Mantenimiento
Comprar

Pulsador/Óptico

Switch

Ausencia

5-15€

Baja

Ninguno

Dyze Orthus

Movimiento

Ausencia + Atascos

80€+

Muy Alta

Bajo

BTT SFS v2.0

Hybrid

Ausencia + Movimiento

25-35€

Alta

Bajo

BTT SFS v1.0

Movimiento

Ausencia + Movimiento

15-25€

Media

Rodamientos

Orbiter Sensor

Integrado

Ausencia + Botones

30€*

Alta

Bajo

Genérico Motion

Movimiento

Ausencia

10-20€

Baja-Media

Bajo

Nota sobre Orbiter: El precio de 30€ es SOLO el sensor. El extrusor Orbiter completo cuesta 80-100€, pero ya incluye el sensor integrado.

Links de AliExpress: Son búsquedas con nuestro ID de afiliado. Cambia modelo/marca dentro de AliExpress si prefieres otro proveedor.


¿Cuál elijo?

Sensor óptico/pulsador genérico.

Funciona. No detecta atascos, solo si hay o no hay filamento — pero para la mayoría de usuarios domésticos es suficiente. Si lo rompes, compras otro por 5€.

→ Lee la sección Pulsador/Óptico más abajo.


Configuración por Sensor

Sensores básicos que detectan si hay filamento o no. No miden movimiento ni detectan atascos — solo presencia/ausencia. Para la mayoría de usuarios de impresión doméstica es más que suficiente.

Hay dos variantes:

  • Mecánico (pulsador): una palanca que el filamento presiona al pasar

  • Óptico: un LED + fotoreceptor que detecta si el filamento corta el haz

Son funcionalmente idénticos. El óptico aguanta mejor en máquinas con mucha vibración.

Sensor de pulsador típico - 3 cables (V, S, GND)

Instalación Física

1

Elige la ubicación

  • Bowden: coloca el sensor antes del tubo (entre extrusor y entrada del tubo Bowden)

  • Direct Drive: monta entre el bloque del extrusor y la entrada de filamento — necesitas unos ~40×30mm de espacio libre

2

Conecta los 3 cables

Cable
Destino

GND

GND mainboard

V

5V (o 3.3V — consulta la especificación de tu sensor)

SEÑAL

Pin endstop libre (PA4, etc.)

3

Verifica mecánicamente

Pasa filamento manualmente y comprueba que presiona la palanca o corta el haz. Si no hay reacción física, la configuración no servirá de nada.

Configuración en Klipper

Parámetros clave:

Parámetro
Qué hace

switch_pin

Pin donde va la señal del sensor

pause_on_runout

True = pausa automática al detectar problema

event_delay

Espera (segundos) antes de reaccionar — sube este valor si hay falsos positivos

pause_delay

Espera antes de ejecutar el runout_gcode

Pros y Contras

✅ Lo bueno

  • Muy barato (5-15€) — compra varios de reserva

  • Sin mantenimiento

  • Compatible con cualquier mainboard

  • Fácil de diagnosticar: funciona o no funciona

❌ Lo malo

  • No detecta atascos

  • No detecta flujo lento

  • Falsos positivos si el Bowden es muy largo

  • Requiere que el filamento presione físicamente bien

Troubleshooting

Sensor no detecta cambios
  1. Invierte la lógica del pin: cambia switch_pin: PA4 por switch_pin: !PA4

  2. Comprueba la conexión física (¿el cable SEÑAL está en el pin correcto?)

  3. Verifica que el filamento presiona completamente la palanca

Falsos positivos frecuentes
  1. Sube event_delay a 5-10 segundos

  2. Asegúrate de que el bracket no vibra durante la impresión

  3. Monta el sensor en un soporte más rígido

Se activa pero no pausa la impresión
  1. Verifica que [pause_resume] está definido en tu printer.cfg

  2. Comprueba que la macro M600 existe

Test Final

1

Test estático

Fluidd/Mainsail → MiscellaneousFilament Sensors. Presiona y retira filamento manualmente. ¿El estado cambia? → Sensor OK ✅

2

Test en impresión real

Inicia una impresión. A los 20-30 minutos, extrae el filamento manualmente. ¿La máquina pausa en menos de 3 segundos? → Configuración correcta ✅


🔍 Troubleshooting Avanzado

Diagnóstico Rápido

Antes de tocar nada en la configuración, comprueba el estado visual en la interfaz:

1

Abre Fluidd o Mainsail

Ve a MiscellaneousFilament Sensors.

2

Observa el estado en tiempo real

Inserta y retira filamento manualmente. El estado debe cambiar entre true y false. Si no cambia, hay un problema físico o de configuración.

3

Consulta por consola si necesitas más detalle

Problemas Frecuentes

❌ "Filament sensor not found"

El nombre del sensor en el comando no coincide con el de printer.cfg.

❌ Estado siempre "filament_detected = false" sin razón

En orden de probabilidad:

  1. Invierte la lógica del pin: switch_pin: !PA4

  2. Verifica la alimentación (¿llega tensión al sensor?)

  3. Comprueba que el GND está bien conectado

  4. Ejecuta FIRMWARE_RESTART

❌ El estado no cambia al insertar o retirar filamento
  1. Verifica que el pin en printer.cfg es el correcto

  2. Prueba combinaciones: PA4!PA4^PA4^!PA4

  3. Comprueba el montaje mecánico: ¿el sensor presiona bien el filamento?

  4. Si el filamento es muy fino o grueso, puede no activar el sensor

❌ Falsos positivos cada 2-3 minutos
  1. Sube event_delay a 10 segundos

  2. El sensor probablemente vibra con la máquina — monta un bracket más rígido

  3. Comprueba que el filamento no roza el sensor lateralmente

  4. Añade amortiguación (goma fina) entre el sensor y el chasis

❌ Detecta al inicio pero después deja de responder

El pin necesita pull-up. Añade ^ antes del valor:


📈 Mejores Prácticas

Timing: Cuándo Activar y Desactivar

El error más común es tener los sensores activos durante el precalentamiento. El filamento frío, los micro-movimientos del extrusor y los cambios de temperatura generan falsos positivos que paran la impresión antes de que empiece.

La solución es simple: deshabilita en boot, habilita solo cuando el nozzle ya está caliente.

1

Deshabilita en boot

2

Activa en START_PRINT, después del calentamiento

3

Desactiva en END_PRINT

Integración con M600 (Cambio de Filamento)

M600 coordina la pausa limpia: retrae filamento, espera a que insertes el nuevo, y reanuda desde exactamente el mismo punto. Sin ella, una pausa simple deja el nozzle en medio de la pieza.

Referencia de Parámetros

filament_switch_sensor — Pulsador/Óptico

Detecta presencia/ausencia de filamento. Sin capacidad de detectar atascos.

Parámetro
Default
Rango típico
Para qué sirve

Pin (ej. PA4)

Pin de señal. Obligatorio. Usa !PA4 para invertir lógica, ^PA4 para pull-up

True

True / False

Pausa automáticamente al detectar falta de filamento

gcode

Comandos ejecutados al detectar falta de filamento (ej. M600)

gcode

Comandos ejecutados al reinsertar filamento

0.5 – 10s

Espera antes de procesar el evento. Súbelo si hay falsos positivos por vibración

0.01 – 1s

Tiempo entre detectar el problema y ejecutar la pausa


filament_motion_sensor — BTT SFS, Dyze Orthus, Genérico Motion

Detecta movimiento real del filamento. Cubre ausencia + atascos + flujo lento.

Parámetro
Default
Rango típico
Para qué sirve

Pin (ej. PA4)

Pin de señal. Obligatorio. Usa ! para invertir lógica, ^ para pull-up

7.0mm

2.88 – 15mm

Distancia mínima de filamento que debe moverse para registrar cambio. El parámetro más importante de este tipo de sensor — demasiado bajo = falsos positivos, demasiado alto = no detecta

nombre

Nombre del extrusor asociado (normalmente extruder). Obligatorio

True

True / False

Pausa automáticamente al detectar problema de flujo

gcode

Comandos ejecutados al detectar atasco o falta de filamento

gcode

Comandos ejecutados cuando el flujo se reanuda

0.5 – 10s

Espera antes de procesar el evento. Crítico en sensores de movimiento — demasiado bajo dispara falsas alarmas

0.01 – 1s

Tiempo entre detectar el problema y ejecutar la pausa

Diferencia clave entre los dos tipos: filament_switch_sensor no tiene detection_length ni extruder porque no mide movimiento — solo sabe si el filamento está o no está. filament_motion_sensor necesita saber de qué extrusor viene el movimiento para calcular correctamente la distancia.

Latencia total estimada: 1 – 3 segundos desde el problema hasta la máquina pausada (suma de event_delay + pause_delay + tiempo de reacción del firmware).


🎯 Consejos y Advertencias

  • < 20€: Sensor pulsador/óptico genérico — funciona, sin florituras

  • 20-40€: BTT SFS v2.0 — la mejor opción para la mayoría

  • > 60€: Dyze Orthus — solo para granjas o producción intensiva

  • Tienes Orbiter: Usa el integrado, no compres nada más


🆘 Referencias

  • Documentación Klipper oficial: https://www.klipper3d.org/G-Codes#query_filament_sensor

  • BTT SFS v2.0 GitHub: https://github.com/bigtreetech/smart-filament-sensor

  • Dyze Orthus: https://www.dyze.ca/pages/products/orthus-filament-sensor

  • Orbiter sensor: https://orbiterprojects.com/orbiter-filament-sensor/


Última actualización: 2026-05-22 Autor: HAL (Technical Writer - 3Dwork.io)

Última actualización