In diesem Beitrag möchte ich dir zeigen, wie du ein OLED Display am Raspberry Pi Pico in CircuitPython programmieren kannst.

Im letzten Beitrag Raspberry PI Pico #5 – Ultraschallabstandssensor RCW-001 & OLED Display anschließen habe ich dir bereits ein kleines Projekt mit einem OLED Display gezeigt. Jedoch hatte ich dort die Skriptsprache MicroPython verwendet, welche sich doch recht stark von CircuitPython unterscheidet.
OLED Displays
Auf dem Markt gibt es diverse OLED Displays, welche man in nachfolgende vier Kategorien unterteilen kann.
Größe / Auflösung
Die OLED Displays für die Mikrocontroller & Einplatinencomputerprogrammierung erhältst du in diversen Auflösungen bzw. Größen.
Größe in Zoll | Auflösung | Preis |
---|---|---|
0,42″ | 70 x 40 | 3 € |
0,49″ | 64 x 32 | 2,50 € |
0,91″ | 128 x 32 | 4,58 € |
0,96″ | 128 x 64 | 5,25 € |
1,3″ | 128 x 64 | 3,39 € |
1,5″ | 128 x 64 | 10,30 € |
2,42″ | 128 x 64 | 13,25 € |
In diesem Beitrag verwende ich nachfolgende kleine OLED Displays.



Farbe
Bei der Wahl der Farbe kann man zwischen blau / weiss, schwarz / weiss und Farbig (RGB Spektrum) wählen.
Mir gefallen die blau / weiss OLED Displays am besten da dort der Kontrast am besten zur Geltung kommt.
Anschluss
Beim Anschluss gibt es genau 2 Varianten zum einen per I2C und per SPI.
Die mir vorliegenden OLED Displays haben jeweils einen I2C Anschluss. Der Anschluss per SPI ist aber nicht wesentlich komplizierter, es werden lediglich mehr PINs für die Kommunikation benötigt.
Anschluss eines OLED Displays an den PI Pico über I2C
Die Kommunikation per I2C geschieht über Adressen, das macht es möglich an zwei Pins sehr viele Sensoren / Aktoren anzuschließen bzw. zu betreiben.
Da mir derzeit nur Displays mit I2C Schnittstelle vorliegen kann, ich derzeit nicht zeigen wie man ein OLED Display mit SPI Schnittstelle anschließt. Aber ich habe eines bestellt und sobald dieses da ist, werde ich einen kurzen Beitrag darüber veröffentlichen.
Der Pi Pico verfügt über 2 I2C Schnittstellen an welche wir unser Display anschließen können. Ich habe mir ein kleines Expansionboard erstellt welches die Kontakte des I2C1 separat herausführt.

Programmieren des OLED Displays am Raspberry Pi Pico
Benötigte Ressourcen für die Programmierung in CircuitPython
Damit du deinen Raspberry Pi Pico mit CircuitPython programmieren kannst, musst du diesen ggf. zunächst einmal flashen. Dazu musst du die *.uf2 Datei von https://circuitpython.org/board/raspberry_pi_pico/ herunterladen und auf deinem Pi Pico kopieren.
Des Weiteren werden für die die verwendete CircuitPython Version auch die Bibliotheken benötigt. In meinem Fall habe ich den Pi Pico in der Version 7.11 geflasht und lade die Beispiele für die Version 7.x von https://circuitpython.org/libraries herunter.
Aus diesem Bundle von Bibliotheken benötigen wir die Dateien / das Verzeichnis
- adafruit_ssd1306.mpy
- adafruit_framebuf.mpy
- adafruit_display_text
Diese Dateien / dieses Verzeichnis werden / wird in den Ordner „CIRCUITPY (G:) lib“ kopiert.
Sowie benötigen wir zusätzlich eine Binäre Fontdatei für die Darstellung von Text. Diese Datei laden wir vom GitHub Repository adafruit / Adafruit_CircuitPython_framebuf aus den Beispielen herunter und speichern diese im gleichen Pfad wie die Datei „code.py“ auf dem Laufwerk „CIRCUITPY“.
Darstellen von Texten auf einem OLED Display
Fangen wir zunächst mit dem Darstellen von Texten auf einem OLED Display an.
import board import busio import adafruit_ssd1306 import time SDA = board.GP2 SCL = board.GP3 i2c = busio.I2C(SCL, SDA) oled = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c) oled.fill(0) time.sleep(0.1) oled.text("Hello World!", 0, 0, 1) oled.show()
Wenn wir den obigen Code auf dem Pi Pico ausführen, dann wird auf dem Display an der Koordinate X=0, Y=0 in der Schriftgröße 1 der Text „Hello World!“ angezeigt.

1 thought on “Raspberry PI Pico #6: OLED Display betreiben”