Saltar al contenido

HTU21D con ESPHome: temperatura y humedad por I²C

12/10/2022
Sensor HTU21D I2C con ESPHome

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 25 de agosto de 2026 · Cableado I²C, modelos compatibles, código ESPHome, ubicación y diagnóstico revisados.

El HTU21D es un sensor digital de temperatura y humedad que se comunica mediante I²C. Frente a sensores básicos de un solo hilo, ofrece buena repetibilidad, identificación sencilla en el bus y una integración directa con ESPHome. También existen módulos vendidos como Si7021 o SHT21 con una interfaz similar; conviene identificar el chip y seleccionar el modelo correcto.

Qué ofrece el HTU21D

  • Medición digital de humedad relativa y temperatura.
  • Bus I²C con dirección habitual 0x40.
  • Precisión típica del fabricante cercana a ±2 % HR y ±0,3 °C en el rango de referencia.
  • Calibración almacenada en el propio sensor.
  • Calentador interno para diagnóstico o recuperación en condiciones concretas.

La precisión especificada no se mantiene igual en todo el rango, y el montaje influye mucho. Una caja caliente o sin ventilación puede causar más error que el propio sensor.

Tensión del sensor y del módulo

El chip HTU21D trabaja a baja tensión, aproximadamente entre 1,5 y 3,6 V. Algunos breakout boards incorporan regulador y adaptación de nivel; otros conectan el chip directamente. Por seguridad, aliméntalo a 3,3 V con ESP8266 o ESP32 salvo que la documentación de tu módulo indique expresamente otra cosa. No deduzcas compatibilidad con 5 V solo por el aspecto de la placa.

Cableado I²C

HTU21DWemos D1 mini / ESP8266ESP32 clásico
VIN / VCC3V33V3
GNDGNDGND
SDAGPIO4 (D2)GPIO21
SCLGPIO5 (D1)GPIO22

Las placas ESP32 no comparten siempre el mismo pinout. Comprueba tu modelo antes de cablear. El bus necesita resistenciasEnlace de afiliado pull-up en SDA y SCL; muchos módulos ya las incluyen. Varias resistenciasEnlace de afiliado en paralelo pueden dejar una resistencia total demasiado baja cuando conectas muchos breakouts.

Configuración ESPHome en ESP8266

i2c:
  sda: GPIO4
  scl: GPIO5
  scan: true

sensor:
  - platform: htu21d
    model: HTU21D
    temperature:
      name: "Temperatura HTU21D"
      accuracy_decimals: 1
    humidity:
      name: "Humedad HTU21D"
      accuracy_decimals: 1
    update_interval: 60s

Con scan: true, el registro de ESPHome debería mostrar un dispositivo en 0x40. El intervalo de 60 segundos es apropiado para ambiente doméstico y evita calentar o consultar innecesariamente el sensor.

Configuración en ESP32

i2c:
  sda: GPIO21
  scl: GPIO22
  scan: true

sensor:
  - platform: htu21d
    model: HTU21D
    temperature:
      name: "Temperatura HTU21D"
    humidity:
      name: "Humedad HTU21D"
    update_interval: 60s

HTU21D, Si7021 o SHT21

ESPHome permite seleccionar modelos compatibles como HTU21D, SI7021 o SHT21. Que un escáner encuentre la dirección 0x40 no identifica por sí solo el chip, porque varios sensores la comparten. Revisa la referencia del componente o la documentación del módulo.

Si las lecturas parecen plausibles pero el registro muestra avisos de identificación, cambia model por el que corresponda. No utilices la selección de modelo para ocultar errores de alimentación o cableado.

Dónde colocar el sensor

  • Fuera de la caja principal o separado del regulador y del ESP.
  • Con ventilación, pero protegido de gotas, polvo y contacto directo.
  • Lejos del sol, radiadores y corrientes de aire localizadas.
  • Sin tocar paredes frías donde pueda aparecer condensación.
  • Con el elemento sensible expuesto al aire y sin adhesivo sobre su abertura.

El calentador interno no debe mantenerse activado para “mejorar” una medición normal: eleva la temperatura del chip y altera la humedad relativa. Se reserva para usos concretos indicados por el fabricante y para periodos breves.

Solución de problemas I²C

SíntomaComprobación
No aparece 0x40VCC/GND, SDA/SCL intercambiados, soldaduras y tensión
Errores intermitentesCable corto, masa, pull-ups y alimentación desacoplada
Lectura demasiado calienteSeparar el sensor de la placa y ventilar la caja
Humedad saturadaCondensación; dejar secar y revisar la ubicación
Varios módulos fallanDirecciones repetidas o demasiadas pull-ups en paralelo

Calibración y comparación

Antes de aplicar un offset, coloca el HTU21D junto a un instrumento fiable y espera suficiente tiempo. Compara varios puntos de temperatura y humedad. Un error constante puede corregirse con un filtro; una desviación que cambia con el rango suele requerir una calibración más completa o sustituir el sensor.

temperature:
  name: "Temperatura HTU21D"
  filters:
    - offset: -0.4

Para entender mejor el bus y conectar varios dispositivos, consulta nuestra guía del bus I²C.

Uso en Home Assistant

ESPHome crea dos entidades independientes, una de temperatura y otra de humedad. Puedes mostrarlas directamente en un panel, utilizarlas en gráficas históricas o calcular humedad absoluta y punto de rocío mediante ayudantes. Para controlar ventilación, combina ambas lecturas con condiciones de tiempo y límites razonables; no enciendas un equipo crítico basándote en una sola muestra.

Asigna un área al dispositivo y conserva nombres estables. Si cambias el nombre de la entidad después de crear automatizaciones, revisa sus referencias. Las estadísticas a largo plazo son especialmente útiles para detectar una caja mal ventilada, desviaciones progresivas o periodos de condensación.

Fuentes comprobadas

Continúa leyendo

Siguiente guía relacionada · 9 min de lectura

BME280: guía completa con Arduino, ESPHome y Home Assistant

Actualizado el 01 de agosto de 2026 El BME280 es un sensor ambiental compacto de Bosch que mide temperatura, humedad relativa y presión atmosférica.…

Continuar con este artículo