Timelapse-Aufnahmen mit dem neuen Prusa GPIO Hackerboard

Timelapse-Videos von 3D-Drucken sind nicht nur ein netter Gimmick – sie sind ein echter Blickfang. Man sieht den kompletten Druckprozess in wenigen Sekunden und bekommt spektakuläre Ergebnisse, die man perfekt in sozialen Medien teilen kann.

Mit dem neuen GPIO Hackerboard von Prusa ist es möglich, solche Aufnahmen direkt aus dem Druckprozess heraus zu steuern. In Kombination mit einem ESP32 und einem Smartphone als Kamera lassen sich so Timelapse-Videos realisieren auch ohne Spiegelreflexkamera.

Idee: Smartphone-Kamera statt teurer DSLR

Viele Timelapse-Lösungen setzen auf GoPros oder DSLRs. Das liefert zwar top Qualität, ist aber teuer. Warum nicht einfach die ohnehin sehr gute Kamera eines Smartphones nutzen, das man vermutlich eh noch zuhause rumliegen hat?

Das Problem: Das Smartphone muss jedes Mal im richtigen Moment ausgelöst werden – und zwar synchron mit dem Druckfortschritt. Hier kommt das Prusa GPIO Hackerboard ins Spiel.


So funktioniert es

  • GPIO Hackerboard: Dieses kleine Add-on für die Prusa-Drucker liefert die nötigen Signale, wann ein Bild gemacht werden soll. Ausgelöst werden diese Kommandos von speziellen GCode Befehlen die der Slicer einfügt.
  • ESP32: Der ESP32 empfängt die Signale vom Hackerboard und gibt sie per Bluetooth an das Smartphone weiter.
  • Smartphone: Das Smartphone wird via Stativ positioniert um einen gute Aufnahme vom Druckbett zu machen. Über eine Bluetooth-Verbindung wird es dann so ferngesteuert, dass es jedes Mal ein Foto macht, wenn der Drucker den richtigen Moment signalisiert.

Am Ende müssen aus den vielen Einzelbildern noch ein flüssiges Timelapse-Video erstellt werden. Hierfür verwende ich das Open Source Tool ffmpeg.

Hardware-Setup

  1. 👉 GPIO Hackerboard
  2. ESP32-Dev-Board (z. B. 👉 dieses)
  3. 👉 Stativ fürs Smartphone (oder eines ausdrucken)
  4. Ein Altes Smartphone via Bluetooth mit dem ESP32 koppeln.

Um das Hackerboard mit dem Mk4 zu verbinden bin ich dem Blogartikel von Prusa gefolgt. Es war minimale Lötarbeit nötig. Genauer müssen auf dem GPIO Hackerboard die JP7-Kontakte durch Löten überbrückt werden, um den integrierten Pull-Up-Widerstand zu aktivieren. Ich habe den Beispielcode von der Prusa Website genommen und ein wenig modifiziert da zumindest bei meinen Smartphones keine Aktion ausgelöst wurde. Der Code, inklusive platform.io Projekt, kann hier gefunden werden.

Zum Befestigen an den Drucker habe ich dieses Cover verwendet.

Nach dem Uploaden des Codes auf den ESP32 kann dieser nun wie in dem Blogpost von Prusa mit dem Hackerboard verbunden werden. GND auf GND und Pin 7 auf Pin 5.

G-code Anpassungen

Ich habe im Prusa Slicer ein neues Preset für die Timeplapse Videos angelegt und dort unter „Printers“ -> „Custom G-code“ in die jeweiligen Abschnitte folgende Zeilen am Ende hinzugefügt:

Start G-code:

; Set Pin 7 as output
M262 P7 B0
Code-Sprache: JavaScript (javascript)

After layer change G-code:

G1 X160 Y160 F{travel_speed*60} ;Move away from the print
G4 S0 ;Wait for move to finish
G4 P150 ;Wait for 150ms to give the bed time to stop properly
M265 P7 ;Flip the pin status to 1 to trigger the shutter
M265 P7 ;Flip the pin status back to 0
G4 P250 ;Wait for 250ms to give the camera time to finish the captureCode-Sprache: JavaScript (javascript)

Jetzt muss das Smartphone entsprechend positioniert werden und sich über Bluetooth mit dem prusa-timelapse-trigger verbunden haben. Dann die Kamera App öffnen und den Druck starten.

Videos erzeugen

Aus der Fotoserie kann man jetzt mit Hilfe von ffmpeg ein Video erstellen:

ls IMG_*.jpg | sort | sed "s/^/file '/;s/$/'/" > files.txt
ffmpeg \
     -f concat -safe 0 -i files.txt -c:v libx264 \
     -profile:v high -crf 20 -pix_fmt yuv420p \
     polygon_cat.mp4
Code-Sprache: JavaScript (javascript)

Und dann zum Beispiel auch ein animiertes Gif:

ffmpeg \
     -i polygon_cat.mp4 \
     crop.mp4 -r 15 -vf scale=512:-1 \
     -ss 00:00:01 -to 00:00:8 polygon_cat.gif

Und so sieht das Ergebnis aus:


Beitrag veröffentlicht

in

von

Schlagwörter:

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Cookie Consent mit Real Cookie Banner