En este post aprenderás a conectar una pantalla OLED de 0.96" al microcontrolador arduino utilizando el protocolo de comunicación I2C, el cual es soportado por ambos dispositivos.
Comenzaremos analizando cada componente por separado, destacando sus principales características, pines y formas de conexión. Posteriormente, listaremos los materiales necesarios para armar el circuito correctamente.

También revisaremos las librerías más utilizadas actualmente para facilitar la configuración y comunicación entre el Arduino y la pantalla OLED. Finalmente, implementaremos algunos ejemplos prácticos para ilustrar su funcionamiento.
Como complemento, incluiremos un video donde se muestra el circuito en funcionamiento, acompañado de una explicación detallada y ejemplos reales de uso en proyectos.
📌 Cómo conectar y usar una pantalla OLED con el Arduino
El Arduino es un microcontrolador potente y versátil, ideal para proyectos de IoT. Una pantalla OLED (como la SSD1306 de 0.96") es una excelente opción para mostrar información, gracias a su bajo consumo de energía y buena visibilidad.
🔹 Pantalla OLED 0.96"
Esta interfaz utiliza solo dos cables de datos (SDA y SCL) para comunicarse con el microcontrolador o la placa de desarrollo. Es una interfaz simple y fácil de usar, por lo que es popular para proyectos de electrónica caseros.

Observemos el reverso de la pantalla en donde vamos a encontrar una resistencia que usaremos para seleccionar la dirección i2c de la pantalla, por defecto estarla con la direccion 0c3C, si cambiamos la resistencia de ubicación, la nueva dirección sera 0x3D.

⚠️ Nota: mas informacion la pueden encontrar en el datasheet del oled adicionalmente tenemos un post del display oled.
La conexión del circuito es sencilla, como el oled usa la interfaz I2C, solo es conectar los dos cables como se observa en la siguiente imagen.
🔌 Materiales
- Arduino uno
- Pantalla OLED de 0.93" (de preferencia con un controlador compatible con I2C)
- Cables jumper
- Breadboard (opcional)
⚙️ Circuito
La pantalla OLED I2C tiene 4 pines: VCC
, GND
, SCL
y SDA
. Conecta así:

⚙️ Conexión entre Arduino y OLED
OLED | Arduino |
---|---|
VCC | 3.3V |
GND | GND |
SCL | SCL |
SDA | SDA |
⚠️ Nota: algunos modelos pueden usar otros pines, verifica tu placa.
🧰 Librerías necesarias
En este ejemplo, vamos a realizar la explicación con las librerías Adafrui SSD1306
Adafriut
Abre el Arduino IDE, ve a Sketch > Include Library > Manage Libraries... y busca e instala:
- Adafruit SSD1306
- Adafruit GFX Library
Tambien la puedes encontrar en el siguiente enlace https://github.com/adafruit/Adafruit_SSD1306
📲 Código de ejemplo
El siguiente código muestra un ejemplo de como usar la pantalla oled 0.96 i2c con arduino.
// 1
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// 2
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
// 3
#define OLED_RESET -1
#define SCREEN_ADDRESS 0x3C
// 4
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(9600);
// 5
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
// 6
display.display();
display.clearDisplay();
// 7
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.println(F("codigoelectronica"));
display.display();
delay(2000);
}
void loop() {
}
- Inicializamos las librerías, en este caso Wire para la comunicacion i2c; ademas de las librerías de Adafruit GFX, SSD1306.
- Definimos el ancho y alto de la pantalla para que la librería pueda calcular correctamente donde pintar.
- Definimos el pin de reset como (-1) indicando que es un reset por software y la direccion i2c del oled.
- Con Adafruit_SSD1306 display() inicializamos un objeto display para poder acceder a los métodos de la librería.
- display.begin inicializa la librería
- display.clearDisplay limpia la pantalla.
- Imprimimos un mensaje
- setTextSize: proporciona el tamaño del texto.
- setTestColor: indica si los pixeles son blancos o negros.
- setCursor: indica la posicion en (x, y).
- println texto a imprimir.
- display: envía a la pantalla lo que esta pendiente de escribir.