Mi pantalla OLED SSD1306 no enciende o enseña basura con ESPHome: cómo arreglarla
Has conectado una pantallita OLED de 0,96" a tu ESP32 con ESPHome y se queda en negro, o enciende pero con puntos aleatorios o desplazada.
Por qué pasa (diagnóstico)
- Pantalla en negro: casi siempre es la dirección I²C (0x3C o 0x3D), SDA y SCL cruzados o un
lambdaque no dibuja nada (falta la fuente). - Imagen con basura o movida unas columnas: la pantalla lleva un chip SH1106 aunque la vendan como SSD1306.
- Con conexión SPI, la imagen puede corromperse por interferencias o por mezclar en el mismo bus aparatos con distinto modo SPI.
Solución paso a paso
- Activa
scan: trueen el bloquei2c:y mira los registros al arrancar (cómo ver los logs). Si no aparece ninguna dirección, revisa el cableado: VCC a 3,3 V, GND, y SDA/SCL en los pines que has puesto. - Si el escaneo da 0x3D, ponlo en
address: 0x3D(por defecto ESPHome usa 0x3C). - Comprueba que tienes un bloque
font:y que ellambdalo usa:it.print(0, 0, id(font), "Hola");. - Si sale basura, cambia
modela"SH1106 128x64". Si es al revés,rotation: 180°; si faltan píxeles en un borde,offset_x. - Si tu placa tiene pin RESET, conéctalo a un GPIO y decláralo en
reset_pin. En SPI, pruebaspi_mode: MODE0.
Requisitos
- ESP32 o ESP8266
- Pantalla OLED SSD1306 o SH1106
- ESPHome
Compatibilidad
- SSD1306, SSD1305, SH1106 y SH1107 por I²C o SPI con ESPHome
Verificación
Documentado: resumen de las fuentes oficiales citadas (leídas el 21-oct-2026). No lo hemos probado aún en nuestro laboratorio, por eso no está marcado VERIFICADO.
Fuentes
- ESPHome — Pantalla OLED SSD1306 (modelos, dirección, reset, SPI MODE0) (en inglés)
- ESPHome — Bus I²C (scan) (en inglés)
- Adafruit — Conexión de OLED 128×64 (direcciones 0x3C y 0x3D) (en inglés)
Manuales de aparatos relacionados
Guías relacionadas
- ESP32 no arranca o se comporta raro al conectar algo a ciertos pines
- Las lecturas analógicas del ESP32 fallan cuando el Wi‑Fi está activo
- Sensor DHT22 en ESPHome da NaN o lecturas erráticas
- Mi sonda DS18B20 marca 85 °C todo el rato (o se vuelve loca): por qué pasa y cómo arreglarlo
- ESP32: «Brownout detector was triggered» y se reinicia
- ESP32: «Wrong boot mode detected» al flashear
Más guías de ESP32 / ESPHome.