Saltar al contenido

Sensor MQ-2 con ESPHome y ESP32: guía segura y actualizada

04/02/2023
Sensor MQ-2 conectado mediante un divisor de tensión a un ESP32 con ESPHome

Actualizado el 1 de agosto de 2026. He revisado el cableado del ADC, el código ESPHome, la calibración y las limitaciones de seguridad del proyecto.

El sensor MQ-2 con ESPHome permite observar cómo cambia la conductividad de un sensor resistivo cuando aparecen humo o determinados vapores inflamables. Con un ESP32 y Home Assistant podemos registrar esa señal y comparar su evolución, pero no obtenemos automáticamente una concentración fiable en ppm ni construimos una alarma de gas homologada.

Advertencia importante: este montaje es educativo. No sustituye un detector certificado de humo, monóxido de carbono, gas natural, butano o propano. No lo utilices para proteger personas, decidir si una estancia es segura ni controlar automáticamente una situación peligrosa.

La diferencia es esencial: el MQ-2 responde a varias sustancias, cambia con la temperatura, la humedad, el envejecimiento y la alimentación, y cada módulo incorpora componentes con tolerancias distintas. En esta guía publicaremos una tensión ADC filtrada y honesta. Si estás empezando, también puedes consultar qué es ESPHome y cómo funciona Home Assistant.

Qué es el MQ-2 y qué mide realmente

El elemento sensible del MQ-2B es dióxido de estaño, SnO₂. En aire limpio presenta una conductividad menor; cuando se expone a determinados gases combustibles o humo, la conductividad aumenta. El circuito del módulo transforma ese cambio de resistencia en una tensión analógica.

Según Winsen, el MQ-2B es sensible especialmente a propano y humo, y también responde a gas natural, metano, alcohol y otros vapores inflamables. Esa sensibilidad cruzada significa que una lectura alta no identifica qué sustancia está presente. Perfume, productos de limpieza, humo de cocina o cambios ambientales pueden alterar la señal.

Dato del MQ-2BValor de referencia
Tensión del calentador5,0 V ±0,1 V
Consumo del calentadorHasta 950 mW
Rango indicado por el fabricante300–10.000 ppm de gas inflamable, bajo condiciones de ensayo
Precalentamiento inicialNo menos de 48 horas
Salida en el ensayo de 2.000 ppm de propano2,5–4,0 V

Estos valores describen el sensor bajo el circuito y las condiciones del fabricante; no convierten la salida de cualquier módulo comercial en una lectura universal. El rango de ppm de la ficha tampoco autoriza a aplicar una fórmula lineal a la tensión.

Material necesario

  • Un módulo MQ-2 con salida analógica AO.
  • Una placa ESP32 compatible con ESPHome.
  • Una fuente estable de 5 V con margen suficiente para el calentador.
  • Una resistencia de 10 kΩ y otra de 15 kΩ para el divisor de tensión.
  • Protoboard, cables y un multímetro.
  • ESPHome Device Builder y Home Assistant.

El calentador puede consumir alrededor de 190 mA a 5 V antes de sumar LED y electrónica del módulo. No alimentes el MQ-2 desde el pin de 3,3 V del ESP32. Si necesitas conocer mejor la placa, aquí tienes mi guía del ESP32.

Por qué necesitamos un divisor de tensión

El módulo trabaja normalmente a 5 V y su salida analógica puede superar el rango práctico del ADC del ESP32. La documentación de ESPHome indica que attenuation: auto ofrece aproximadamente hasta 3,12 V utilizables, con variación entre chips. Conectar directamente una salida cercana a 4 o 5 V no es una opción segura.

Vadc = Vmq2 × R2 / (R1 + R2)

R1 = 10 kΩ entre AO y GPIO34
R2 = 15 kΩ entre GPIO34 y GND

Si Vmq2 = 5,0 V, Vadc = 3,0 V

El divisor protege el ADC y modifica la escala de la señal, algo que debemos tener presente si hacemos comparaciones. Mide con el multímetro la tensión en GPIO34 antes de conectarlo al ESP32. Si utilizas otros valores, recalcula el máximo y deja margen.

Cableado seguro del MQ-2 al ESP32

MQ-2Conexión
VCCFuente estable de 5 V
GNDGND común con el ESP32
AOR1 de 10 kΩ; nodo central a GPIO34
Nodo GPIO34R2 de 15 kΩ hacia GND
DOSin conectar en esta guía

La salida digital DO depende de un comparador y del potenciómetro del módulo. Solo indica que la señal cruzó un ajuste local; no identifica el gas, no proporciona ppm y no convierte el módulo en una alarma. Por eso no la utilizaremos.

Código ESPHome actualizado

Este ejemplo utiliza GPIO34, un pin ADC1 del ESP32 clásico que puede funcionar mientras el Wi-Fi está activo. Publica únicamente la tensión que llega al ADC después del divisor. Añade tus claves al archivo secrets.yaml; no escribas credenciales reales dentro del package que vayas a compartir.

substitutions:
  device_name: "sensor-mq2-salon"
  friendly_name: "Sensor MQ-2 salón"

esphome:
  name: ${device_name}
  friendly_name: ${friendly_name}

esp32:
  board: esp32dev

logger:

api:
  encryption:
    key: !secret mq2_api_key

ota:
  - platform: esphome
    password: !secret mq2_ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

sensor:
  - platform: adc
    pin: GPIO34
    id: mq2_adc_voltage
    name: "Tensión ADC MQ-2"
    unit_of_measurement: "V"
    accuracy_decimals: 3
    attenuation: auto
    update_interval: 2s
    icon: mdi:chart-line
    filters:
      - median:
          window_size: 7
          send_every: 3
          send_first_at: 3

No hay multiplicadores arbitrarios, valores de R0 inventados ni un sensor binario llamado «detección de gas». La entidad representa una tensión relativa. El valor subirá o bajará según el módulo y su circuito; lo importante es observar el comportamiento real de tu unidad.

Tarjeta para Home Assistant

Una gráfica histórica permite distinguir el calentamiento, la deriva y la recuperación mejor que un indicador rojo o verde:

type: history-graph
title: Señal relativa del MQ-2
hours_to_show: 24
entities:
  - entity: sensor.sensor_mq_2_salon_tension_adc_mq_2

Si el identificador de tu entidad es distinto, selecciónalo desde el editor visual de la tarjeta. Para compensar o estudiar el efecto ambiental puedes añadir un sensor de temperatura y humedad, como explico en la guía del BME280.

Precalentamiento, referencia y pruebas

  1. Deja el sensor encendido al menos 48 horas durante el acondicionamiento inicial.
  2. Colócalo en un lugar ventilado y estable, lejos de cocina, aerosoles, vapor y disolventes.
  3. Registra varias horas de señal para conocer la deriva de tu unidad.
  4. Compara días y situaciones semejantes; anota temperatura y humedad.
  5. No liberes gas, no acerques un mechero y no generes humo para probarlo.

Después de largos periodos almacenado, el fabricante recomienda un envejecimiento aún mayor: al menos 72 horas si estuvo guardado entre uno y seis meses y 168 horas si superó los seis meses. La estabilización no es una calibración certificada; solo ayuda a obtener una referencia más repetible.

Por qué no mostramos ppm

La fórmula del fabricante para calcular la resistencia sensible es Rs = (Vc / VRL - 1) × RL. Para convertir después Rs/R0 en concentración necesitaríamos conocer con precisión la resistencia de carga real, obtener R0 con un procedimiento controlado, escoger la curva del gas concreto y compensar temperatura, humedad y tolerancias.

Una constante como «9,83» no es el valor R0 de todos los módulos. Tampoco existe un único umbral Rs/R0 que signifique fuga para cualquier MQ-2. Sin una cámara y mezclas de referencia conocidas, mostrar ppm ofrecería una precisión que el montaje no posee.

El mismo criterio aplicamos en el proyecto del sensor MQ-3 con ESPHome: son herramientas interesantes para aprender sobre señales y tendencias, no instrumentos legales o de seguridad.

Problemas frecuentes

La lectura permanece al máximo

Desconecta GPIO34 y mide la tensión del nodo del divisor. Comprueba los valores de R1 y R2, la masa común y que attenuation: auto está presente. Nunca conectes AO directamente si puede superar el ADC.

El ESP32 se reinicia

El calentador exige bastante corriente. Utiliza una fuente de 5 V adecuada, cables cortos y una masa correcta. No intentes alimentar el conjunto desde un regulador de 3,3 V pequeño.

La señal cambia sin humo ni gas aparente

El MQ-2 tiene sensibilidad cruzada. Alcohol, productos de limpieza, humedad, temperatura, cocina y deriva del calentador pueden modificar la lectura. Esa es otra razón para no tratarla como una identificación de gas.

Dos módulos muestran valores diferentes

Es normal. Cambian el sensor, la resistencia de carga, el divisor, la alimentación y el historial de exposición. Compara cada módulo contra su propia referencia.

Vídeo del proyecto original

En el vídeo puedes ver el montaje original. Utiliza el cableado, el código y las limitaciones de esta página, que han sido revisados posteriormente.

Preguntas frecuentes

¿Puede el MQ-2 sustituir un detector de gas?

No. Para seguridad doméstica utiliza detectores certificados para el gas y la normativa de tu país, instalados según las instrucciones del fabricante.

¿Detecta monóxido de carbono?

No debe utilizarse como alarma de CO. El monóxido de carbono requiere un detector certificado específicamente para CO.

¿Puedo utilizar un ESP8266?

Sí, pero el ADC interno del ESP8266 admite 0–1 V. Algunas placas incorporan su propio divisor y otras no. Debes conocer el esquema de la placa y recalcular la protección; no copies directamente el divisor del ESP32.

¿Puedo activar una notificación al superar un valor?

Puedes crear avisos experimentales para estudiar cambios, pero su texto debe indicar «variación del sensor MQ-2», no «fuga detectada». Nunca bases una función de seguridad en ese umbral.

Conclusión

El MQ-2 con ESPHome es un buen proyecto para aprender sobre ADC, divisores de tensión, filtrado e historial de sensores. Un montaje responsable protege el ESP32, utiliza una fuente estable, respeta el precalentamiento y describe la salida como señal relativa.

Precisamente porque los gases combustibles son un asunto serio, la automatización DIY debe complementar el aprendizaje, nunca sustituir los equipos certificados.

Fuentes técnicas

Continúa leyendo

Siguiente guía relacionada · 9 min de lectura

Alcoholímetro casero con sensor MQ-3 y ESPHome: guía segura

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…

Continuar con este artículo