
En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables. Si compras desde estos enlaces, el precio para ti es el mismo y Amazon me paga una pequeña comisión que ayuda a mantener Tecnoyfoto.
Actualizado el 01 de agosto de 2026.
Advertencia importante: este proyecto es un detector educativo de vapores de alcohol, no un alcoholímetro homologado. No permite determinar si una persona puede conducir, no ofrece una tasa legal de alcohol y nunca debe utilizarse para tomar decisiones de seguridad vial, médicas o legales. Si has bebido, no conduzcas.
Actualizado el 1 de agosto de 2026. He revisado el cableado, la lectura ADC, la configuración de ESPHome y las limitaciones reales del sensor.
El sensor MQ-3 es un componente económico pensado para detectar alcohol en el aire. Combinado con un ESP8266 y ESPHome permite observar cómo cambia su señal analógica, guardar un historial en Home Assistant y aprender sobre sensores resistivos, divisores de tensión y calibración.
En esta guía construiremos un detector experimental seguro y útil para aprendizaje. La versión anterior intentaba convertir directamente el voltaje a ppm y mg/L mediante constantes genéricas. Esa conversión no es válida: cada sensor, módulo, resistencia de carga, temperatura, humedad y condición de exposición modifica la respuesta. Por ello, el código actualizado publica la señal real del ADC y no inventa una concentración de alcohol.

Qué es el sensor MQ-3 y cómo funciona
El elemento sensible del MQ-3 utiliza dióxido de estaño, SnO₂, calentado internamente. Su resistencia cambia cuando determinados vapores entran en contacto con la superficie. El módulo transforma ese cambio en una señal analógica mediante una resistencia de carga.
Según la documentación del MQ-3B de Winsen, el sensor está orientado al alcohol en un rango de ensayo de 25 a 500 ppm. El calefactor requiere 5,0 V ±0,1 V, puede consumir hasta 900 mW y el fabricante especifica un precalentamiento superior a 48 horas para obtener sus características bajo condiciones de prueba.
Eso no convierte automáticamente un módulo económico en un alcoholímetro. El MQ-3 también responde a otros vapores y su lectura cambia con la temperatura, la humedad, el oxígeno, el envejecimiento y la fabricación. Tampoco toma una muestra controlada de aire alveolar como un dispositivo profesional.
Qué vamos a obtener realmente
- Una lectura analógica relativa que aumenta cuando cambia la concentración de vapores detectables.
- Un historial en Home Assistant para comparar el reposo, la exposición y la recuperación.
- Una forma práctica de comprobar calentamiento, deriva y contaminación ambiental.
- Una base educativa para estudiar
Rs/R0con instrumental y gases de referencia adecuados.
No obtendremos una tasa de alcohol en sangre ni una lectura fiable en mg/L de aire espirado. Para eso se necesita un equipo diseñado, calibrado y homologado para dicha finalidad.
Material necesario
- Módulo sensor MQ-3Enlace de afiliado.
- Una placa ESP8266, como NodeMCU, o una Wemos D1 Mini.
- Cables DupontEnlace de afiliado y, opcionalmente, una protoboardEnlace de afiliado.
- Una fuente USB de 5 VEnlace de afiliado estable, con margen suficiente para el ESP8266 y el calefactor.
- Dos resistencias para adaptar la salida analógica al ADC.
- Un multímetro para verificar tensiones antes de conectar A0.
- ESPHome y, opcionalmente, Home Assistant.
Este artículo contiene enlaces de afiliado. Si compras mediante ellos, el precio es el mismo para ti y la tienda puede pagar a Tecnoyfoto una pequeña comisión que ayuda a mantener la web.
Cableado seguro del MQ-3 con ESP8266
El calefactor del MQ-3 necesita 5 V estables y consume bastante más que un sensor digital pequeño. No lo alimentes desde el pin de 3,3 V del ESP8266. Puedes utilizar el pin de 5 V/VIN procedente del USB cuando la placa y la fuente sean adecuadas, o una fuente externa de 5 V, manteniendo siempre la masa común.
El problema de la salida analógica
No conectes AO directamente a A0 sin comprobar los límites. El ADC interno del ESP8266 admite solamente de 0 a 1,0 V. Algunas placas de desarrollo incorporan un divisor: por ejemplo, la documentación de la LOLIN D1 Mini 3.1.0 especifica un máximo de 3,2 V en A0. Otros modelos pueden ser diferentes. Además, la salida de un módulo MQ-3 alimentado a 5 V puede superar esos valores.
La solución es medir primero la salida y utilizar un divisor externo que mantenga el peor caso dentro del límite real de tu placa:
Vadc = Vmq3 × R2 / (R1 + R2)
R1: entre AO del MQ-3 y A0
R2: entre A0 y GNDPara una Wemos D1 Mini documentada para 3,2 V, un divisor de 10 kΩ y 15 kΩ limita una posible salida de 5 V a unos 3,0 V. Para un ESP8266 cuyo ADC esté expuesto directamente y admita solo 1 V, hace falta una reducción mucho mayor; por ejemplo, 47 kΩ y 10 kΩ dejan 5 V por debajo de 0,9 V. Verifica los valores con el multímetro y consulta el esquema exacto de tu placa.
Conexiones
- VCC del MQ-3 → 5 V estables.
- GND del MQ-3 → GND del ESP8266 y de la fuente.
- AO del MQ-3 → divisor resistivo → A0.
- DO: opcional; solo proporciona un umbral ajustado por el potenciómetro del módulo y no una concentración.
Código actualizado para ESPHome
El componente ADC de ESPHome muestra la tensión que llega al ADC interno. En ESP8266 su escala es de 0 a 1,0 V; algunas placas añaden un divisor y necesitan un filtro multiplicador para reconstruir la tensión presente en su conector A0. No uses automáticamente multiply: 3.3: comprueba primero la documentación de tu placa y el divisor externo.
sensor:
- platform: adc
pin: A0
id: mq3_adc
name: "Señal analógica MQ-3"
update_interval: 2s
accuracy_decimals: 3
unit_of_measurement: "V"
icon: mdi:chart-bell-curve
filters:
- median:
window_size: 7
send_every: 3
send_first_at: 3
# Añade un multiply únicamente si conoces la escala real
# del divisor integrado en tu placa y del divisor externo.
# Opcional: página local de diagnóstico.
# No la expongas directamente a Internet.
web_server:
port: 80Este código entrega una señal filtrada y honesta. No la etiqueta como ppm ni mg/L porque una regla del tipo voltaje × constante no representa la curva logarítmica del sensor, ni las diferencias entre módulos, ni la forma de tomar una muestra de aliento.
Una vez instalado el firmware, la integración ESPHome añadirá la entidad automáticamente a Home Assistant. Si estás empezando con otros sensores resistivos, la guía del MQ-2 con ESPHome muestra otro ejemplo de esta familia.
Tarjeta para Home Assistant
Para observar calentamiento, exposición y recuperación, una gráfica histórica es más útil que un supuesto valor absoluto:
type: history-graph
title: Señal experimental MQ-3
hours_to_show: 2
entities:
- entity: sensor.senal_analogica_mq_3
name: MQ-3Calentamiento, referencia y pruebas
- Primer acondicionamiento: respeta el precalentamiento superior a 48 horas indicado por el fabricante para sus condiciones de ensayo.
- Repetibilidad: utiliza siempre la misma tensión, tiempo de calentamiento, posición y ventilación.
- Línea base: registra la señal en aire limpio y estable. Una línea base no equivale a 0 mg/L.
- Prueba controlada: acerca brevemente una fuente de vapor diluido y a distancia. No viertas alcohol sobre el sensor, no utilices llama y ventila después.
- Recuperación: espera a que la señal regrese a una zona estable antes de repetir.
Para calcular una concentración aproximada habría que medir la resistencia del sensor, conocer la resistencia de carga, determinar R0 con una concentración certificada de etanol, ajustar la curva Rs/R0 y controlar temperatura y humedad. Incluso así, el montaje seguiría sin ser un alcoholímetro homologado ni una herramienta para decidir si se puede conducir.
Problemas frecuentes
La lectura permanece alta en una habitación vacía
El sensor puede responder a perfumes, limpiadores, humo y otros vapores. También puede estar todavía calentándose. Ventila, retira posibles contaminantes y espera a que la señal se estabilice.
A0 se queda al máximo
Desconecta AO y comprueba inmediatamente la tensión. Es probable que la salida supere el rango del ADC o que el divisor sea incorrecto. No continúes hasta resolverlo.
Dos sensores muestran valores distintos
Es normal: existe dispersión de fabricación y cada módulo puede usar una resistencia de carga distinta. Compara tendencias después del acondicionamiento, no voltajes absolutos entre unidades sin calibración individual.
La señal tarda en bajar
La recuperación no es instantánea. Ventila el entorno y espera. Acortar artificialmente el intervalo de lectura no acelera la recuperación física del material sensible.
Preguntas frecuentes
¿Este proyecto puede decirme si puedo conducir?
No. No utilices este proyecto para decidir si puedes conducir ni para compararlo con límites legales. Si has consumido alcohol, elige transporte alternativo.
¿Puedo mostrar mg/L o ppm en Home Assistant?
Solo deberías mostrar esas unidades si dispones de un procedimiento de calibración trazable, gas patrón e instrumentación adecuada. Para un proyecto doméstico es preferible mostrar voltaje o señal relativa.
¿Cuánto tiempo necesita el MQ-3?
Winsen especifica más de 48 horas de precalentamiento en sus condiciones de ensayo. Tras el acondicionamiento inicial, utiliza siempre un periodo de calentamiento coherente y espera una línea base estable.
¿Puedo utilizar un ESP32?
Sí, pero debes adaptar igualmente la tensión al límite del pin seleccionado y configurar correctamente la atenuación del ADC. No conectes una salida potencial de 5 V directamente.
¿Funciona sin Home Assistant?
Sí. Puedes observar la lectura en los registros de ESPHome o activar el servidor web local del ejemplo. Home Assistant facilita el historial y las gráficas, pero no es obligatorio.
Conclusión
El MQ-3 con ESP8266 es un proyecto interesante para aprender sobre detección de gases, ADC, filtrado y Home Assistant. Su valor está en observar tendencias y entender las limitaciones de un sensor semiconductor económico, no en imitar un alcoholímetro profesional.
Puedes encontrar más montajes de ESPHome y electrónica en el canal de YouTube de Tecnoyfoto.
Fuentes técnicas
- Manual oficial del sensor MQ-3B de Winsen.
- Componente ADC de ESPHome.
- Especificaciones oficiales de LOLIN D1 Mini 3.1.0.
Continúa leyendo
Siguiente guía relacionada · 9 min de lectura
Módulo de relé con ESPHome y ESP32: guía segura de 4 canales
Actualizado el 1 de agosto de 2026. He revisado el cableado, los GPIO y la configuración para las versiones actuales de ESPHome. Controlar un…
Continuar con este artículo

