En este post vamos a explicar el paso a paso de conectar una pantalla oled 0.96" i2c a la Raspberry pi pico programando con MicroPyton.

Aprenderás a instalar y configurar el entono de trabajo para la placa Raspberry pi pico, hacer la conexion con la pantalla oled y a instalar los plugins necesarios para poder mostrar mensajes o figuras en el display.
Instalación y configurar el entono de trabajo
Configurar entorno de trabajo
Para trabajar con este post debemos tener el entorno de trabajo instalado y configurado, ademas del firmware cargado a la raspberry pi pico, en el post instalar entorno de trabajo, explico a detalle como se hace, aunque voy a dar la explicación resumida a continuación.
Thonny
Para este proyecto usaremos el entorno de trabajo thonny, este es el recomendado por la fundación raspberry pi para poder crear y compilar los proyectos. Thonny es un proyecto de la Universidad de Tartu de Estonia, es de software libre y cuenta con python 3 como lenguaje de programación incluido.
En su sitio oficial https://thonny.org encontramos el instalador y la documentación necesaria para poder trabajar con este entorno de trabajo.
Instalar thonny en windows
Para realizar la instalación en windows, vamos a descargar el instalador que lo podemos encontrar en el sitio oficial sección de descargas donde tenemos la versión 3.3.4, todos los pasos se encuentran el el post post instalar entorno de trabajo.
Configurar para uso en raspberry pi pico
Antes de realizar el primer programa y cargarlo a la tarjeta, debemos realizar la configuración de thonny y cargar el firmware a la tarjeta raspberry pi pico, en post instalar entorno de trabajo tambien se explica a detalle como se debe hacer esta configuración.

Componentes
🔹 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.
Raspberry pi pico
Tenemos una imagen que se ha obtenido de la hoja de datos de las raspberry pi pico. Mas informacion en http://codigoelectronica.com/blog/hoja-de-datos-raspberry-pi-pico

Materiales
Material | Descripción |
---|---|
Raspberry pi pico | Controlador del proyecto |
Oled 0.96" | Pantalla de comunicacion i2c |
Cables de conexión |
🔌 Conexión Raspberry Pi Pico a pantalla OLED (I2C)
OLED (I2C) | Pico (pin físico) | Pico (GPIO) |
---|---|---|
VCC | 36 | 3V3 (OUT) |
GND | 38 | GND |
SDA | 16 | GP12 |
SCL | 17 | GP13 |
Nota: Puedes usar otros pines I2C, pero GP0 y GP1 son comunes y fáciles de usar con el bus I2C(0).

Primera prueba de conexión
Vamos a verificar que la pantalla OLED tenga la dirección correcta (0x3C usualmente). vamos a colocar el siguientre codigo:
from machine import Pin, I2C
i2c = I2C(0, scl=Pin(1), sda=Pin(0))
print(i2c.scan())
Resultado: Debería imprimir [60]
que en hexadecimal es 0x3C
.
El script anterior se usa para verificar que tu dispositivo I2C está conectado correctamente y responde, donde:
🔹 Importa las clases Pin
e I2C
desde el módulo machine
, que es parte de MicroPython.
Pin
: permite controlar los pines GPIO de la Raspberry Pi Pico.I2C
: permite comunicarte con dispositivos que usan el protocolo I2C (como sensores, pantallas, etc.).
🔹 Crea una instancia del bus I2C número 0, configurando:
scl=Pin(1)
: pin GP1 como línea de reloj (SCL).sda=Pin(0)
: pin GP0 como línea de datos (SDA).
📌 En la Raspberry Pi Pico, tienes dos buses I2C disponibles:
I2C(0)
usa GP0 (SDA) y GP1 (SCL)I2C(1)
usa GP2 (SDA) y GP3 (SCL)
🔹 i2c.scan()
Escanea el bus I2C en busca de dispositivos conectados y muestra sus direcciones en una lista.
Pruebas pantalla oled
Instalar Plugin


Instalar librería manualmente
Para realizar esta instalación ingresamos a los siguientes enlaces en donde vamos a obtener el código para la ssd1306.py
Luego en thonny creamos un archivo nuevo llamado ssd1306.py y lo guardamos en la rpi pico, por ultimo del repositorio de código de la librería, copiamos y pegamos todo el contenido.

Código principal: mostrar texto en OLED
Procedemos a colocar el primer código en donde mostramos un texto en la pantalla:
# Importamos librerías
from machine import Pin, I2C
import ssd1306
import time
# Inicializa I2C en GP0 (SDA), GP1 (SCL)
i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=400000)
# Dimensiones de la pantalla
ancho = 128
alto = 64
# Crear objeto para controlar OLED
oled = ssd1306.SSD1306_I2C(ancho, alto, i2c)
# Limpiar pantalla
oled.fill(0)
# Mostrar texto
oled.text("Hola, mundo!", 0, 0)
oled.text("OLED con Pico", 0, 10)
# Dibujar una línea
oled.hline(0, 20, 128, 1)
# Actualizar pantalla
oled.show()
# Espera
time.sleep(5)
# Borrar pantalla y actualizar
oled.fill(0)
oled.show()