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ó.
📊 Comparativa Rápida de Sensores
¿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.
BTT SFS v2.0, sin dudar.
Detecta ausencia Y atascos, sin rodamientos, sin mantenimiento. La mejor relación calidad-precio del mercado ahora mismo.
→ Lee la sección BTT SFS v2.0 más abajo.
Dyze Orthus, si imprimes 24/7 o en granja.
Encoder óptico de precisión, sin partes móviles, calibración muy fina. Para uso profesional donde no te puedes permitir un fallo.
→ Lee la sección Dyze Orthus más abajo.
Usa el sensor integrado, no compres nada más.
Si ya tienes un extrusor Orbiter, el sensor viene incluido y está optimizado para esa plataforma.
→ Lee la sección Orbiter 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.

Instalación Física
Configuración en Klipper
Parámetros clave:
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
Test Final
Sensor profesional de movimiento. Encoder óptico que detecta cada 0.5mm de desplazamiento, sin partes móviles, sin mantenimiento. La opción para granjas de impresión o producción 24/7.
Lo que lo diferencia de los demás:
Detecta atascos antes de que arruinen la pieza
Sensibilidad ajustable por tipo de filamento
"Instala y olvídate durante años"

Tabla de Calibración
El parámetro detection_length depende del diámetro del filamento, la posición del selector y la sensibilidad que quieras.

Instalación Física
Configuración en Klipper
Indicadores LED
🟢 Verde fijo
Alimentado y listo
🟢 Verde parpadeante
Filamento en movimiento (detección activa)
🔴 Rojo
Sin alimentación o error
Calibración Paso a Paso
Pros y Contras
✅ Lo bueno
Ultra-preciso (cada 0.5mm)
Sin partes móviles
Sin mantenimiento
Compatible con cualquier filamento
❌ Lo malo
Precio elevado (80€+)
Requiere calibración inicial
Sobredimensionado para uso doméstico
El sensor más recomendado para uso general. Combina dos sensores en uno: un switch que detecta si hay filamento, y un encoder que detecta si está fluyendo. Si uno falla, el otro te cubre.
Sin rodamientos, sin mantenimiento, precio razonable. Si no sabes qué sensor comprar, compra este.

Instalación Física
Configuración (Dual Sensor)
Parámetros críticos:
detection_length: 2.88mm= mínimo físico del sensor. Si hay falsos positivos, sube de 1 en 1mm (hasta ~5mm como máximo).pause_on_runout: False= la pausa la gestiona la macroFILAMENT_CHECK.Pull-up
^obligatorio en AMBAS señales (switch y encoder) según el manual oficial de BTT. Sin^no hay detección. Excepción: si tu placa ya lleva pull-up físico en ese pin (pasa en algunas Creality), puede funcionar sin él — ver "Pull-up e inversión según tu placa" en Troubleshooting Avanzado.LEDs del v2.0: el sensor lleva indicadores que distinguen atasco (encoder) de runout (switch). Si ningún LED reacciona al pasar filamento, el problema es alimentación o cableado, no de Klipper.
Macros de Control
Integración en el Laminador
Añade esto al G-code de inicio en Cura, PrusaSlicer o el que uses:
v2.0 vs v1.0
v2.0 — esta versión
Sin rodamientos
Sin mantenimiento
Más compacto
25-35€
✅ Cómprala
v1.0 — versión anterior
Con rodamientos (lubricar cada 6 meses)
Más grande
15-25€
Solo si el presupuesto es muy ajustado
Troubleshooting
Test Final
La versión anterior del SFS. Mismo principio que el v2.0 pero con rodamientos que necesitan lubricación periódica. Si puedes, coge el v2.0 — por 10€ más te ahorras el mantenimiento.

Instalación Física
Configuración
Diferencias clave respecto al v2.0:
detection_length: 7mm(vs 2.88mm en v2.0 — los rodamientos necesitan más margen)switch_pin: ^PA9— el^activa pull-up, es imprescindibleSin
^: el sensor nunca detecta nadaSi aun así no funciona: prueba sin
^(algunos modelos lo tienen incorporado) o el resto de la matriz (!,^!,~) — ver "Pull-up e inversión según tu placa" en Troubleshooting Avanzado
Mantenimiento de Rodamientos
Macros
Pros y Contras
✅ Lo bueno
Más barato que el v2.0 (15-25€)
Misma capacidad de detección de atascos
Fácil de encontrar
❌ Lo malo
Rodamientos requieren lubricación periódica
Más grande y aparatoso
El pull-up
^es un punto de fallo frecuente si lo olvidas
Test Final
Sensor integrado en los extrusores Orbiter v1, v1.5 y v2. Si ya tienes uno, el sensor viene incluido — solo hace falta cablearlo y configurarlo.
Tiene dos ventajas únicas respecto a otros sensores: botones físicos para carga/descarga de emergencia y un LED de estado visible en todo momento.

LED Indicador
🟢 Verde
Filamento cargado, listo para imprimir
🟠 Naranja
Botón de descarga presionado
🔴 Rojo
Sin filamento detectado
Cableado (4 cables)
GND
🔵 Azul
GND mainboard
Alimentación
🔴 Rojo
3.3V (o 5V con adaptación)
Señal filamento
🟢 Verde
Puerto servo o endstop
Botón descarga
🟡 Amarillo
Otro pin endstop
Pines de ejemplo para Octopus:
GND (Azul)
Servo GND
—
3.3V/5V (Rojo)
Servo 5V
—
Sensor (Verde)
Servo señal
PA2
Botón (Amarillo)
Endstop señal
PA0
Instalación
Macros Incluidas en OrbiterSensor.cfg
El archivo ya incluye todo lo necesario:
LOAD_FILAMENT— carga automática al insertar filamentoUNLOAD_FILAMENT— descarga automática al pulsar el botónLos botones físicos ejecutan estas macros directamente, sin pasar por la interfaz web
Macros Adicionales (Opcionales)
Pros y Contras
✅ Lo bueno
Integrado = menos cables que gestionar
Botones físicos = no necesitas la pantalla para emergencias
LED visible = sabes el estado de un vistazo
Compatible con Orbiter v1, v1.5 y v2
❌ Lo malo
Solo funciona con extrusores Orbiter
El extrusor completo cuesta 80-100€
Configuración algo más compleja que un sensor genérico
Test Final
🔍 Troubleshooting Avanzado
Diagnóstico Rápido
Antes de tocar nada en la configuración, comprueba el estado visual en la interfaz:
Problemas Frecuentes
Pull-up e inversión según tu placa
Vale igual para v1.0, v2.0 y cualquier switch o motion sensor. El manual de BTT pide ^ en ambas señales del v2.0, y en el v1.0 es imprescindible, pero algunas placas ya llevan pull-up físico en sus pines y entonces el ^ sobra o incluso estorba. Por eso no hay un valor universal: hay que probar en este orden (30 segundos por prueba con QUERY_FILAMENT_SENSOR):
Quédate con el primero que detecte bien inserción/extracción. Si ninguno funciona, el problema no es el modificador: revisa que el pin exista y esté libre en el pinout de tu placa (ej. en una Manta M8P V2 usa un endstop libre PF0–PF4; PF10 no es una entrada válida), alimentación (5V y GND) y cableado pin a pin.
Cómo testear un motion sensor
Los motion (v1.0, v2.0, Orthus, genéricos) solo evalúan mientras extruyen y con el sensor habilitado. Ver "not detected" en reposo o recién arrancado es NORMAL, no un fallo.
📈 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.
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.
—
0.5 – 10s
Espera antes de procesar el evento. Súbelo si hay falsos positivos por vibración
filament_motion_sensor — BTT SFS, Dyze Orthus, Genérico Motion
Detecta movimiento real del filamento. Cubre ausencia + atascos + flujo lento.
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
—
0.5 – 10s
Espera antes de procesar el evento. Crítico en sensores de movimiento — demasiado bajo dispara falsas alarmas
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
Síntomas:
La impresora pausa justo antes de empezar a imprimir
Ves
filament_detected: falsesin razón durante el calentamiento
Causa: el sensor estaba activo mientras el nozzle calentaba.
Solución:
Añade
[delayed_gcode SFS_BOOTDISABLE]para desactivar en bootLlama a
SFS_ENABLEsolo después deM109Llama a
SFS_DISABLEenEND_PRINT
Síntomas: falsos positivos cada 2-3 minutos, especialmente en impresoras rápidas o con camas volantes (bedslinger).
Soluciones en orden:
event_delay: 10— espera más antes de reaccionarBracket muy rígido — evita el plástico flexible para montar el sensor
Amortigua el punto de montaje con goma o espuma fina
Alinea bien el filamento — no debe rozar lateralmente el sensor
Mecánico (pulsador)
Más barato
Aguanta mejor las vibraciones
La palanca se puede desgastar con el tiempo
Óptico
Sin desgaste mecánico
Mejor para filamentos abrasivos (fibra de carbono, etc.)
Puede acumular polvo — limpia el receptor cada meses
BTT SFS v2.0
Nada
—
BTT SFS v1.0
Lubrica rodamientos
Cada 3-6 meses
Pulsador/óptico
Revisa presión mecánica
Cada 3-6 meses
Dyze Orthus
Revisa cableado
Cada año
Señales de que algo va mal: detección inconsistente de repente, más falsos positivos que antes, ruido anormal al pasar filamento.
Antes de dormir mientras imprime:
🆘 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-09-16 Autor: HAL (Technical Writer - 3Dwork.io)
Última actualización
