Skip to Content

Premiers pas avec T-Camera-Plus S3

Premiers pas avec T-Camera-Plus S3

Dans ce tutoriel, vous apprendrez à démarrer avec la carte LILIGO T-Camera-Plus S3 en utilisant l’environnement Arduino IDE.

Le LilyGO T-Camera-Plus S3 est une carte de développement compacte basée sur l’ESP32-S3, conçue pour les applications IoT et vision par ordinateur. Elle intègre une caméra OV2640, microphone et un écran. Alimentée par un ESP32-S3 double cœur avec support d’accélération IA et 8 Mo de PSRAM, elle peut gérer la capture d’images en temps réel, la détection de visages et le streaming de données.

Dans cet article, nous allons parcourir les étapes essentielles de configuration, comme l’installation des bibliothèques, du core ESP32 et la préparation du code pour un serveur web qui diffuse la vidéo en Wi-Fi de la T-Camera-Plus S3 vers votre navigateur.

Pièces requises

Vous aurez besoin d’une T-Camera-Plus S3 et d’un câble USB-C pour programmer la carte et tester les exemples de code.

LILYGO T-Camera-Plus S3

Câble USB-C

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.

Matériel de la T-Camera Plus S3

La T-Camera-Plus S3 est construite autour du microcontrôleur ESP32-S3 d’Espressif, un processeur Xtensa LX7 double cœur fonctionnant jusqu’à 240 MHz. Il inclut des instructions vectorielles optimisées pour les charges de travail IA et traitement du signal, ce qui le rend idéal pour les applications embarquées de vision et audio. La puce intègre 512 Ko de SRAM et est associée à 8 Mo de PSRAM et 16 Mo de mémoire flash SPI. L’image ci-dessous montre le recto et le verso de la carte :

Front and back of T-Camera-Plus S3 board
Recto et verso de la carte T-Camera-Plus S3 (source)

Caméra

Pour l’imagerie, la carte utilise le capteur OmniVision OV2640, qui supporte des résolutions jusqu’à 1600 × 1200 (UXGA) et communique via une interface parallèle DVP 8 bits. La caméra est connectée directement à la matrice GPIO de l’ESP32-S3, utilisant un signal XCLK à 20 MHz pour la synchronisation. La compression JPEG embarquée réduit la charge mémoire et la bande passante de transmission, permettant un streaming fluide des images en Wi-Fi. Le module caméra est fixé par un connecteur ruban et la lentille peut être ajustée pour la mise au point.

Composants

La carte dispose d’un écran TFT de 1,3 pouce piloté par le contrôleur ST7789, connecté via SPI. Cet écran offre une résolution de 240 × 240 pixels et peut servir à prévisualiser les images capturées, afficher des données de capteurs ou une interface utilisateur locale. À côté de l’écran se trouve un circuit de gestion d’alimentation AP1511B qui assure une régulation efficace de la tension pour l’ESP32-S3 et les composants périphériques. Un microphone (INMP441) est intégré pour capturer l’audio via une interface I²S, permettant des applications combinant audio et vision.

Connectivité

La connectivité est assurée par les radios intégrées de l’ESP32-S3 : Wi-Fi 2,4 GHz (802.11 b/g/n) et Bluetooth 5 LE avec antenne embarquée. La carte comprend aussi un port USB Type-C pour la programmation et l’alimentation, un bouton reset, une touche utilisateur (KEY1), et plusieurs broches GPIO exposées pour l’extension. Parmi les autres fonctionnalités, on trouve une LED programmable et un circuit de contrôle d’alimentation embarqué pour activer ou désactiver les périphériques afin d’optimiser la consommation.

Pinout of the T-Camera-Plus S3 board
Brochage de la carte T-Camera-Plus S3 (source)

Spécifications techniques

Le tableau suivant résume les spécifications techniques de la carte LILYGO T-Camera-Plus S3 :

SpécificationDescription
MicrocontrôleurESP32-S3 (Xtensa® LX7 double cœur, jusqu’à 240 MHz)
Mémoire Flash16 Mo flash SPI
PSRAM8 Mo PSRAM externe
Capteur caméraOmniVision OV2640, résolution max 1600 × 1200 px, sortie JPEG
ÉcranTFT 1,3″ (contrôleur ST7789), 240 × 240 px, interface SPI
MicrophoneMicrophone MEMS numérique INMP441 (interface I²S)
Connectivité sans filWi-Fi 2,4 GHz (802.11 b/g/n) + Bluetooth 5 LE
Interface USBUSB Type-C (programmation, série, alimentation)
BoutonsBouton reset et bouton utilisateur (KEY1)
Gestion de l’alimentationConvertisseur DC-DC AP1511B, circuit de contrôle d’alimentation embarqué
Tension de fonctionnement5 V (via USB Type-C)
Disponibilité GPIOBroches exposées limitées pour extension périphérique
Dimensions de la carteEnviron 58 mm × 25 mm × 10 mm

Les schémas de la carte sont disponibles au lien suivant :

Installation des bibliothèques

Nous allons d’abord installer les bibliothèques nécessaires pour compiler le code pour la T-Camera-Plus S3. Rendez-vous sur le dépôt GitHub de LILYGO pour l’écran à T-CameraPlus-S3. Cliquez sur le bouton vert « <> Code » puis « Download ZIP » pour télécharger le dépôt en fichier ZIP :

Ensuite, décompressez le fichier ZIP pour en extraire le contenu. Vous devriez voir les fichiers suivants dans le dossier décompressé nommé « T-CameraPlus-S3-arduino-esp32-libs_V2.0.14 » :

Nous devons copier le contenu du dossier « libraries » dans le dossier « libraries » de l’Arduino IDE. Sous Windows, le dossier « libraries » se trouve généralement ici :

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

Comme ce dossier contient déjà des bibliothèques installées, je vous recommande de le renommer temporairement, par exemple en « _libraries », puis de créer un nouveau dossier nommé « libraries ». Cela évite les conflits avec vos bibliothèques existantes sans les perdre. Vous pourrez facilement revenir en arrière plus tard. L’image ci-dessous montre à quoi devrait ressembler votre dossier « Arduino » avec les bibliothèques :

Ensuite, copiez les fichiers du dossier « libraries » dans ce nouveau dossier « libraries » comme illustré ci-dessous :

L’installation des bibliothèques requises est maintenant terminée. Dans la section suivante, nous installerons le core ESP32.

Installation du core ESP32

En plus des bibliothèques, il faut aussi installer une version spécifique du core ESP32. Le nom du fichier ZIP (T-CameraPlus-S3-arduino-esp32-libs_V2.0.14) de github repo indique que la Version 2.0.14 doit être utilisée. La version actuelle (3.3.x) n’est pas supportée (à partir de novembre 2025) et le code ne compilera pas.

Il est facile de rétrograder la version du core ESP32. Ouvrez le BOARDS MANAGER, tapez « ESP32 » pour filtrer les cartes ESP32, puis sélectionnez Version 2.0.14 pour l’ESP32 par Espressif Systems. L’image ci-dessous montre à quoi cela ressemble après la rétrogradation du core ESP32 :

Nous sommes maintenant presque prêts à tester la caméra.

Code pour l’exemple Camera_WebServer

Dans cette section, nous allons préparer, flasher et exécuter le code pour le Camera_WebServer qui se trouve dans le dossier examples du dépôt GitHub. Puisque vous avez téléchargé le dépôt, vous avez déjà le code exemple sur votre ordinateur. Ouvrez le dossier « T-CameraPlus-S3-arduino-esp32-libs_V2.0.14 » sur votre ordinateur, puis allez dans « examples » et ouvrez le dossier « Camera_WebServer » :

Il y a deux choses à modifier pour pouvoir exécuter le Camera_WebServer.ino, cependant.

Ajouter le fichier pinconfig.h

Premièrement, le dossier du projet pour l’exemple Camera_WebServer ne contient pas le fichier de configuration des broches pour la caméra. Vous pouvez trouver ce fichier (pin_config.h) dans le dossier « private_library » du dossier « T-CameraPlus-S3-arduino-esp32-libs_V2.0.14 ». Copiez-le simplement dans le projet Camera_WebServer comme montré ci-dessous :

Après avoir copié le fichier, votre dossier Camera_WebServer devrait contenir les fichiers suivants :

Identifiants Wi-Fi

Deuxièmement, vous devez définir les bons identifiants pour votre réseau Wi-Fi. Ouvrez le fichier Camera_WebServer.ino. Au début du fichier, vous verrez les définitions pour WIFI_SSID et 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)
{
...

Modifiez-les avec le SSID et le MOT DE PASSE de votre réseau Wi-Fi.

Téléverser le code sur la T-Camera-Plus S3

Nous sommes maintenant presque prêts à téléverser le code sur la T-Camera-Plus S3. Sélectionnez « ESP32S3 Dev Module » comme carte et assurez-vous qu’elle est connectée et reconnue sur un port COM :

Ensuite, dans le menu « Tools », réglez les paramètres suivants :

Les plus importants sont Flash Size, Partition Scheme et PSRAM. Les autres paramètres doivent être les réglages par défaut, mais vérifiez-les quand même. Pour afficher dans le Moniteur Série, la configuration USB_CDC_ON_BOOT doit aussi être activée.

Vous pouvez maintenant téléverser le code sur votre T-Camera_Plus S3 et, espérons-le, voir les informations suivantes dans le Moniteur Série :

Cela vous indique le modèle de la caméra, que la carte a pu se connecter au Wi-Fi et à quelle adresse IP le serveur web de la caméra fonctionne. Les messages d’erreur concernant la partition ne semblent pas poser de problème et peuvent être ignorés.

Ouvrez votre navigateur web, entrez l’adresse IP, par exemple « 192.168.1.242 » dans la barre d’adresse, et une barre latérale avec un menu pour le serveur web devrait apparaître :

Cliquez sur « Start Stream » en bas de ce menu (juste au-dessus des Paramètres avancés) :

et vous devriez pouvoir profiter d’un flux vidéo dans votre navigateur :

Si la vidéo de la T-Camera-Plus S3 apparaît floue, souvenez-vous que vous pouvez ajuster la mise au point de la lentille en la tournant :

Et voilà ! Si vous rencontrez des problèmes pour flasher la carte T-Camera-Plus S3, consultez la section suivante.

Impossible de téléverser le code sur la T-Camera-Plus S3

J’ai constaté que le téléversement du code pour Camera_WebServer et d’autres exemples plus volumineux sur la T-Camera-Plus S3 échoue souvent. Maintenir le bouton Boot, réinitialiser la carte, redémarrer l’ordinateur – rien n’a fonctionné.

Le flash a démarré avec succès mais a échoué avant d’atteindre 100% avec le message d’erreur :

Une erreur d’exception série s’est produite : Impossible de configurer le port, quelque chose a mal tourné. Message original : PermissionError(13, ‘The device does not recognize the command.’, None, 22)
Note : Cette erreur provient de pySerial. Il est probable que ce ne soit pas un problème d’esptool, mais de la connexion matérielle ou des pilotes.

La bonne nouvelle, c’est que j’ai trouvé une solution pour contourner ce problème. Il suffit de créer un autre projet Arduino avec un code minimal et de flasher ce code si vous rencontrez l’erreur ci-dessus. Par exemple, j’ai utilisé le code exemple suivant :

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

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

Pour une raison inconnue, cela fonctionne toujours, et après cela, vous pouvez flasher à nouveau le code plus volumineux (Camera_WebServer) et ça marche aussi.

Conclusion

Dans ce tutoriel, vous avez appris à démarrer avec la carte T-Camera-Plus S3 de LILYGO. Nous avons seulement flashé et exécuté le Camera_WebServer mais le dépôt GitHub contient plus de examples que vous devriez découvrir.

Notez que nous avons aussi un tutoriel pour le modèle précédent T-Camera S3 : Getting Started with T-Camera S3, et si vous êtes intéressé par d’autres caméras et applications, consultez les tutoriels suivants :

Si vous avez des questions, n’hésitez pas à les poser dans la section commentaires.

Bon bricolage 😉