ESP32 S3 Kamera - Mit Deep Sleep Akku sparen
Alle anderen Kameraprojekte brauchen ständig ein USB-Kabel. Dieses Tutorial ist anders. Der ESP32 S3 schläft und verbraucht fast keinen Strom. Wenn der Bewegungssensor jemanden sieht, wacht das Board auf, nimmt ein Foto auf, speichert es auf der microSD-Karte und schläft wieder ein. Da das Board jeweils nur etwa zwei Sekunden wach ist, verbraucht es sehr wenig Strom. So können Sie es mit einem Akku betreiben und die Kamera an einem Tor, in einem Garten oder an einer Paketbox anbringen.

Was Sie bauen werden:
- Eine Kamera, die schläft, bis etwas passiert
- Ein Foto, das bei jedem Aufwachen auf der microSD-Karte gespeichert wird
- Einen Zähler, der den Deep Sleep übersteht, sodass die Fotonummern nie wieder bei 1 beginnen
- Eine Kamera, die mit einem Akku oder einer Powerbank funktioniert, ganz ohne Kabel
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
※ Notiz:
Das ESP32 S3 Kamera-Board hat 40 Pins, aber der Schraubklemmenblock und das Breakout-Board haben 44 Pins. Sie funktionieren trotzdem zusammen. Setzen Sie das Kamera-Board in die Mitte des 44-Pin-Boards, sodass auf der linken Seite 2 Pins frei bleiben und auf der rechten Seite 2 Pins frei bleiben.
Mit dem Schraubklemmenblock können Sie Drähte mit einem Schraubendreher anschließen, ganz ohne Löten. Das Breakout-Board bietet Ihnen einfache Stiftleisten für ein Breadboard.
Wie es funktioniert
Alle anderen Kameraprojekte laufen im Kreis: Das Board ist ständig wach und fragt immer wieder, ob etwas passiert ist. Das ist einfach, verbraucht aber den ganzen Tag Strom für nichts.
Dieses Projekt dreht die Idee um. Das Board schläft, und der Sensor weckt es auf.
Hier ist das ganze Leben der Kamera:
| Schritt | Was passiert | Wie lange | Strom |
|---|---|---|---|
| 1 | Das Board schläft. Nur ein kleiner Teil darin überwacht einen Pin. | Stunden oder Tage | Fast keiner |
| 2 | Jemand geht vorbei. Der PIR-Sensor zieht GPIO21 auf HIGH. | Sofort | Keiner, der Sensor ist nicht das Board |
| 3 | Dieses HIGH weckt das Board. Es startet wieder von vorne, wie nach einem RESET. | Etwa 1 Sekunde | Voll |
| 4 | Kamera und Karte starten. Das Board nimmt ein Foto auf und schreibt es auf die Karte. | Etwa 1 Sekunde | Voll |
| 5 | Das Board schaltet Kamera und Karte aus und schläft wieder ein. | Sofort | Wieder fast keiner |

Das Board ist also für jeden Besucher nur etwa zwei Sekunden wach. Die ganze übrige Zeit schläft es. Das ist der ganze Trick, und deshalb kann diese Kamera ohne Kabel arbeiten.
※ Notiz:
Der PIR-Sensor schläft nie. Er überwacht den Raum ständig und braucht dafür nur einen sehr kleinen Strom. Der Sensor ist der Teil, der entscheidet, wann das Board gebraucht wird.
Drei Dinge sorgen dafür, dass es funktioniert
| Was | Warum es nötig ist |
|---|---|
| esp_sleep_enable_ext0_wakeup() | Teilt dem Board mit, welcher Pin es wecken darf und bei welchem Pegel |
| RTC_DATA_ATTR | Hält den Fotozähler während des Schlafs am Leben. Normale Variablen verlieren ihren Wert. |
| esp_camera_deinit() und SD_MMC.end() | Schalten Kamera und Karte aus, damit sie während des Schlafs nichts verbrauchen |
Jeder dieser Punkte wird unten erklärt.
Überblick über Deep Sleep
Deep Sleep schaltet fast alles im ESP32 S3 ab: die beiden Prozessoren, das WLAN und den Speicher. Nur ein sehr kleiner Teil bleibt wach, und seine einzige Aufgabe ist es, einen Pin zu überwachen.
| Zustand | Was läuft | Stromaufnahme |
|---|---|---|
| Normal, WLAN an | Alles | etwa 150 mA |
| Normal, WLAN aus | Zwei Prozessoren | etwa 40 mA |
| Deep Sleep | Fast nichts | weniger als 1 mA |
※ Notiz:
Diese Zahlen sind ein Richtwert, kein Versprechen. Ihr Board, Ihr Sensor und Ihre Powerbank verändern das Ergebnis. Viele Powerbanks schalten sich außerdem selbst ab, wenn der Strom sehr klein ist. Das ist das häufigste Problem bei Akkuprojekten.
Das Board startet jedes Mal neu
Das ist der Teil, der alle überrascht: Nach dem Deep Sleep macht das Board nicht dort weiter, wo es aufgehört hat. Es startet wieder ganz von vorne, genau wie nach einem RESET. setup() läuft erneut, und loop() läuft überhaupt nie.
Deshalb befindet sich das ganze Programm in setup():
Wie man sich während des Schlafs etwas merkt
Normale Variablen verlieren im Deep Sleep ihren Wert. Variablen mit der Markierung RTC_DATA_ATTR nicht, weil sie in dem kleinen Teil liegen, der wach bleibt:
※ Notiz:
RTC_DATA_ATTR behält den Wert durch den Deep Sleep, aber nicht bei einem Stromausfall oder einem RESET. Der Code prüft außerdem die Karte auf freie Dateinamen, sodass nie ein Foto überschrieben wird.
Aufwachen über einen Pin
ext0 weckt das Board, wenn ein Pin einen von Ihnen gewählten Pegel erreicht. Die Zahl 1 bedeutet "aufwachen, wenn der Pin HIGH ist":
※ Notiz:
Nur die Pins GPIO0 bis GPIO21 können den ESP32 S3 aus dem Deep Sleep wecken. Sie heißen RTC-Pins. GPIO21 ist einer davon, also funktioniert es. Ein Pin wie GPIO40 würde das Board nie wecken.
Überblick über PIR Motion Sensor
Ein PIR-Bewegungssensor erkennt die Wärme eines menschlichen Körpers. Sein OUT-Pin geht auf HIGH, wenn sich etwas Warmes vor ihm bewegt, und dieses HIGH weckt den ESP32 S3.

Der Sensor hat zwei kleine orangefarbene Schrauben. Drehen Sie die Schraube für die Verzögerungszeit ganz nach links, sodass der Ausgang nur etwa 3 Sekunden lang HIGH bleibt. Weitere Details finden Sie im Tutorial ESP32 S3 - Bewegungssensor.
※ Notiz:
Der PIR-Sensor selbst schläft nie. Er verbraucht etwa 50 µA, was sehr wenig ist, und er muss wach bleiben, weil er der Teil ist, der das Board weckt.
Schaltplan zwischen PIR-Bewegungssensor und ESP32 S3

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| PIR-Sensor-Pin | ESP32 S3 Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| OUT | GPIO21 |
Stecken Sie dann die microSD-Karte in den Steckplatz auf dem Board.
Sicherheitshinweise
Der PIR-Sensor braucht 5V an seinem VCC-Pin, nicht 3,3V. Sein OUT-Pin liefert 3,3V, was für den ESP32 S3 korrekt ist.
Der OUT-Pin muss an GPIO21 angeschlossen werden, weil nur GPIO0 bis GPIO21 das Board aus dem Deep Sleep wecken können.
Arduino IDE Einstellungen für die ESP32 S3 Kamera
Die Kamera funktioniert nicht mit den Standardeinstellungen der Arduino IDE. Sie müssen einige Punkte im Menü Tools ändern, bevor Sie den Code hochladen.
| Menüpunkt in Tools | Diese Auswahl treffen |
|---|---|
| Board | ESP32S3 Dev Module |
| Flash Size | 16MB (128Mb) |
| PSRAM | OPI PSRAM |
| Partition Scheme | Huge APP (3MB No OTA/1MB SPIFFS) |
| CPU Frequency | 240MHz (WiFi) |
| USB Mode | Hardware CDC and JTAG |
| Upload Mode | UART0 / Hardware CDC |
| Upload Speed | 921600 |
| USB CDC On Boot | Enabled |
So programmieren Sie die schlafende Kamera
- Finden Sie heraus, warum das Board aufgewacht ist. Das ist nützlich, weil der erste Start kein Aufwachen ist.
- Geben Sie der Kamera einen Moment Zeit. Die ersten Bilder nach einem Start sind immer zu dunkel, weil die Kamera das Licht noch nicht eingestellt hat.
※ Notiz:
Das ist der häufigste Fehler bei Deep-Sleep-Kameras: Das Foto ist schwarz. Die Kamera braucht etwa eine halbe Sekunde Licht vor dem ersten guten Bild.
- Schalten Sie Kamera und Karte vor dem Schlafen aus, damit sie keinen Strom verbrauchen.
- Halten Sie den Pin während des Schlafs auf LOW, damit ein schwebender Pin das Board nicht von selbst weckt.
※ Notiz:
Ohne dies fängt ein unbeschalteter Pin elektrisches Rauschen auf, das Board wacht hunderte Male auf, und der Akku ist in einer Nacht leer.
- Gehen Sie schlafen. Nichts nach dieser Zeile wird jemals ausgeführt.
ESP32 S3 Code
Die Fotos heißen wake_00001.jpg, wake_00002.jpg und so weiter. Der Zähler liegt in RTC_DATA_ATTR, daher zählt er durch jeden Schlaf hindurch weiter.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Formatieren Sie Ihre microSD-Karte auf Ihrem Computer als FAT32.
- Ziehen Sie das USB-Kabel ab. Stecken Sie die Karte in den Steckplatz und verdrahten Sie den PIR-Sensor wie in der Tabelle oben.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Ändern Sie die Einstellungen im Menü Tools. Siehe die Tabelle oben.
- Kompilieren Sie den Code und laden Sie ihn auf das ESP32 S3 Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Upload klicken.

- Öffnen Sie den Seriellen Monitor in der Arduino IDE.

- Drücken Sie einmal die Taste RESET. Das Board nimmt ein Foto auf und schläft.
- Bewegen Sie Ihre Hand vor dem Sensor. Das Board wacht auf, Sie sehen eine neue Zeile, und es schläft wieder.
- Wenn alles passt, ziehen Sie das USB-Kabel ab und verwenden Sie stattdessen eine Powerbank.
- Profi-Tipp: Lassen Sie den Seriellen Monitor während des Tests geöffnet. Nur so sehen Sie, dass das Board wirklich aufwacht.
Serieller Monitor
Jedes Aufwachen gibt zwei Zeilen aus. Die folgenden Messwerte wurden im Jahr 2026 aufgezeichnet:
※ Notiz:
Das Board ist jedes Mal nur etwa 2 Sekunden wach. Die ganze übrige Zeit schläft es und verbraucht fast nichts. Das ist die ganze Idee dieses Projekts.
So sparen Sie noch mehr Strom
Der Akku wird auf zwei Arten beansprucht: ständig eine sehr kleine Menge, während das Board schläft, und eine viel größere Menge während der zwei Sekunden jedes Fotos. Es gibt also nur zwei Wege, weniger zu verbrauchen:
| Was zu tun ist | Wie | Warum es hilft |
|---|---|---|
| Kürzer wach bleiben | Verwenden Sie eine kleinere FRAME_SIZE, zum Beispiel FRAMESIZE_VGA | Ein kleineres Foto wird schneller aufgenommen und geschrieben |
| Seltener aufwachen | Drehen Sie die Empfindlichkeits-Schraube des Sensors herunter und richten Sie ihn von der Straße weg | Jedes Aufwachen kostet viel mehr als eine Stunde Schlaf |
Beobachten Sie den Seriellen Monitor, um zu sehen, wie lange Ihr Board wirklich wach ist. Die Zeit zwischen Wake up number ... und Going to sleep. Bye. ist der Teil, der Strom kostet. Alles zwischen zwei Aufwachvorgängen ist fast kostenlos.
※ Notiz:
Wir sagen hier nicht, wie viele Tage oder Wochen ein Akku hält, denn das hängt von zu vielen Dingen ab: welcher Akku, wie alt er ist, wie kalt die Nacht ist, wie oft jemand vorbeigeht und wie viel Ihre eigene Powerbank selbst verbraucht. Messen Sie es an Ihrem eigenen Ort, mit Ihrem eigenen Akku.
※ Notiz:
Viele Powerbanks schalten sich selbst ab, wenn ein Gerät fast keinen Strom zieht, und genau das tut der Deep Sleep. Wenn Ihre Kamera in der Nacht aufhört zu arbeiten, ist das meist der Grund. Verwenden Sie eine Powerbank, die einen "Low-Current-Modus" unterstützt, oder einen Akku mit einer passenden Halterung.
Fehlerbehebung
Das Board wacht nie auf.
- Der OUT-Pin des Sensors muss an GPIO21 liegen. Ein Pin über GPIO21 kann das Board nicht wecken.
- Prüfen Sie, ob der Sensor 5V bekommt, nicht 3,3V.
- Warten Sie nach dem ersten Start eine Minute. Der PIR-Sensor wärmt sich noch auf.
Das Board wacht immer wieder auf, obwohl nichts davor ist.
- Der Sensor ist zu empfindlich. Drehen Sie die Empfindlichkeits-Schraube ein wenig nach links.
- Richten Sie den Sensor von Fenstern, Heizungen und Klimaanlagen weg.
Jedes Foto ist schwarz oder sehr dunkel.
Die Kamera hatte keine Zeit, das Licht einzustellen. Erhöhen Sie WARMUP_TIME von 400 auf 800 und ändern Sie die Schleife von 2 auf 3 Bilder.
Die Fotos hören nach einigen Stunden an einer Powerbank auf.
Die Powerbank hat sich selbst abgeschaltet, weil der Deep Sleep zu wenig Strom für sie zieht. Verwenden Sie eine Powerbank mit Low-Current-Modus oder einen Akku.
Der Serielle Monitor verliert nach jedem Schlaf die Verbindung.
Das ist am nativen USB-Anschluss normal, weil das Board verschwindet, wenn es schläft. Verwenden Sie zum Testen den UART-Anschluss und stellen Sie USB CDC On Boot auf Disabled.
Die Nummern beginnen nach einem Stromausfall wieder bei 1.
RTC_DATA_ATTR übersteht keinen Stromausfall. Das ist kein Problem: Der Code sucht den ersten freien Namen auf der Karte, sodass nie ein Foto überschrieben wird.
Anwendungen
Eine Kamera, die kein Kabel braucht, kann dorthin, wo die anderen Projekte nicht hinkommen. Hier sind praktische Projekte, die Sie mit diesem Code bauen können:
- Wild- und Tierkamera: Stellen Sie sie in einen Wald oder auf ein Feld ganz ohne Strom.
- Paketbox-Kamera: Ein kleiner Akku in der Box und kein Kabel durch die Wand.
- Gartentor-Beobachter: Überwachen Sie ein Tor weit weg vom Haus, ohne ein Kabel verlegen zu müssen.
- Fahrrad- und Garagenkamera: Bewahren Sie ein Foto von jedem auf, der in die Nähe kommt, ganz ohne Verdrahtungsarbeit.
- Ferienhauskamera: Lassen Sie sie in einem leeren Haus, während Sie weg sind.
- Hof- und Scheunenkamera: Beobachten Sie Tiere oder eine Maschine weit weg von jeder Steckdose.
- Baustellenkamera: Stellen Sie sie jeden Tag um, denn es gibt nichts einzustecken.
- Bienenstock-Beobachter: Beobachten Sie den Bienenstock ohne ein Kabel quer durch den Garten.
- Autokamera: Nehmen Sie ein Foto auf, wenn sich jemand Ihrem geparkten Auto nähert.
- Temporäre Sicherheitskamera: Stellen Sie sie für eine Weile irgendwo auf und nehmen Sie sie dann wieder mit.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.
Herausforderungen
- Einsteiger: Ändern Sie die Fotogröße von FRAMESIZE_SVGA auf FRAMESIZE_UXGA und sehen Sie, wie viel länger das Board wach bleibt.
- Fortgeschrittene: Fügen Sie zusätzlich ein Aufwecken per Timer hinzu, sodass das Board auch ohne Bewegung jede Stunde ein Foto aufnimmt. Verwenden Sie esp_sleep_enable_timer_wakeup().
- Profis: Verbinden Sie nach dem Aufwachen das WLAN, senden Sie das Foto an Telegram und schlafen Sie dann. Beobachten Sie den Seriellen Monitor und sehen Sie, wie viel länger das Board wach bleiben muss.