Hay una escena que todo el que imprime en 3D conoce: dejas una pieza de ocho horas corriendo de noche, y a la mañana siguiente encuentras la impresora tejiendo una madeja de filamento en el aire. La pieza se despegó de la cama en la hora tres y la máquina siguió extruyendo sin enterarse. En la comunidad le dicen "espagueti", y en el peor caso el hotend queda envuelto en plástico solidificado.
La pregunta que da origen a este proyecto es concreta: ¿alcanza un chip de visión que cabe en una uña, corriendo al lado de la impresora, para reconocer una falla de impresión sin mandar una sola imagen a internet? La respuesta corta es que sí, y este artículo cubre la primera mitad del camino: la idea, el hardware y el soporte impreso en 3D que sostiene todo. El montaje se resuelve en una tarde, todo el procesamiento ocurre en el equipo, no hay suscripción mensual y ninguna foto de tu taller sale de tu casa.
Qué vas a aprender en esta parte
- Por qué la detección de anomalías es el enfoque correcto para este problema, y por qué el camino "obvio" (entrenar con fotos de fallas) es un callejón sin salida.
- Cómo se reparte el trabajo entre el Linux y el microcontrolador de una placa como el Arduino UNO Q, y qué hace cada uno.
- Qué cámara sirve y cuál no. hay una restricción de sensor que arruina la compra si no la conoces antes.
- Cómo diseñar y montar un soporte de cámara que no requiera modificar la impresora.
- Qué alternativa hay si la placa del proyecto original no está a tu alcance.
El concepto: enseñarle qué es lo normal, no qué es la falla
El instinto de cualquiera que se enfrenta a este problema es tratarlo como clasificación de imágenes: junta miles de fotos de impresiones fallidas, miles de impresiones sanas, entrena un modelo, listo.
El problema aparece en la primera línea del plan. ¿De dónde salen las miles de fotos de fallas? Arruinar decenas de impresiones a propósito es caro en filamento, en tiempo y en desgaste de la máquina. Y si la impresora es prestada, directamente no es una opción.
Por eso el proyecto va exactamente al revés: detección de anomalías. El modelo aprende una sola cosa. cómo se ve una impresión normal. y levanta la mano cuando aparece algo que no calza con nada de lo que vio antes.
La elegancia del enfoque está en el origen de los datos: las imágenes de entrenamiento se generan solas. Cada impresión que sale bien deja atrás cientos de fotos de "todo en orden", sin que tengas que hacer absolutamente nada extra. Mientras más uses la impresora, mejor entrenado queda el vigilante.
Vale la pena entender por qué esto funciona, porque tiene consecuencias prácticas fuertes. Un modelo de anomalías no aprende "espagueti"; aprende la distribución de lo que es normal en esa escena específica: la cama, la luz, el ángulo, el color del filamento que sueles usar. Cuando llega una imagen, la compara contra esa distribución y entrega una puntuación de qué tan rara es. De ahí se derivan tres reglas que conviene tener claras desde ya:
- La cámara no se puede mover. Ni un milímetro después del entrenamiento. El modelo aprendió el fondo completo como parte de la normalidad; si corres la cámara, todo el encuadre se vuelve "anómalo" y el entrenamiento se pierde.
- La luz importa más que la cantidad de fotos. Un cambio brusco de iluminación entre el día y la noche se lee como una anomalía. Una fuente de luz constante vale más que duplicar el dataset.
- Va a haber falsos positivos al principio. El ajuste real del sistema no está en el modelo sino en el umbral de alarma, y ese umbral se calibra con un puñado de escenas de falla. reales o armadas a mano. no con miles.
El proyecto original usa FOMO AD, el modelo de anomalías visuales de Edge Impulse, disponible en el plan gratuito para desarrolladores, que corre en unos 30 milisegundos por imagen. Eso es tiempo real de sobra para un proceso que dura horas.
La arquitectura completa
El sistema tiene cuatro piezas que conversan entre sí:
- Una cámara apuntando a la cama de impresión.
- La placa de cómputo, que analiza cada cuadro localmente.
- Una consulta a la API de la impresora (Moonraker, si corres Klipper) para saber si de verdad hay una impresión en curso. sin esto, el vigilante daría alarmas sobre una cama vacía.
- Un mensaje por MQTT hacia Home Assistant, que es quien finalmente dispara la notificación al celular.

Ese tercer punto es el que más se subestima. Un detector que no sabe si la impresora está trabajando es un detector que va a sonar cuando saques la pieza terminada, cuando pases la mano frente a la cámara o cuando dejes una herramienta sobre la cama. Cruzar la señal de visión con el estado real de la máquina es lo que convierte un experimento en algo que puedes dejar corriendo.
El hardware
La placa
El corazón del montaje original es el Arduino UNO Q, y la razón de esa elección es interesante: combina dos mundos en una sola placa. Por un lado corre un Debian Linux sobre un procesador Qualcomm, que es donde vive el modelo de IA. Por otro tiene un microcontrolador clásico para tareas de tiempo real. en este caso, manejar la matriz de LEDs que hace de semáforo de estado directamente sobre la impresora.
Esa división de trabajo no es cosmética. El Linux puede quedarse pegado un segundo procesando una imagen sin que eso afecte a la matriz de estado ni a un futuro botón de emergencia, porque esos cuelgan del microcontrolador, que no se detiene nunca.
La placa portadora
El UNO Q por sí solo no tiene conector de cámara. Para eso está el UNO Media Carrier (ASX00083), una placa que se monta encima y agrega, entre otras cosas, dos conectores CSI para cámara.
La cámara: acá está la trampa
Este es el punto donde más gente se equivoca al comprar. El Media Carrier solo funciona con cámaras que lleven el sensor IMX219. El Camera Module 3 de Raspberry Pi, que es más nuevo y más caro, no sirve. Lo que necesitas es una cámara con sensor IMX219 en el formato físico de la V2.
Eso abre la puerta a los clones: cualquier módulo con IMX219 y las mismas medidas de placa entra en el mismo soporte. El autor original usó un Arducam a la mitad del precio del módulo oficial, que además viene con el cable flex de 15 a 22 pines que hace falta. Que sea la variante NoIR (sin filtro infrarrojo) no molesta: al detector de anomalías no le interesan los colores naturales.
Lista de materiales
| Componente | Para qué |
|---|---|
| Arduino UNO Q | Procesamiento de IA (Linux) + matriz de LEDs (MCU) |
| UNO Media Carrier (ASX00083) | Aporta los conectores CSI de cámara |
| Cámara con sensor IMX219 en formato V2 | La vista sobre la cama de impresión |
| Cable flex CSI de 15 a 22 pines | Une la cámara con el Media Carrier |
| Filamento PLA | Carcasa, abrazadera y soporte de cámara |
| 2 tornillos M5 con tuerca | Articulación del soporte |
En el proyecto original el total ronda los 90 euros sin contar impresora ni filamento. Más abajo verás cómo bajar eso de forma drástica.
Las piezas impresas
La carcasa
El UNO Q con su carrier no puede quedar suelto al lado de la impresora. La carcasa del proyecto son dos partes que encajan sin un solo tornillo, dejan todos los conectores accesibles y tienen una rejilla en la tapa para que se vea la matriz de LEDs.

El soporte de cámara, y la lección que dejó
Acá está el aprendizaje más valioso de toda esta fase, y es de diseño, no de electrónica.
El primer intento fue un soporte independiente: una base maciza, un mástil de 25 centímetros, todo construido paramétricamente en OpenSCAD. Técnicamente prolijo. En la práctica, un fracaso. La base sola se comía más de 100 gramos de filamento y horas de impresión, y justamente esas piezas grandes y aburridas fallaron varias veces al imprimirse.
La solución vino del lado opuesto: una abrazadera simple que se aprieta al chasis de la impresora. Diseñada en Tinkercad en un rato, una fracción del material, y como se sujeta por presión, la impresora prestada no sufre ninguna modificación.

Todo el diseño se reduce a un número: la profundidad del canto frontal del chasis. En la impresora del proyecto original (una Elegoo Neptune 4 Plus) son 42,5 milímetros. Mide el tuyo antes de imprimir, porque ese es el único parámetro que hay que ajustar. Un segundo gancho en el brazo sostiene la carcasa del UNO Q, así que cámara y computador cuelgan como un solo paquete y el cable corto de cámara alcanza sin problemas.

La carcasa de la cámara se arma sin herramientas: cuatro pines centran la placa, la tapa frontal la presiona contra sus apoyos y tres clips cierran el conjunto. La articulación usa el estándar de monturas compatible con GoPro, así que los dos tornillos M5 con sus tuercas embutidas son las únicas piezas compradas, y con un adaptador de 45 grados puedes apuntar la cámara prácticamente hacia donde quieras.


Cómo imprimirlas
Las cuatro piezas. abrazadera, carcasa trasera de la cámara, tapa frontal y adaptador de 45 grados. se imprimen en PLA sin soportes. Hay un solo detalle que cambia el resultado: la abrazadera hay que acostarla de lado en el laminador (en la mayoría de los programas la tecla F, "apoyar sobre una cara"). Así las capas corren a lo largo de los ganchos en vez de atravesarlos, y la pieza aguanta la fuerza de apriete de forma permanente en lugar de delaminarse al primer tirón. Es la diferencia entre un soporte que dura meses y uno que se parte en la segunda instalación.
Montaje
La cámara entra a presión en su carcasa. El cable flex sale por la ranura del borde inferior y va al conector CAM0 del Media Carrier, con los contactos mirando hacia la placa. Y una regla que vale para cualquier cámara CSI, sin excepciones: se conecta y desconecta solo con el equipo sin alimentación. Estos conectores no toleran conexión en caliente y se queman.
El largo del cable. unos 30 centímetros. es el que define la arquitectura física: el computador tiene que vivir en la misma abrazadera, pegado a la cámara.

Dónde apuntar la cámara
La posición que mejor resultado dio es en diagonal, desde arriba y adelante. Con ese ángulo la zona de impresión ocupa el centro del cuadro y el cabezal solo cruza por el tercio superior, que es exactamente lo que quieres: el objeto de interés al medio, el elemento móvil fuera del área crítica.
Y un consejo que salió de un accidente propio: una vez posicionada la cámara, manda el cabezal y la cama a la posición de origen (home) y guárdate una foto de referencia de esa pose. Si más adelante la cámara se mueve. basta un roce al limpiar. , con esa imagen la vuelves a alinear en dos minutos. Sin ella, no tienes forma de recuperar el encuadre exacto, y como vimos al principio, un encuadre distinto invalida todo el entrenamiento.
Variantes y mejoras
Tres extensiones que el proyecto original no cubre y que valen la pena:
1. Que no avise: que detenga. Tal como está planteado, el vigilante manda una notificación y el problema queda en tus manos. Pero la misma API de Moonraker que se consulta para saber si hay impresión en curso acepta comandos: un POST al endpoint de pausa detiene el trabajo en el acto. Con eso el sistema pasa de avisar a intervenir, y la diferencia en filamento salvado es enorme cuando la falla ocurre a las tres de la mañana. Recomendación: hazlo en dos etapas. que pause con un umbral alto de certeza y solo notifique con umbrales medios. Una pausa por falso positivo arruina una impresión buena.
2. Iluminación fija, el upgrade más barato que existe. Como el modelo aprende la escena completa, la luz ambiente es su peor enemigo: la misma pieza se ve distinta a las 3 de la tarde y a medianoche. Una tira LED blanca de 12 V con un difusor casero, montada en el mismo soporte y encendida permanentemente, elimina esa variable de raíz. Cuesta unos pocos miles de pesos y mejora la tasa de aciertos más que cualquier ajuste de software.
3. Un respaldo determinista para lo que la IA no ve. La visión detecta espagueti, pero no detecta que se acabó el filamento ni que la bobina se enredó. al menos no rápido. Un sensor de fin de filamento (un microswitch con una palanca por donde pasa el hilo) cuesta muy poco y cubre ese caso con certeza absoluta, sin modelos ni umbrales. Conectado al microcontrolador de la placa, se convierte en la segunda línea de defensa. Los dos sistemas juntos cubren casi todas las formas en que una impresión larga se echa a perder.
Personalización para Chile
Acá hay que ser honestos: el Arduino UNO Q y el UNO Media Carrier son piezas difíciles de conseguir en Chile, y a los precios de importación el proyecto original se va bastante por encima de los $100.000 CLP. Vale la pena si ya tienes las placas o si el objetivo es explorar edge AI en serio. Si el objetivo es simplemente no perder impresiones, hay un camino mucho más corto.
La versión económica: ESP32-CAM
Un ESP32-CAM con sensor OV2640 cuesta una fracción de lo anterior y resuelve el 80% del problema con otro enfoque. La placa no tiene músculo para correr un modelo de anomalías visuales, así que la estrategia cambia:
- El ESP32-CAM saca una foto cada cierto intervalo (30 o 60 segundos alcanzan y sobran para un proceso de horas) y la publica en su propio servidor web o la sube por HTTP a un equipo de la casa.
- La detección se hace en el otro extremo: puede ser un script en un PC o un Raspberry Pi que ya tengas encendido, comparando cada foto contra la anterior. Una diferencia de píxeles por encima de un umbral en la zona de la cama es una señal razonable de que algo se salió de lugar.
- La alerta sale por Telegram, que es gratis, no necesita plantillas aprobadas y se resuelve con una sola petición HTTPS.
Es menos elegante que un modelo de anomalías y va a dar más falsos positivos, pero cumple el objetivo real: que alguien te avise antes de que se pierdan ocho horas de impresión. Y si después quieres subir de nivel, la cámara y el soporte ya están puestos.
Componentes en el catálogo de MechatronicStore
Para armar la versión económica busca en la tienda:
- ESP32-CAM con módulo OV2640. la placa con cámara integrada. Consíguela junto con su adaptador programador USB a serial (FTDI o CH340), porque el ESP32-CAM no trae puerto USB propio y sin el programador no puedes cargarle código.
- Fuente 5V 2A. este es el punto donde falla la mayoría de los montajes con ESP32-CAM. La cámara consume picos altos al capturar, y alimentada desde el USB de un notebook se reinicia sola. Una fuente decente de 5 V y al menos 2 A no es opcional.
- Filamento PLA. para la abrazadera y la carcasa. Las piezas del proyecto original son adaptables: la abrazadera y el adaptador de 45 grados sirven igual, solo hay que rediseñar la carcasa de la cámara para el formato del ESP32-CAM, que es más pequeño.
- Tornillos M5 con tuerca. dos, para la articulación tipo GoPro.
- Microswitch de fin de carrera. si quieres agregar el sensor de fin de filamento de la sección anterior.
Si en cambio vas por la ruta completa con IA local y tienes un Raspberry Pi 4 o 5 dando vueltas, esa es la mejor alternativa intermedia: Edge Impulse también corre ahí, y una cámara con sensor IMX219 en formato V2 se conecta directo al puerto CSI del Pi. Pierdes la matriz de LEDs y el microcontrolador integrados del UNO Q, pero el vigilante funciona igual.
Nota: los precios y la disponibilidad de cada componente se confirman en su ficha en la tienda, que es donde están siempre al día.
Recursos
- Tutorial original (alemán): KI Druckwächter selbst bauen: Spaghetti Erkennung mit dem Arduino UNO Q (Teil 1). por Philipp Schweizer en raspberry.tips
- Archivos 3D y fuentes OpenSCAD: arduino uno-q-projects / kamera halterung. incluye la abrazadera, la carcasa trasera de la cámara, la tapa frontal y el adaptador de 45 grados, con las fuentes paramétricas al lado
- Plataforma de IA: Edge Impulse. el plan de desarrollador es gratuito y suficiente para este proyecto
- API de la impresora: documentación de Moonraker. para consultar el estado de impresión y, si quieres, pausar el trabajo
Este artículo cubre la Parte 1: idea, hardware y soporte. La continuación aborda la puesta en marcha de la cámara bajo Linux, la captura automática de imágenes de entrenamiento y el modelo de detección.
Versión chilena, inspirada en el proyecto de raspberry.tips, con una ruta alternativa de bajo costo y componentes en stock local en MechatronicStore.

