Curious Scientist construyó un extractor de humo de soldadura que se enciende solo cuando el aire se ensucia. El equipo mide polvo y compuestos orgánicos volátiles, ajusta la velocidad del ventilador según el nivel de contaminación que detecta y se apaga tras 3 minutos sin lecturas, según la reseña que publicó Open Electronics el 17 de septiembre de 2026. Ya no hay que acordarse de prender la extracción antes de tomar el cautín.

El circuito se arma alrededor de una placa ESP32-C3 Super Mini, la misma familia que muchos makers usan en proyectos de IoT. Junto a ella trabaja un Arduino Nano, que se encarga de la lectura y del control. En el panel hay espacio para una pantalla OLED de 1,3 pulgadas con controlador SSH1106, manejada con una librería compatible de Arduino. La pantalla muestra el estado del sistema y la cuenta regresiva antes del apagado.

Dos sensores y una línea base que se mueve

La detección ocurre en dos etapas. La primera se apoya en las lecturas del sensor de polvo y la segunda en las del sensor de VOC. El sensor de VOC no usa el valor TVOC crudo de forma directa. En su lugar adopta una línea base que se adapta con lentitud y busca subidas sostenidas respecto de ella, así el sistema no se deja engañar por las pequeñas fluctuaciones típicas de estos sensores.

El sensor de polvo GP2Y1010AU0F trabaja con un LED infrarrojo que el microcontrolador enciende por instantes. La luz que dispersan las partículas llega a un fotodiodo y la señal de salida es proporcional a la cantidad de polvo. El umbral mínimo de activación para ese parámetro quedó en 40 µg/m³. El sensor ENS160, en cambio, entrega un valor de AQI que va de 1 a 5.

¿Cómo evita que el ventilador arranque por nada?

El controlador no se dispara con un solo evento ni porque una medición cruce el umbral. Exige varias lecturas altas dentro de una cantidad fija de mediciones.

  • Nivel LOW, 3 lecturas sobre el umbral de cada 5
  • Nivel MED, 12 lecturas sobre el umbral de cada 20
  • Nivel HIGH, 15 lecturas sobre el umbral de cada 25

Esa lógica evita los arranques en falso. El equipo parte rápido en velocidad LOW y sube al tramo siguiente solo si la contaminación se mantiene el tiempo necesario para mostrar que la velocidad baja no da abasto. El ventilador escala cuando de verdad hace falta.

Un ventilador de 12 V alimentado a 5 V

El ventilador es de 12 V, pero se alimenta a 5 V y gira a velocidad muy reducida. La razón no es el ahorro. Es hacer pasar aire por el equipo para que los sensores queden bien expuestos y no entreguen lecturas falsas por falta de circulación.

Si no se detecta contaminación por más de 3 minutos, el extractor se apaga. El aparato guarda el último evento de contaminación y cuenta desde ahí. Durante los últimos 30 segundos de esa cuenta aparece un mensaje de aviso, y si se presiona el botón dentro de esa ventana el temporizador se reinicia. Quien está por hacer otra soldadura no tiene que esperar a que el ventilador se detenga para volver a arrancarlo. La cuenta regresiva del apagado automático es de 180 segundos.

¿Qué se necesita para replicarlo?

El firmware corre sobre una placa de la familia ESP32-C3, así que se programa con el Arduino IDE y las librerías habituales. Para la pantalla hace falta una librería de Arduino compatible con el controlador SSH1106.

La lista de piezas es corta. Una placa de desarrollo ESP32-C3 SuperMini, un Arduino Nano, el sensor de polvo, el sensor de VOC, una pantalla OLED de 1,3 pulgadas y un ventilador de 12 V. El sensor de polvo es el GP2Y1010AU0F de Sharp, diseñado para detectar partículas en suspensión, y el de compuestos volátiles es el ENS160. Los cuatro módulos son piezas de catálogo que se consiguen sueltas, sin placas a pedido ni componentes de un solo proveedor, y esa es la diferencia entre un proyecto que se lee y uno que se rearma en el banco de trabajo.

El relato completo del trabajo, con el detalle de cada etapa y el código, está en el sitio de Curious Scientist.