pico-watch-magix

Rundes 1.28-Zoll-IPS-LCD-Display 240 x 240 Pixel
- RP2040, 6-Achsen-ACC-Sensor
Anleitung für CircuitPython 9.0.5


Bildbox 1 (klick hier)


Hier finden Sie die komplette Anleitung zum Nachbau der 'Pico-Watch-Magix' auf Basis des runden Pico-LCD-1.28 Displays von Waveshare. Die Uhr funktioniert so ähnlich, heißt aber bewußt nicht 'Magneto', da ansonsten deren Anwälte sehr schnell klingeln würden. Die Firma hat unbestritten ein sehr hochwertiges, teures Produkt ab ca. 140 Euro (nach oben offen) und bildet sich ein, einzigartig zu sein. Dagegen wird hier mit sehr einfachen Mitteln aus einem kleinen Gehäuse (3D-Drucker), einem Klettarmband und dem runden Display von Waveshare eine funktionierende Armbanduhr realisiert. Für die Teile (Drucker nicht gerechnet) investiert man ca. 50 Euro und hat jede Menge Bastelspaß.

Hardware

- Rundes 1,28-Zoll-IPS-LCD-Display (z.B. Amazon)
- RP Pico 2040 (inclusive)
- USB-A zu USB-C Kabel
- Lithium Polymer Akku 3,7 V 320mAh (z.B. Amazon)
- Nylon-Armband 22mm breit (z.B. Amazon)
- Gehäuse für Armbanduhr (3D-Druck siehe unten)

Los gehts

Als erstes nehmen wir das Display in Betrieb. Dazu müssen wir die aktuelle Firmeware 'CircuitPython' installieren. Die laden Sie von hier herunter.

Nach dem Download der uf2-Datei muss diese auf das Display mit dem Pico übertragen werden. Im ersten Schritt nehmen Sie das Display im ausgeschalteten Zustand zur Hand und drücken die Boot-Taste (siehe Beschriftung auf der Platinenrückseite). Die wird gehalten und das Display erst dann (!!) über das USB-A zu USB-C Kabel mit dem Rechner verbunden. Nach dem Verbinden kann die Boot Taste losgelassen werden. Es öffnet sich im Filesystem ein Explorer-Fenster mit einem neuen Massenspeicher RPI-RP2. Öffnen Sie jetzt auf dem Rechner den Download-Ordner und ziehen die uf2-Datei mit der CircuitPython Firmware auf den Massenspeicher RPI-RP2. Sobald die Firmware-Datei auf den Speicher des Displays kopiert ist, wird die Firmware ausgeführt und ein neuer Massenspeicher 'CIRCUITPY' im Explorerfenster angezeigt. Damit ist die Programmiersprache CircuitPython für die Ansteuerung des runden Pico-Displays installiert.

Laden Sie als nächstes das komplette 'Programmpaket' pico-watch-magix als zip-Datei herunter und entpacken es auf Ihrem PC. Es besteht aus folgenden Dateien und Ordnern:

- Ordner: lib
- Dateien: boot.py, code.py, pico-watch-magix.py und time.txt

Ziehen Sie den Ordner und alle Dateien per 'Drag&Drop' auf das Pico Laufwerk 'CIRCUITPY'. Anschließend trennen Sie den Pico vom Strom und schliessen ihn wieder an. Das Programm startet jetzt automatisch, zeigt aber noch nicht die korrekte Uhrzeit an. Dazu gleich mehr.


(Auf die Gehäuse gehe ich an anderer Stelle noch ein)


Auf dem linken (obere) Bild sehen Sie eine Uhrzeit (die aus der Datei 'time.txt' mitgeliefert wurde) und für die Sekunden, Minuten und Stunden jeweils einen farbigen umlaufenden Punkt. Nach kurzer Zeit befinden sich diese an genau der Stelle, wo die Zeiger einer Analoguhr hinzeigen würden. Dies ist so lange der Fall, wie Sie die Uhr schräg halten. Dafür wird der ACC-Sensor ausgewertet. Legen Sie die Uhr aus der Hand oder halten sie waagerecht, schaltet die Anzeige nach 3 Sekunden um. Die Minuten- und Stundenpunkte rotieren dann auf ihrer Bahn und die Digitalanzeige erlischt. Das rechte (untere) Bild zeigt dies. Damit ist das Ablesen der Uhrzeit ausschließlich Ihre private Angelegenheit, obwohl bei Fremden sicher Aufmerksamkeit erregt wird.

Jetzt zur richtigen Uhrzeit:
Obwohl die Uhr mit dem kleinen Akku ca. 8 Stunden läuft, wird bei jedem automatischen Start eine Zeit aus der Datei 'time.txt' gelesen, damit es keinen Programmabbruch gibt, denn der Timer des Pico beginnt ohne Verbindung zum PC beim 1.1.2020 um 00:00 Uhr zu zählen. Deshalb wird er für diesen Fall auf die Zeit aus der Textdatei gestellt.
Wie bekommen wir nun die aktuelle Zeit eingestellt und in 'time.txt' gespeichert? Dazu verbinden Sie den Pico mit Ihrem PC auf dem Sie zwischenzeitlich den 'Thonny-Editor' installiert haben. Falls bei der ersten Benutzung von Thonny kein Board erkannt wird, muss in den Interpreter-Einstellungen die Port-Auswahl überprüft werden und ggf. auf CircuitPython (generic) eingestellt werden. Auch wenn Sie mehrere Displays benutzen, wird der Com-Port nicht immer richtig erkannt. Klicken Sie dann ganz unten rechts auf den 'Button'. Das Fenster sollte jetzt so aussehen:

In der unteren Kommandozeile wird der Controller z.B. mit "Adafruit CircuitPython 9.0.5 on 2024-05-22; Waveshare RP2040-LCD-1.28 with rp2040" angezeigt.

Die Programmausführung wird jetzt unterbrochen. Öffnen Sie im Editor die Datei 'code.py' und klicken auf 'Aktuelles Script ausführen'. Dabei wird der Timer des Pico mit dem PC synchronisiert und die aktuelle Zeit in die Datei 'time.txt' geschrieben. Danach schliessen Sie Thonny, ohne den roten Button zum Beenden zu drücken. Bei angeschlossenem und geladenem Akku läuft die Uhr unterbrechungsfrei weiter.
Sie könnten im Thonny theoretisch auch eine gewünschte Zeit (Stunde, Minute) in die Datei 'time.txt' eintragen, zu der Sie die Uhr starten wollen. Das geht aber nicht vom Dateiexplorer des PC, da der Pico gegen versehentliches Überschreiben vom PC aus gesperrt ist.

Das Uhrgehäuse

Für meine 3-D Drucke verwende ich einen einfachen 'Flashforge' Drucker unter 500 Euro. Bei manchen Modellen wünschte ich mir zwar eine bessere Qualität, aber bei den meisten Bastelprojekten ist sie ausreichend. Außerdem - was man bei der CAD-Konstruktion nicht umgesetzt hat, kann der Drucker nicht besser machen. Thingiverse hilft bei der Kreativität nur sehr beschränkt.
das Uhrgehäuse habe ich in drei Teile aufgeteilt.




Das Unterteil, in dem als erstes der Akku eingelegt wird. Dann wird das Mittelteil passend der Stifte am Unterteil ohne Verklebung daraufgedrückt. Ggf. ist hier ein wenig Nacharbeit mit einer kleinen Rundfeile erforderlich, damit die Stifte in die Aussparungen passen.




Aussehen sollte das Ganze dann so:




Jetzt muss als nächstes das Display mit dem Akku-Connector verbunden werden.

Achtung! Ich habe bei etlichen Akkubestellungen festgestellt, dass die Polarität nicht immer mit den Angebotsangaben und den Abbildungen übereinstimmte. Über die Ursachen will ich hier nicht spekulieren. Vielleicht je nach dem, wann ein Sack Reis umgekippt ist.
Wenn Sie die Rückseite des Displays wie im Foto vor sich sehen, muss der Stecker wie gezeigt eingelegt werden und rot (+) ist unten schwarz (-) oben.




Im anderen Fall bleibt Ihnen nichts weiter übrig, als
1. Entweder die Folie an den Kabelanschlüssen des Akkus vorsichtig abzuziehen und die Kabel anders herum anzulöten (am Stecker sind dann aber trotzdem die Farben rot und schwarz vertauscht, aber die Polarität stimmt)
oder
2. Die Kabel etwa 1 cm vom Stecker entfernt durchzuschneiden und "verkehrt herum" (schwarz auf rot und rot auf schwarz) zusammen zu löten. Mit Schrumpfschlauch isolieren nicht vergessen! Das darf dann aber niemand außer Ihnen sehen.

Ich hab mich immer für die erste Variante entschieden. Dazu hab ich mir entsprechende Stecker mit kurzen Anschlussdrähten aus dem Internet bestellt, welche ich auf entsprechende Länge angelötet habe. So hat auch optisch alles seine Ordnung.


So, jetzt wird das Display angeschlossen; das Kabel vorsichtig im Gehäuse verstaut und das Display auf das Mittelteil aufgelegt. Drücken Sie dabei nicht mit dem Daumen auf die Mitte des Displays, es könnte es Ihnen übel nehmen. Abgeschlossen wird das Gehäuse jetzt noch mit dem oberen Ring. Den verklebe ich mit ganz wenig Kunststoffkleber an den Stiften. Unterteil und Mittelteil, welche ja nicht geklebt sind, werden später sicher durch das Armband zusammen gehalten. Das hat den Vorteil, dass man bei Bedarf auch mal an die Platinenrückseite kommt, um die 'Bootsel-Taste' zu betätigen. Z.B. bei einer Neuinstallation.




Die drei Gehäuseteile können Sie von hier downloaden. Sie sind als stl-Dateien im zip-Ordner enthalten und sollten nach dem entpacken auf den verschiedensten 3D-Druckern verarbeitet werden können. Eventuell müssen Sie die Modelle noch auf die Plattformoberfläche stellen. Aber an der Größe sollte nichts verändert werden.


Viel Spass und Erfolg beim Ausprobieren.