Saltar al contenido

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

01/11/2022
Módulo sensor BME280 conectado para medir temperatura, humedad y presión

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

El BME280 es un sensor ambiental compacto de Bosch que mide temperatura, humedad relativa y presión atmosférica. Instalado en un módulo breakout adecuado, permite añadir datos ambientales fiables a proyectos con Arduino, ESP32, ESP8266, ESPHome y Home Assistant. Esta guía actualizada explica sus especificaciones, el cableado seguro, la configuración vigente de ESPHome, el código para Arduino, sus limitaciones y la resolución de problemas.

Aunque el BME280 es un sensor muy completo, es interesante conocer sus alternativas para distintos casos de uso. Por ejemplo, los sensores DHT22 son una opción económica para medir solo temperatura y humedad, mientras que el BMP280 es su hermano pequeño, que mide temperatura y presión, pero no humedad. Si buscas una mayor precisión en humedad, el HTU21D sigue siendo una excelente opción.

Sensor BME280 de Bosch

En el corazón del módulo se encuentra el sensor digital BME280, un componente que, aunque tiene años en el mercado, sigue siendo una referencia gracias a su robusta ingeniería alemana. Es el sucesor de clásicos como el BMP180, BMP085 o BMP183, superándolos en precisión y funcionalidades.

El BME280 trabaja entre 0 y 100% de humedad relativa, 300 y 1100 hPa, y -40°C y 85°C. Bosch especifica una precisión de humedad de ±3% HR bajo sus condiciones de ensayo y una precisión absoluta de presión de ±1 hPa dentro del rango indicado. Su sensibilidad permite detectar pequeños cambios relativos de altura, pero esto no significa que entregue una altitud absoluta con ±1 metro de precisión. La altitud absoluta depende de la presión de referencia al nivel del mar, la meteorología, la calibración y el montaje.

Especificaciones Técnicas del BME280

La tabla resume las especificaciones principales. Para conocer los límites de diseño, las condiciones de precisión, los registros y el cableado recomendado, consulta siempre la documentación oficial del BME280 de Bosch Sensortec.

ParámetroValor
Voltaje de OperaciónVDD: 1,71–3,6 V; VDDIO: 1,2–3,6 V. Un módulo solo admite 5 V si su fabricante lo especifica.
Interfaz de ComunicaciónI²C y SPI
Rango de Temperatura-40°C a +85°C
Precisión de Temperatura±1.0°C (±0.5°C a 25°C)
Rango de Humedad0% a 100% HR
Precisión de Humedad±3% HR
Rango de Presión300 a 1100 hPa
Precisión de Presión±1 hPa
Direcciones I²C disponibles0x76 o 0x77, según SDO o la configuración del módulo

Atención al voltaje: el chip BME280 no tolera 5 V. Algunos módulos breakout incorporan regulador y adaptación bidireccional de nivel, pero muchas placas económicas no lo hacen. Utiliza 3,3 V salvo que la documentación de tu módulo concreto confirme expresamente que admite tanto alimentación como señales lógicas de 5 V. La serigrafía por sí sola no siempre es una prueba suficiente.

Componentes Recomendados

Pinout y Configuración de la Interfaz I²C

La mayoría de los módulos BME280 exponen 4 o 6 pines. Para la comunicación I²C, que es la más común, solo necesitaremos cuatro:

  • VIN/VCC: Alimentación del módulo. Utiliza 3,3 V salvo que el breakout concreto esté documentado como compatible con 5 V.
  • GND: Tierra.
  • SCL: Pin del reloj de la interfaz I²C.
  • SDA: Pin de datos de la interfaz I²C.

El BME280 admite las direcciones 0x76 y 0x77. La selección se realiza mediante SDO, pero la dirección inicial y la forma de cambiarla dependen del módulo breakout. Algunas placas tienen un puente ADDR y otras exponen SDO directamente. Ejecuta primero un escáner I²C y sigue la documentación de tu módulo. No cortes ninguna pista salvo que el fabricante lo indique expresamente.

Cambiar dirección I2C del BME280

Tutorial BME280 con ESPHome y Home Assistant

Para los entusiastas de la domótica, integrar el BME280 en Home Assistant a través de ESPHome es un proceso increíblemente sencillo. Primero, conecta el sensor a tu placa ESP32 o ESP8266.

Esquema de conexión Wemos D1 Mini a BME280

Después, añade el siguiente código a la configuración YAML. Desde ESPHome 2024.2, los dispositivos I²C deben utilizar bme280_i2c; el antiguo nombre de plataforma bme280 ya no compila. Consulta la documentación actual del BME280 en ESPHome si utilizas una versión posterior.

# 1. Definir el bus I²C 
# Los pines sda y scl pueden cambiar dependiendo de tu placa. 
# Para ESP8266/Wemos D1 Mini, suelen ser GPIO4 (D2) y GPIO5 (D1).
# Para ESP32, suelen ser GPIO21 (SDA) y GPIO22 (SCL).
i2c:
  sda: GPIO4
  scl: GPIO5
  scan: true

# 2. Configurar el sensor BME280
sensor:  
  - platform: bme280_i2c
    address: 0x76  # Usa la dirección detectada por el escáner I²C: 0x76 o 0x77
    update_interval: 60s
    temperature:
      name: "Temperatura Salón"
      oversampling: 16x
    pressure:
      name: "Presión Salón"
    humidity:
      name: "Humedad Salón"
    # Opcional: Filtro para suavizar las lecturas
    iir_filter: 4x

Una vez compilado y subido el firmware, las entidades aparecerán automáticamente en Home Assistant, listas para ser usadas en tus automatizaciones y paneles.

Tutorial BME280 con Arduino

Para Arduino, instala desde el Library Manager la Adafruit BME280 Library y Adafruit Unified Sensor. El siguiente cableado presupone el uso del modo I²C.

Conexiones para Arduino UNO:

  • VIN/VCC → 3,3 V para un módulo sin regulador; utiliza 5 V únicamente con un breakout diseñado expresamente para alimentación y lógica de 5 V.
  • GND → GND
  • SDA → A4
  • SCL → A5

No conectes un módulo básico de 3,3 V directamente a la lógica I²C de 5 V. Utiliza un conversor de nivel bidireccional o un breakout que ya lo incorpore.

Puedes instalar las librerías desde el «Library Manager» del IDE de Arduino. Una vez instaladas, puedes usar un código de ejemplo como este para empezar a ver lecturas en el Monitor Serie:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

#define SEALEVELPRESSURE_HPA (1013.25) // Sustituye por la presión local actual al nivel del mar

Adafruit_BME280 bme; // I2C

void setup() {
  Serial.begin(9600);
  Serial.println(F("Test del sensor BME280"));

  if (!bme.begin(0x76)) {
    Serial.println(F("No se pudo encontrar un sensor BME280 válido, ¡revisa el cableado!"));
    while (1);
  }
}

void loop() { 
    Serial.print("Temperatura = ");
    Serial.print(bme.readTemperature());
    Serial.println(" *C");

    Serial.print("Presión = ");
    Serial.print(bme.readPressure() / 100.0F);
    Serial.println(" hPa");

    Serial.print("Altitud Aprox. = ");
    Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
    Serial.println(" m");

    Serial.print("Humedad = ");
    Serial.print(bme.readHumidity());
    Serial.println(" %");

    Serial.println();
    delay(2000);
}

Calibración de la altitud: 1013.25 es la referencia de la atmósfera estándar, no un valor local universal. Sustitúyelo por la presión actual reducida al nivel del mar de tu zona si quieres obtener una estimación útil. Los cambios meteorológicos seguirán desplazando el resultado, por lo que el BME280 es más fiable para medir cambios relativos de altura que una elevación absoluta.

Ideas de Proyectos y Aplicaciones en Domótica

La versatilidad del BME280 lo hace ideal para una infinidad de proyectos. Aquí te dejo algunas ideas para inspirarte:

  • Estación Meteorológica DIY: Es el proyecto estrella. Combínalo con un sensor de lluvia y uno de viento para tener tu propia estación meteorológica integrada en Home Assistant.
  • Control de Climatización Inteligente: Usa las lecturas de temperatura y humedad para crear automatizaciones más eficientes para tu aire acondicionado o calefacción. Puedes incluso calcular el punto de rocío para prevenir la condensación.
  • Monitor de confort y condensación: el BME280 no mide CO₂, COV ni partículas, por lo que no es un sensor completo de calidad del aire. Sí permite vigilar la humedad, el riesgo de condensación y la necesidad de ventilar.
  • Altímetro relativo: tras calibrarlo, los cambios de presión permiten registrar ascensos y descensos en drones o cohetes de modelismo. No debe interpretarse como una altitud absoluta de precisión topográfica.

Resolución de Problemas y FAQ

¿Por qué el microcontrolador no detecta el BME280?

Comprueba primero alimentación, masa, SDA y SCL. Después utiliza el escáner I²C ya activado en el ejemplo de ESPHome, o un escáner para Arduino, para saber si el módulo responde en 0x76 o 0x77. En modo I²C, Bosch también recomienda mantener CSB a nivel alto; algunos módulos ya lo hacen internamente.

¿Por qué la temperatura aparece demasiado alta?

El calor de un ESP32, un regulador, una pantalla o la propia caja puede calentar el sensor. Coloca el BME280 alejado de fuentes de calor y permite que el aire circule por su abertura. Compáralo con una referencia fiable únicamente después de que ambos sensores se hayan estabilizado juntos.

¿Qué diferencia hay entre el BME280 y el BMP280?

El BMP280 mide temperatura y presión atmosférica. El BME280 añade humedad relativa. Comprueba el chip detectado y su marcado, ya que algunos anuncios económicos confunden ambos modelos.

¿Puedo alimentar cualquier módulo BME280 con 5 V?

No. Utiliza 5 V únicamente cuando la documentación del breakout concreto confirme que incorpora regulador y lógica compatible con 5 V. En caso contrario, utiliza 3,3 V y una adaptación de nivel adecuada.

Precio del Sensor BME280 en 2026

Los módulos breakout BME280 suelen encontrarse aproximadamente entre 4 y 15 €, según el diseño de la placa, el vendedor y el tamaño del lote. Comprueba que el anuncio corresponda realmente a un BME280 si necesitas humedad y verifica si el breakout trabaja solo a 3,3 V o incorpora alimentación y lógica compatibles con 5 V.

Consultar el módulo BME280 y su precio actual en Amazon EspañaEnlace de afiliado.

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.

Descargo de responsabilidad

Esta guía asume que el lector tiene conocimientos intermedios y experiencia con prototipos electrónicos, soldadura, programación y prácticas seguras. Como con cualquier proyecto de electrónica, existen múltiples formas de lograr el mismo resultado. Aunque he elaborado esta guía con el máximo rigor posible, no ofrezco garantía ni asumo responsabilidad alguna por el resultado de seguir las instrucciones aquí descritas.

Continúa leyendo

Siguiente guía relacionada · 7 min de lectura

BMP280 con ESP32 y ESPHome: guía I2C actualizada

Actualizado el 2 de agosto de 2026. El BMP280 con ESP32 y ESPHome es un proyecto sencillo para medir presión atmosférica y la temperatura…

Continuar con este artículo