Borrador editorial: comprobar el módulo concreto, la versión de ESPHome y las cifras de la ficha del fabricante antes de publicarlo.
Qué mide el BME280
El BME280 es un sensor digital de Bosch Sensortec que mide temperatura, humedad relativa y presión atmosférica. Se comunica normalmente por I2C en módulos para prototipos, aunque el componente también puede utilizar SPI.
Es una alternativa interesante a un DHT cuando necesitas presión además de temperatura y humedad, o cuando quieres un bus estándar con registros y opciones de sobremuestreo. No es un sensor de calidad del aire: no mide directamente CO2, partículas ni compuestos orgánicos volátiles.
Ficha técnica orientativa
| Característica | BME280 |
|---|---|
| Magnitudes | Temperatura, humedad y presión |
| Interfaz | I2C o SPI |
| Alimentación del chip | Según ficha del fabricante; el chip trabaja en baja tensión |
| Precisión de humedad | Aproximadamente ±3 % HR en condiciones especificadas |
| Precisión de temperatura | Aproximadamente ±1 °C en condiciones especificadas |
| Precisión de presión | Aproximadamente ±1 hPa en condiciones especificadas |
| Dirección I2C habitual | 0x76 o 0x77, según el estado del pin SDO |
Estas cifras son una referencia de la familia BME280, no una garantía para todos los módulos comerciales. El breakout puede incorporar regulador, conversión de nivel y una resistencia de pull-up. Comprueba la documentación de la placa que has comprado y no confundas un BME280 con un BMP280: el BMP280 no mide humedad.
Conexión I2C con ESP32
En una placa ESP32 de desarrollo, una conexión habitual es:
| BME280 | ESP32 |
|---|---|
| VCC o VIN | Alimentación compatible con el módulo |
| GND | GND |
| SDA | GPIO21 como ejemplo habitual |
| SCL | GPIO22 como ejemplo habitual |
Los GPIO21 y GPIO22 son una elección frecuente para I2C en ESP32, pero no son universales. Tu placa o proyecto puede usar otros pines. Configúralos de forma explícita y evita pines reservados para el arranque o ya ocupados por otro periférico.
El chip BME280 trabaja a baja tensión. Algunos módulos aceptan 5 V en el pin marcado como VIN porque incorporan regulador y adaptación, pero otros exponen directamente el chip. Si no sabes qué circuito tiene el módulo, utiliza 3,3 V y consulta su esquema. Alimentar un GPIO con 5 V puede dañarlo.
Detectar la dirección I2C
La dirección depende normalmente del pin SDO. Dos módulos no tienen por qué usar la misma dirección y algunos productos incluyen puentes o resistencias para cambiarla. Si el sensor no aparece:
- Revisa VCC y GND.
- Comprueba que SDA y SCL no están intercambiados.
- Ejecuta un escaneo I2C.
- Prueba
0x76y0x77si el módulo no documenta su dirección. - Confirma que existen pull-ups y que la tensión del bus es compatible.
No cambies la dirección en la configuración para ocultar un cableado incorrecto. Primero confirma que el escáner detecta físicamente el módulo.
Configuración con ESPHome
Este ejemplo usa GPIO21 y GPIO22 y deja la dirección en 0x76. Adapta los pines,
el nombre y el intervalo a tu instalación:
i2c:
sda: GPIO21
scl: GPIO22
scan: true
sensor:
- platform: bme280_i2c
address: 0x76
temperature:
name: "Temperatura del salón"
humidity:
name: "Humedad del salón"
pressure:
name: "Presión atmosférica"
update_interval: 60s
La dirección y el nombre del componente deben coincidir con la versión de ESPHome instalada. Compila primero sin automatizaciones adicionales y observa el log. Si aparece el dispositivo pero una magnitud no cambia, revisa el bloque correspondiente y el intervalo de actualización.
Cómo interpretar la presión
La presión que entrega el sensor es presión absoluta en el punto donde está instalado. No la compares directamente con una previsión meteorológica sin tener en cuenta la altitud y el tipo de presión que muestra el servicio externo.
Un cambio de presión puede servir como dato de tendencia, pero no convierte al BME280 en una estación meteorológica completa. La carcasa, el calor de la placa y la posición del sensor influyen en las lecturas.
Calibración y comprobaciones
El BME280 suele salir calibrado de fábrica, pero eso no significa que dos módulos baratos den exactamente el mismo valor. Para comprobarlo:
- Coloca dos sensores juntos, alejados de corrientes directas y fuentes de calor.
- Espera a que alcancen una temperatura estable.
- Compara tendencias y diferencias durante varias horas, no una única lectura.
- Revisa que la humedad no esté afectada por condensación o por tocar el elemento sensible.
- Documenta el offset solo si tienes una referencia razonable y la aplicación justifica corregirlo.
No uses un offset para esconder un error de alimentación, una dirección errónea o un módulo que realmente sea un BMP280. Primero resuelve la causa eléctrica y de configuración.
Errores frecuentes
- No se detecta por I2C: cableado, dirección, pull-ups o alimentación.
- Humedad siempre a cero: módulo incorrecto, componente equivocado o sensor dañado.
- Temperatura demasiado alta: la placa está cerca del regulador, del ESP32 o de una fuente de calor.
- Presión incoherente: compara unidades, altitud y ubicación antes de interpretar el dato.
- Lecturas inestables: alarga el intervalo, revisa el bus y aleja los cables de cargas que generen ruido.
Fuentes y documentación
Siguiente paso
Si todavía estás eligiendo la placa, revisa ESP32: qué es, para qué sirve y cómo empezar. Para comparar este sensor con el DHT11 y el DHT22, consulta la guía de DHT11 frente a DHT22.