Skip to Content

Erste Schritte mit T-Camera-Plus S3

Erste Schritte mit T-Camera-Plus S3

In diesem Tutorial lernst du, wie du mit dem LILIGO T-Camera-Plus S3 Board in der Arduino IDE Umgebung startest.

Das LilyGO T-Camera-Plus S3 ist ein kompaktes Entwicklungsboard auf ESP32-S3 Basis, das für IoT- und Computer-Vision-Anwendungen entwickelt wurde. Es integriert eine OV2640 Kamera, Mikrofon und ein Display. Angetrieben vom Dual-Core ESP32-S3 mit KI-Beschleunigung und 8 MB PSRAM kann es Echtzeit-Bilderfassung, Gesichtserkennung und Daten-Streaming-Aufgaben bewältigen.

In diesem Artikel führen wir dich durch die wichtigsten Einrichtungsschritte, wie das Installieren der Bibliotheken, des ESP32-Cores und die Vorbereitung des Codes für einen Webserver, der Videodaten über Wi-Fi vom T-Camera-Plus S3 an deinen Webbrowser streamt.

Benötigte Teile

Du benötigst ein T-Camera-Plus S3 und ein USB-C-Kabel, um das Board zu programmieren und die Codebeispiele auszuprobieren.

LILYGO T-Camera-Plus S3

USB-C Kabel

Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.

Hardware des T-Camera Plus S3

Das T-Camera-Plus S3 basiert auf dem ESP32-S3 Mikrocontroller von Espressif, einem Dual-Core Xtensa LX7 Prozessor mit bis zu 240 MHz. Er verfügt über Vektor-Instruktionen, die für KI- und Signalverarbeitungsaufgaben optimiert sind, was ihn ideal für eingebettete Vision- und Audioanwendungen macht. Der Chip integriert 512 KB SRAM und ist mit 8 MB PSRAM sowie 16 MB SPI-Flash-Speicher ausgestattet. Das Bild unten zeigt Vorder- und Rückseite des Boards:

Front and back of T-Camera-Plus S3 board
Vorder- und Rückseite des T-Camera-Plus S3 Boards (source)

Kamera

Für die Bildaufnahme verwendet das Board den OmniVision OV2640 Kamerasensor, der Auflösungen bis zu 1600 × 1200 (UXGA) unterstützt und über eine 8-Bit parallele DVP-Schnittstelle kommuniziert. Die Kamera ist direkt mit der GPIO-Matrix des ESP32-S3 verbunden und nutzt ein 20 MHz XCLK-Signal zur Synchronisation. Die integrierte JPEG-Kompression des Sensors reduziert Speicherbedarf und Übertragungsbandbreite, was ein flüssiges Streaming der Bilder über Wi-Fi ermöglicht. Das Kameramodul ist über ein Flachbandkabel angeschlossen und die Linse kann zur Fokussierung verstellt werden.

Komponenten

Das Board verfügt über ein 1,3-Zoll TFT-Display, das vom ST7789 Controller über SPI angesteuert wird. Dieses Display bietet eine Auflösung von 240 × 240 Pixeln und kann zur Vorschau der aufgenommenen Bilder, Anzeige von Sensordaten oder zur Darstellung einer lokalen Benutzeroberfläche genutzt werden. Neben dem Display befindet sich ein AP1511B Power-Management-IC, der eine effiziente Spannungsregelung für den ESP32-S3 und Peripheriegeräte bietet. Ein Mikrofon (INMP441) ist integriert, um Audioeingaben über eine I²S-Schnittstelle aufzunehmen, was Anwendungen mit kombinierter Audio- und Bildverarbeitung ermöglicht.

Konnektivität

Die Konnektivität wird über die integrierten 2,4 GHz Wi-Fi (802.11 b/g/n) und Bluetooth 5 LE Funkmodule des ESP32-S3 mit einer Onboard-Antenne realisiert. Das Board verfügt außerdem über einen USB Type-C Anschluss zum Programmieren und zur Stromversorgung, einen Reset-Knopf, eine Benutzertaste (KEY1) und mehrere frei zugängliche GPIO-Pins zur Erweiterung. Weitere Features sind eine programmierbare LED und eine Onboard-Stromsteuerung, um Peripheriegeräte für Energieoptimierung ein- oder auszuschalten.

Pinout of the T-Camera-Plus S3 board
Pinbelegung des T-Camera-Plus S3 Boards (source)

Technische Spezifikationen

Die folgende Tabelle fasst die technischen Spezifikationen des LILYGO T-Camera-Plus S3 Boards zusammen:

SpezifikationBeschreibung
MikrocontrollerESP32-S3 (Xtensa® LX7 Dual-Core, bis zu 240 MHz)
Flash-Speicher16 MB SPI-Flash
PSRAM8 MB externer PSRAM
KamerasensorOmniVision OV2640, max. Auflösung 1600 × 1200 px, JPEG-Ausgabe
Display1,3″ TFT (ST7789 Treiber), 240 × 240 px, SPI-Schnittstelle
MikrofonINMP441 digitales MEMS-Mikrofon (I²S-Schnittstelle)
Drahtlose Konnektivität2,4 GHz Wi-Fi (802.11 b/g/n) + Bluetooth 5 LE
USB-SchnittstelleUSB Type-C (für Programmierung, seriell und Stromversorgung)
TastenReset-Taste und Benutzertaste (KEY1)
StromversorgungAP1511B DC-DC-Wandler, Onboard-Stromsteuerung
Betriebsspannung5 V (über USB Type-C)
GPIO-VerfügbarkeitBegrenzte frei zugängliche Pins für Peripherieerweiterung
Board-AbmessungenCa. 58 mm × 25 mm × 10 mm

Das Schaltbild des Boards findest du unter folgendem Link:

Installation der Bibliotheken

Zuerst installieren wir die Bibliotheken, die zum Kompilieren des Codes für das T-Camera-Plus S3 Board benötigt werden. Gehe zum LILYGO GitHub-Repo für das Display unter T-CameraPlus-S3. Klicke auf den grünen „<> Code“-Button und dann auf „Download ZIP“, um das Repo als ZIP-Datei herunterzuladen:

Entpacke anschließend die ZIP-Datei, um deren Inhalt zu extrahieren. Im entpackten Ordner namens „T-CameraPlus-S3-arduino-esp32-libs_V2.0.14“ solltest du folgende Dateien sehen:

Wir müssen den Inhalt des „libraries“-Ordners in den „libraries“-Ordner der Arduino IDE kopieren. Unter Windows befindet sich der „libraries“-Ordner typischerweise hier:

C:\Users\<username>\OneDrive\Documents\Arduino\libraries

Da dieser Ordner bereits installierte Bibliotheken enthält, empfehle ich, ihn vorübergehend umzubenennen, z.B. in „_libraries“, und einen neuen Ordner namens „libraries“ anzulegen. So vermeidest du Konflikte mit bereits installierten Bibliotheken und verlierst sie nicht. Später kannst du die Änderung einfach rückgängig machen. Das Bild unten zeigt, wie dein „Arduino“-Ordner mit den Bibliotheken aussehen sollte:

Als Nächstes kopieren wir die Dateien aus dem „libraries“-Ordner in den neuen „libraries“-Ordner, wie unten gezeigt:

Damit ist die Installation der benötigten Bibliotheken abgeschlossen. Im nächsten Abschnitt installieren wir den ESP32-Core.

Installation des ESP32-Cores

Neben den Bibliotheken müssen wir auch eine spezifische Version des ESP32-Cores installieren. Der Name der ZIP-Datei (T-CameraPlus-S3-arduino-esp32-libs_V2.0.14) github repozeigt an, dass die Version 2.0.14 verwendet werden sollte. Die aktuelle Version (3.3.x) wird nicht unterstützt (Stand Nov 2025) und der Code lässt sich damit nicht kompilieren.

Das Downgrade der ESP32-Version ist einfach. Öffne den BOARDS MANAGER, gib „ESP32“ ein, um die ESP32-Boards zu filtern, und wähle dann Version 2.0.14 für das ESP32 von Espressif Systems aus. Das Bild unten zeigt, wie das nach dem Downgrade des ESP32-Cores aussieht:

Jetzt sind wir fast bereit, die Kamera auszuprobieren.

Code für das Camera_WebServer Beispiel

In diesem Abschnitt bereiten wir den Code für den Camera_WebServer vor, flashen ihn und führen ihn aus. Der Code befindet sich im examples Ordner des GitHub-Repos. Da du das GitHub-Repo bereits heruntergeladen hast, liegt der Beispielcode schon auf deinem Computer. Öffne den Ordner „T-CameraPlus-S3-arduino-esp32-libs_V2.0.14“, dann „examples“ und öffne den Ordner „Camera_WebServer“:

Es gibt allerdings zwei Dinge, die wir ändern müssen, um den Camera_WebServer.ino ausführen zu können.

pinconfig.h Datei hinzufügen

Zuerst fehlt im Projektordner des Camera_WebServer Beispiels eine Datei mit der Pin-Konfiguration für die Kamera. Diese Datei (pin_config.h) findest du im „private_library“-Ordner des „T-CameraPlus-S3-arduino-esp32-libs_V2.0.14“ Ordners. Kopiere sie einfach in das Camera_WebServer-Projekt, wie unten gezeigt:

Nach dem Kopieren sollte dein Camera_WebServer folgende Dateien enthalten:

Wi-Fi Zugangsdaten

Als Nächstes musst du die korrekten Zugangsdaten für dein Wi-Fi einstellen. Öffne die Camera_WebServer.ino Datei. Am Anfang der Datei findest du Definitionen für WIFI_SSID und WIFI_PASSWORD:

#include <WiFi.h>
#include "camera_index.h"
#include "app_httpd.tpp"
#include "pin_config.h"

#define WIFI_SSID "LilyGo-AABB"
#define WIFI_PASSWORD "xinyuandianzi"

bool OV2640_Initialization(void)
{
...

Ändere diese auf SSID und PASSWORD deines Wi-Fi-Netzwerks.

Code auf T-Camera-Plus S3 hochladen

Jetzt sind wir fast bereit, den Code auf das T-Camera-Plus S3 zu laden. Wähle als Board „ESP32S3 Dev Module“ aus und stelle sicher, dass es verbunden und an einem COM-Port erkannt wird:

Stelle im „Tools“-Menü folgende Parameter ein:

Am wichtigsten sind Flash Size, Partition Scheme und PSRAM. Die anderen Parameter sollten die Standardeinstellungen sein, aber überprüfe sie besser. Beim Ausgeben auf den Serial Monitor muss die USB_CDC_ON_BOOT Konfiguration ebenfalls aktiviert sein.

Jetzt kannst du den Code auf dein T-Camera-Plus S3 hochladen und hoffentlich folgende Informationen im Serial Monitor sehen:

Diese zeigen dir das Kameramodell, dass das Board sich mit dem WiFi verbunden hat und unter welcher IP-Adresse der Webserver für die Kamera läuft. Die Fehlermeldungen bezüglich der Partitionierung scheinen keine Probleme zu verursachen und können ignoriert werden.

Öffne deinen Webbrowser, gib die IP-Adresse, z.B. „192.168.1.242“, in die Adresszeile ein, und eine Seitenleiste mit einem Menü für den Webserver sollte erscheinen:

Klicke unten im Menü auf „Start Stream“ (direkt über den Erweiterten Einstellungen):

und du solltest den Videostream in deinem Browser genießen können:

Wenn das Video der T-Camera-Plus S3 unscharf erscheint, denke daran, dass du den Fokus der Kameralinse durch Drehen einstellen kannst:

Und das war’s! Solltest du Probleme beim Flashen des T-Camera-Plus S3 Boards haben, schau dir den nächsten Abschnitt an.

Code lässt sich nicht auf T-Camera-Plus S3 hochladen

Ich habe festgestellt, dass das Hochladen des Codes für das Camera_WebServer und andere größere Beispiele auf das T-Camera-Plus S3 oft nicht funktioniert. Boot-Taste gedrückt halten, Board zurücksetzen, Computer neu starten – nichts hat geholfen.

Das Flashen startete zwar, schlug aber vor Erreichen von 100 % mit folgender Fehlermeldung fehl:

Ein serieller Ausnahmefehler ist aufgetreten: Port kann nicht konfiguriert werden, etwas ist schiefgelaufen. Originalmeldung: PermissionError(13, ‚Das Gerät erkennt den Befehl nicht.‘, None, 22)
Hinweis: Dieser Fehler stammt von pySerial. Wahrscheinlich liegt das Problem nicht bei esptool, sondern bei der Hardwareverbindung oder den Treibern.

Die gute Nachricht ist, ich habe einen Weg gefunden, dieses Problem zu umgehen. Erstelle einfach ein weiteres Arduino-Projekt mit minimalem Code und flashe diesen, wenn der oben genannte Fehler auftritt. Zum Beispiel habe ich folgenden Beispielcode verwendet:

void setup() {
  Serial.begin(115200);
}

void loop() {
  delay(1000);
  Serial.println("loop");
}

Aus irgendeinem Grund funktioniert das immer, und danach kannst du den größeren Code (Camera_WebServer) erneut flashen, und es klappt auch.

Fazit

In diesem Tutorial hast du gelernt, wie du mit dem T-Camera-Plus S3 Board von LILYGO startest. Wir haben nur das Camera_WebServer geflasht und ausgeführt, aber das GitHub-Repo enthält noch mehr examples, die du dir ansehen solltest.

Beachte, dass wir auch ein Tutorial für das vorherige T-Camera S3 Modell haben: Getting Started with T-Camera S3, und falls du an anderen Kameras und Anwendungen interessiert bist, schau dir die folgenden Tutorials an:

Wenn du Fragen hast, kannst du sie gerne im Kommentarbereich stellen.

Viel Spaß beim Basteln 😉