In diesem Beitrag möchte ich dir zeigen wie du die OLED UNIT SH1107 von M5Stack am Seeeduino Nano programmierst und dort Sensorwerte anzeigen lassen kannst.
Das 1,3″ OLED Display habe ich dir bereits im Beitrag Programmieren der OLED UNIT SH1107 am M5Stack ATOM vorgestellt und gezeigt wie du dieses am M5Stack ATOM Lite mit UIFlow programmieren kannst. Hier zeige ich dir jedoch einen Weg über die Arduino IDE.
Bezug einer OLED UNIT SH1107 & eines Seeeduino Nano
Das OLED Display bekommst du im offiziellen Shop von M5Stack für knapp 11 $ zzgl. Versandkosten. Den Seeeduino Nano bekommst du im Shop von Seeedstudio für 7.6 $ zzgl. Versandkosten. Da beide Shops aus dem Ausland versenden musst du die noch ggf. zusätzliche Einfuhrabgaben einberechnen, daher lohnt sich hier auch ein blick in deutsche Shops wie
- https://eckstein-shop.de
- https://www.roboter-bausatz.de/
- https://www.ebay.de/
- https://www.amazon.de/
Grove Shield Expansion Board
Für das Seeeduino Nano Board bekommst du zusätzlich ein Expansion Board welches zusätzliche Grove Schnittstellen bereitstellt.


Dieses nützliche Board bekommst du ebenfalls im Shop von Seeedstudio unter Grove Shield for Arduino Nano.
Aufbau der Schaltung
Da das OLED Display über eine Grove Schnittstelle verfügt ist der Aufbau recht einfach. Es muss lediglich das passende Kabel mit dem I²C Anschluss des Grove Shield Expansion Board verbunden werden.
Programmieren des OLED Displays SH1107 mit der Arduino IDE
Den Seeeduino Nano kannst du in der Arduino IDE programmieren, bzw. programmierst du mit diesem Programm die Sketche für den Mikrocontroller.
Einbinden der benötigten Bibliothek von Adafruit
Für das OLED Display gibt es auch einen passenden Treiber von Adafruit. Diese Firma bietet sehr viele und vor allem sehr gute Treiber für diverse Sensoren / Aktoren rund um den Arduino, ESPx und auch Raspberry PI Pico.
Diesen Treiber installierst du am einfachsten über den Bibliotheksverwalter, dieses Tool erreichst du über das Hauptmenü „Sketch“ > „Bibliothek einbinden“ > „Bibliotheken verwalten“.
Im Bibliotheksverwalter suchst du zunächst nach dem Schlagwort „sh1107“ (1) und wählst den Eintrag mit „Adafruit SH110X“ aus indem du die Schaltfläche „Installieren“ (2) betätigst.

Je nach Internetgeschwindigkeit kann dieser Vorgang etwas dauern.
einfaches „Hello World!“ auf dem Display anzeigen
Wollen wir mit einem einfachen Beispiel starten, das bekannte „Hello World!“.
Das kleine Programm zu diesem Beispiel sieht wie folgt aus:
//Bibliotheken für die Kommunikation mit dem OLED Display #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SH110X.h> //initialisieren des Displays mit den abmaßen 128 x 64 Pixel Adafruit_SH1107 display = Adafruit_SH1107(64, 128, &Wire); void setup() { //Das OLED Display ist per //I2C angeschlossen und wird //mit der Adresse 0x3C angesprochen display.begin(0x3C, true); //leeren des Displays display.clearDisplay(); display.display(); //drehen der Anzeige um 90° display.setRotation(1); //Schriftgröße auf 2 setzen display.setTextSize(2); //Textfarbe "weiß" display.setTextColor(SH110X_WHITE); //eine Zeile Ausgeben und einen Zeilenumbruch //tätigen display.println("Hello"); display.println("World!"); //Text anzeigen display.display(); } void loop() {//bleibt leer}
Ein Vorteil bei der Programmierung über der Arduino IDE ist es, dass die Textgröße angepasst werden kann, das Web-Tool UIFlow von M5Stack kann dieses beim OLED Display noch nicht. Aber da das Display gerade erst im Mai 2021 veröffentlicht wurde, wird bestimmt bald ein Update erscheinen, wo dieses gefixt wird.