Cómo conectar raspberry pi pico a oled por i2c


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

Cómo conectar raspberry pi pico a oled por i2c
oscar Escrito por oscar 01 July 2025 9 0

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.

como conectar raspberry pi pico a oled
cómo conectar raspberry pi pico a oled

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.

Selector de interprete MicroPython
Selector de interprete MicroPython

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.

OLED 0.93" i2c
OLED 0.93" i2c

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.

Reverso OLED 0.93"
Reverso OLED 0.93"

⚠️ 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

Pineas raspberry pi pico
Pineas 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).

Circuito raspberry pi pico a oled por i2c
Circuito raspberry pi pico a oled por i2c

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

Leyenda

 

Leyenda

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.

Librería ssd1306
Librería ssd1306

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()

 


Comentario

Debe aceptar antes de enviar