Zum Inhalt springen
Arduino Tutorials Anfänger · 1 Std. · Aktualisiert am 16. Juli 2026

Ein TFT-Display am Arduino anschließen

TFT Display

Wenn dir LCD zu langweilig wird, oder dein Projekt ein Farbdisplay erfordert, wird es Zeit für ein TFT-Display! Hier lernst du, wie du ein kleines, günstiges SPI-Display richtig mit deinem Arduino verbindest und etwas darauf anzeigen lassen kannst.

Diese Bauteile brauchst du

Affiliate-Links: Kaufst du über diese Links, erhält Pollux Labs eine kleine Provision – für dich ohne Mehrkosten.

Der richtige Anschluss

Das hier verwendete TFT-Display hat 8 Pins, die du mit deinem Arduino UNO verbinden musst. Folge hierbei dem folgenden Plan:

Pin am TFT-DisplayPin am Arduino
LED3.3 V
SCK 13
SDA11
A0 oder DC9
RESET8
CS 10
GNDGND
VCC 5 V

Wenn du ein anderes Arduino-Modell verwendest, benötigst du möglicherweise eine andere Belegung der Pins.

Rückseite des TFT-Displays
Rückseite des TFT-Displays

Sobald du das Display richtig angeschlossen hast, kann es auch schon mit dem Programmieren losgehen.

Die passenden Bibliotheken

Auf den kleinen 1,8″-Displays sitzt fast immer der Controller ST7735. Um ihn anzusteuern, benötigst du zwei Bibliotheken von Adafruit, die du im Bibliotheksverwalter deiner Arduino IDE installierst (Menü Werkzeuge > Bibliotheken verwalten):

  • Adafruit ST7735 and ST7789 Library – spricht den Controller deines Displays an
  • Adafruit GFX Library – stellt die Funktionen zum Schreiben und Zeichnen bereit

Wenn du die ST7735-Bibliothek installierst, bietet dir die IDE meist direkt an, die GFX-Bibliothek als Abhängigkeit mit zu installieren. Nimm das Angebot an – dann hast du beides in einem Rutsch.

Vielleicht bist du in älteren Tutorials über die Bibliothek TFT.h gestolpert, die früher in der Arduino IDE vorinstalliert war. Sie wird nicht mehr weiterentwickelt und ist in aktuellen Versionen der IDE auch nicht mehr enthalten. Die Adafruit-Bibliotheken sind heute der Standard – und können deutlich mehr.

Der Code für dein TFT-Display

Zunächst bindest du die drei Bibliotheken ein. SPI.h ist für die Kommunikation zwischen Arduino und Display zuständig und in der IDE bereits enthalten.

#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>

Als nächstes definierst du folgende 3 Pins. Anschließend erstellst du eine Instanz der Bibliothek mit dem Namen tft.

#define TFT_CS  10
#define TFT_DC   9
#define TFT_RST  8

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

Die Setup-Funktion

Hier startest du zunächst das Display. Das INITR_BLACKTAB in den Klammern beschreibt die Variante deines Displays – erkennbar an der Farbe der Schutzfolie, die bei der Auslieferung auf dem Display klebt.

tft.initR(INITR_BLACKTAB);

Falls dein Bild später verschoben ist oder die Farben vertauscht wirken, probiere stattdessen INITR_GREENTAB oder INITR_REDTAB aus. Das ist der mit Abstand häufigste Stolperstein bei diesen Displays – und in zwei Sekunden ausprobiert.

Danach löschst du das Display, indem du es komplett mit Schwarz füllst:

tft.fillScreen(ST77XX_BLACK);

Für die gängigsten Farben bringt die Bibliothek fertige Konstanten mit: ST77XX_BLACK, ST77XX_WHITE, ST77XX_RED, ST77XX_GREEN, ST77XX_BLUE, ST77XX_YELLOW, ST77XX_CYAN und ST77XX_MAGENTA. Eigene Farben mischst du dir gleich im Loop selbst zusammen.

Zuletzt setzt du die Schriftgröße auf 2. Experimentiere mit größeren und kleineren Zahlen und beobachte die Zeichen auf deinem Display.

tft.setTextSize(2);

Der Loop

Hier wirst du den guten alten Text „Hello, world!“ auf dein Display bringen. Aber nicht nur das, du wirst ihn auch in verschiedenen und zufällig erzeugten Farben anzeigen, um die Möglichkeiten deines Farbdisplays auszunutzen.

Kümmern wir uns zunächst um die zufälligen Farben. Eine Farbe besteht aus den drei Anteilen Rot, Grün und Blau. Jeder dieser Anteile kann einen Wert zwischen 0 und 255 haben – 3x die Null ergibt Schwarz, 3x 255 Weiß. Diesen Wert ermittelst du mit der Funktion random() und weist ihn je einer Variablen zu:

  int redRandom = random(0, 256);
  int greenRandom = random(0, 256);
  int blueRandom = random(0, 256);

Warum 256 und nicht 255? Die obere Grenze von random() ist exklusiv, sie wird also selbst nie erreicht. Mit random(0, 256) bekommst du tatsächlich alle Werte von 0 bis 255.

Aus diesen drei Anteilen machst du mit tft.color565() eine Farbe, die dein Display versteht. Der Name verrät auch schon, wie das funktioniert: Der ST7735 speichert pro Farbe 16 Bit – 5 für Rot, 6 für Grün und 5 für Blau. Deine drei Werte werden also etwas zusammengestaucht. Statt der 16 Millionen Farben eines Monitors stehen dir damit rund 65.000 zur Verfügung. Immer noch reichlich für ein Display dieser Größe. Lerne hier mehr über RGB.

Die fertige Farbe übergibst du an tft.setTextColor(). Das Schwarz als zweiter Wert ist die Hintergrundfarbe des Textes – dadurch überschreibt jeder neue Text den alten sauber, statt sich mit ihm zu überlagern. Mit tft.setCursor() legst du fest, wo geschrieben wird, und tft.print() bringt den Text schließlich aufs Display:

tft.setTextColor(tft.color565(redRandom, greenRandom, blueRandom), ST77XX_BLACK);
tft.setCursor(6, 57);
tft.print("Hello, World!");

Zu guter Letzt baust du noch einen Delay in den Loop ein, mit dem du die Geschwindigkeit des Farbwechsels bestimmst. Also zum Beispiel alle 200 Millisekunden:

delay(200);

Und das war’s! Wenn du den Code jetzt auf deinen Arduino hochlädst, sollte dein TFT-Display „Hello, World!“ in wechselnden Farben anzeigen.

Hier der vollständige Code:

#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>

#define TFT_CS  10
#define TFT_DC   9
#define TFT_RST  8

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

void setup() {

  tft.initR(INITR_BLACKTAB);

  tft.fillScreen(ST77XX_BLACK);

  tft.setTextSize(2);
}

void loop() {

  int redRandom = random(0, 256);
  int greenRandom = random(0, 256);
  int blueRandom = random(0, 256);

  tft.setTextColor(tft.color565(redRandom, greenRandom, blueRandom), ST77XX_BLACK);

  tft.setCursor(6, 57);
  tft.print("Hello, World!");

  delay(200);
}

Wie geht es weiter?

Du kannst nicht nur Text aufs Display bringen, sondern darauf auch zeichnen. Hierfür bringt die GFX-Bibliothek bereits Funktionen für Linien, Kreise, Rechtecke und so weiter mit. Auch die große Anzahl an Farben kannst du nutzen – mit einem Farbsensor kannst du Farben erkennen und sie auf dem TFT-Display anzeigen.

Viele Displays haben auch bereits einen SD-Kartenleser auf der Rückseite. Auf die SD-Karte kannst du zum Beispiel Bilder speichern und sie auf dem Display anzeigen lassen – dafür gibt es mit der Adafruit ImageReader Library eine passende Ergänzung.

Doch lieber LCD? Lerne hier, wie du ein LCD-Display am Arduino anschließt.

Mehr Projekte für Arduino, ESP32, Raspi & Co
Werde Mitglied bei Pollux Labs und finde dein nächstes Projekt. Zum Beispiel:
Über 100 Maker sind bereits Mitglied bei Pollux Labs
  • ESP32 Internetradio
  • Arduino Wetterstation
  • ESP8266 & Raspi Webserver
  • Automatische Bewässerung
  • ... und viele mehr!