Ilustración: Sensor CO2 SCD41 en Raspberry Pi + Home Assistant: tutorial con código

Ilustración generada con IA

Actualizado el 24 de octubre de 2026 Por Emmanuel SAUVAGE

Sensor CO2 SCD41 en Raspberry Pi + Home Assistant: tutorial con código

Medir CO2, temperatura y humedad con SCD40/SCD41 en Raspberry Pi 4 o 5, publicación MQTT y descubrimiento en Home Assistant. Python y systemd.

CO2 alto en una habitación indica aire poco renovado. Este tutorial convierte un Raspberry Pi y un SCD40 o SCD41 en sonda que envía datos a Home Assistant para alertas del tipo «ventila».

Objetivo

  • Leer CO2 (ppm), temperatura y humedad cada 30 s.
  • Publicar MQTT con descubrimiento automático en HA.
  • Servicio al arranque.

Material

  • Raspberry Pi 4 o 5 con Raspberry Pi OS Bookworm (Amazon.es).
  • Módulo SCD40/SCD41 I2C (Amazon.es).
  • Broker MQTT (Mosquitto en Home Assistant).

Cableado (3,3 V)

SCD4xPi (pin físico)
VIN1 (3V3)
GND6 (GND)
SDA3 (GPIO2)
SCL5 (GPIO3)

Dirección I2C 0x62. Activa I2C con raspi-config, i2cdetect -y 1 debe mostrar 62.

Entorno

sudo apt update
sudo apt install -y python3-venv python3-gpiozero python3-lgpio i2c-tools
mkdir -p ~/capteurs && cd ~/capteurs
python3 -m venv --system-site-packages venv
source venv/bin/activate
pip install adafruit-circuitpython-scd4x paho-mqtt

Descarga: co2_scd41_mqtt.py — publica en robotedu/{DEVICE_ID}/state y discovery en homeassistant/sensor/.../config.

Variables: MQTT_HOST, MQTT_USER, MQTT_PASS, DEVICE_ID, INTERVAL=30.

Automatización ejemplo (adapta entity_id):

alias: Alerta CO2 salón
triggers:
  - trigger: numeric_state
    entity_id: sensor.raspberry_pi_scd41_pi_scd41_salon_co2
    above: 1000
    for: "00:05:00"
actions:
  - action: notify.notify
    data:
      message: "CO2 por encima de 1000 ppm: ventila."

systemd

Servicio capteur-co2.service con ExecStart=.../venv/bin/python .../co2_scd41_mqtt.py, Restart=on-failure.

Truco: derivada de subida de CO2

Sensor derivado sobre CO2 (subida rápida en 10 min) avisa antes que un umbral fijo en habitaciones pequeñas.

Errores frecuentes

Alimentación 3,3 V en Pi; esperar data_ready; no pegar el sensor al Pi ni a ventana; funcionamiento continuo para autocalibración.

Más: instalar Home Assistant, estación meteo BME280.

Todas las guías

¿Tienes alguna pregunta sobre este artículo o necesitas consejo? Escríbenos aquí

¿Dudas entre dos modelos o necesitas ayuda con un montaje? Escríbenos y te responderemos rápido por correo.