So kommt der Code aus dem Make Special zur ESP32-CAM auf das Board

Wichtig: Auch für alte Hasen gibt es im Folgenden ein paar Informationen, ohne die Sie wahrscheinlich Schiffbruch beim Nachbau unserer Projekte erleiden.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Lesezeit: 5 Min.
Inhaltsverzeichnis
Make Special: ESP32-CAM

Die ESP32-CAM ist bei Makern beliebt – kompakt, aber mit leistungsstarkem ESP32-Mikrocontroller, einem videofähigen Kameramodul und einem MicroSD-Karten Slot ausgestattet. Will man aus dem Board das meiste rausholen, lohnt sich ein tieferer Einstieg in die Hardware-Interna und Programmierschnittstellen. Das 80-seitige Make-Special nimmt die Leserinnen und Leser dabei an der Hand und dank des beiliegenden ESP32-CAM-Board samt 2-MP-Kameramodul und Programmier-Adapter kann man sofort mit den ersten Projekten loslegen.

Das wichtigste zuerst: Auf dem ESP32-CAM-Board ist der Pin in unmittelbarer Nachbarschaft zur Blitzlicht-LED mit "GND/R" beschriftet. Das heißt, je nach Variante des Boards ist dieser herausgeführte Pin entweder mit Masse verbunden oder mit dem Reset-Kontakt des ESP32-S-Controllers.

Der Griff zur Lupe lohnt sich: Je nach Position der Brücke zwischen den Kontaktpaaren ist der Pin neben der Blitzlicht-LED als Reset- oder GND-Kontakt geschaltet.

Mit welcher Variante man es zu tun hat, kann man tatsächlich von außen erkennen: Nehmen Sie eine Lupe zur Hand und schauen sich den im Bild oben den rot eingekreisten Bereich genau an. Sitzt zwischen dem oberen Kontaktpaar eine Brücke, wie auf dem Bild zu sehen, ist der Pin mit GND verbunden. Sitzt die Brücke stattdessen zwischen dem unteren Kontaktpaar, arbeitet der Pin als Reset-Pin.

Die Pin-Belegung hat zunächst einmal direkte Auswirkungen darauf, wie man frischen Code vom Rechner aufs Board bekommt. Das dem Make Special zur ESP32-CAM beiliegende Programmierboard (manchmal auch Motherboard) genannt, hat an den Längsseiten zwei Taster: Einen für GPIO0, um das Board in den Flash-Modus zu schalten, und einen Reset-Taster. Steckt man das ESP32-CAM-Board ins Programmierboard und verbindet dieses mittels USB-Kabel mit dem Rechner, um frische Software aufzuspielen, funktioniert das regulär so:

  • ESP32-CAM in das Programmierboard stecken
  • Programmierboard über USB mit dem Rechner verbinden
  • in der Arduino-IDE als Board "AI Thinker ESP32-CAM" auswählen sowie den korrekten Port
  • Code mit Klick auf das Häkchen ("Überprüfen") kompilieren
  • Am Programmierboard den Taster IO0 gedrückt halten
  • dann den Resetknopf am Programmierboard drücken und wieder loslassen
  • dann Taster IO0 wieder loslassen
  • Programm mit Klick auf den Pfeil ("Hochladen") aufs Board schicken.

Das funktioniert, wenn der oben beschriebene Pin mit Reset beschaltet ist. Andernfalls zeigt der Reset-Taster auf dem Programmierboard leider keine Wirkung!

Ein Workaround für diesen Fall sieht so aus, dass man statt dem Reset-Taster auf dem Programmierboard den Resetknopf auf der Unterseite der ESP32-CAM drückt. Wer Probleme hat, den zu erreichen (immerhin steckt die auf dem Programmierboard) kann sich entweder mehr Spielraum durch ein paar Jumperkabel schaffen, wie im Heft auf Seite 12 gezeigt. Alternativ kann man statt des Reset-Taster-Drucks auch das USB-Kabel rausziehen, dann den Taster IO0 auf dem Programmierboard drücken und gedrückt halten, während man das USB-Kabel wieder in den Rechner steckt. Dann den Taster IO0 loslassen und fortfahren wie oben beschrieben.

In allen Fällen wird die Konsole der Arduino IDE nach dem Hochladen des Codes melden, sie würde einen "Hard-Reset via RST Pin" durchführen, aber auch das passiert nur, wenn der Reset-Pin tatsächlich herausgeführt ist, sprich: Wenn die Brücke auf dem Board an der richtigen Position sitzt. Manchmal scheint es aber auch dann nicht zu funktionieren. Falls nicht, läuft auch das frisch aufgespielte Programm nicht los. Also muss man in diesem Fall dann am besten das USB-Kabel ziehen und wieder reinstecken.

Was gelegentlich auch vorkommt, wenn man testweise die ESP32-CAM über das beiliegende Programmierboard vom Rechner aus mit Strom versorgt: Die rote Kontroll-LED auf dem Programmierboard leuchtet zwar, aber beim ESP tut sich nichts. Schaut man in den seriellen Monitor, steht da was wie:

rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download

In diesem Fall scheint das Programmierboard im Flash-Modus "hängengeblieben" zu sein. Ein kurzer Druck auf den Reset-Taster des Programmier-Boards hilft in diesem Fall.

Für alle, die ein Board mit Brücke zu GND statt zu Reset vorliegen haben und die das nervt: Wer sich auf SMD-Löten versteht, kann die Brücke auf das andere Kontaktpaar verschieben. Alternativ gibt es im Heft ab Seite 63 noch eine andere Bastellösung zur Abhilfe: Dort bekommt das Board kurzerhand einen zusätzlichen Reset-Pin verpasst. Diese Variante kann unter anderem interessant sein, wenn man wirklich drei GND-Stifte bei seiner ESP32-CAM benötigt (die Belegung des 16. Pins mit Reset reduziert die Zahl der GND-Pins auf der ESP32-CAM auf zwei).

Vor rund einem Jahr erschien in der Make ein Artikel zum ESP32-Gucki, einem Filmnegativbetrachter ebenfalls auf Basis der ESP32-CAM. Diesen Artikel stellen wir über eine spezielle URL allen Käufern des ESP32-CAM-Specials nicht nur kostenlos zur Verfügung, für den Gucki haben wir seinerzeit auch eine sehr ausführliche Installations- und Einstiegsanleitung für die Arduino IDE geschrieben. Die erklärt am konkreten Beispiel, wie man die IDE installiert, die ESP32-Unterstützung dort aktiviert und Bibliotheken importiert, die man für ein bestimmtes Projekt braucht. Auch wie man an den Code von GitHub kommt, wird dort gezeigt. Den Link zu den jeweiligen Code-Repositories finden Sie über die URL in der Kurzinfo zu jedem Projekt des ESP32-CAM-Specials.

Falls Sie am Ende aber doch feststecken sollten: Wir haben ein eigenes Online-Forum rund um das Make Special eingerichtet; alternativ schreiben Sie uns eine Mail an mail@make-magazin.de. Jetzt aber viel Spaß mit der ESP32-CAM!

(pek)