Características eléctricas
| Parámetro | Valor |
|---|---|
| Resolución | 128 × 32 píxeles |
| Interfaz | I²C (dirección 0x3C) |
| Voltaje de alimentación | 3,3 V |
| Corriente típica | 10–12 mA a brillo máximo |
| Controlador | Solomon Systech SSD1306 |
Asignación de pines
| Pin OLED | Señal | Notas |
|---|---|---|
| VCC | 3V3 | Alimentado desde el regulador del MCU |
| GND | GND | Tierra común |
| SCL | PA23 | Reloj I²C compartido |
| SDA | PA22 | Datos I²C compartidos |
| RES | PA14 | Controlado por firmware durante init |
| DC | A nivel bajo | Comando/datos gestionado automáticamente en modo I²C |
| CS | A nivel bajo | No se usa en modo I²C |
Estrategia de frame buffer
- El SSD1306 espera datos en páginas de 8 píxeles verticales.
- El firmware mantiene un buffer de 512 bytes en SRAM (
128 × 32 / 8). - Las actualizaciones usan escrituras parciales para minimizar el tráfico I²C cuando solo cambian unos pocos caracteres.
- Un diff simple de double-buffer rastrea las regiones sucias para que el refresco quede por debajo de 5 ms.
Control de brillo
- Valor de contraste por defecto:
0x7F(50%). - Una opción del menú permite atenuar hasta
0x20para entornos oscuros. - Tras 60 segundos de inactividad el firmware envía
DISPLAY OFFmanteniendo los datos en RAM. - Cualquier entrada táctil o actividad USB enciende la pantalla al instante.
Resolución de problemas
| Síntoma | Causa posible | Solución |
|---|---|---|
| Sin imagen, backlight apagada | Pin RES a nivel bajo | Comprueba la soldadura o asegúrate de que el logo de arranque ha terminado. |
| La pantalla parpadea o muestra ruido | Conflicto I²C con la EEPROM | Inspecciona resistencias pull-up y longitud de cable. |
| Ghosting / quemado | Contenido estático a máximo brillo | Reduce el contraste o activa el auto-dim en ajustes. |