Open Hardware, entworfen in KiCad — 3,3-V-UART, One-Wire, Grove-Anschlüsse, LEDs und Summer — mit einem Device-Tree-Overlay und einer Python-Bibliothek für die I/O, damit eine Station Boardversorgung und Boot-Pins über Relais schaltet.
Was eine Flash-Station braucht
Ein Embedded-Linux-Board von einem Raspberry Pi aus zu flashen und zu testen läuft auf eine kurze Liste hinaus: eine serielle Konsole, Kontrolle über die Versorgung des Boards, Kontrolle über die Pins, die den Boot-Modus wählen, und irgendeine Rückmeldung, ob ein Durchlauf bestanden hat. Aus Breakout-Boards und Jumperkabeln zusammengesteckt funktioniert das einmal und driftet danach. Test Pi bringt es auf eine Platine.
Die Platine
- 3,3-V-UART mit derselben Pinbelegung wie das verbreitete FTDI-UART-Kabel, sodass vorhandene Konsolenkabel ohne Adapter passen
- Zwei Grove-Anschlüsse mit je zwei Digitalausgängen — vier Relaiskanäle für Boardversorgung und Boot-Modus-Pins
- 23-mm-LEDs in Rot und Grün, groß genug, um den Zustand einer Station quer durch den Raum abzulesen statt aus dem Log
- Summer für das Ende eines Durchlaufs
- One-Wire-Schnittstelle für Temperatursensoren
- EEPROM mit der HAT-ID, damit der Pi die Platine beim Start erkennt
Schaltplan, Leiterplattenlayout, die eigenen Symbole und Footprints sowie ein
gerendertes PDF des Schaltplans liegen im Repository unter kicad/.
Inbetriebnahme
Zum HAT gehört ein Device-Tree-Overlay, das die Pins zuordnet und UART sowie
One-Wire aktiviert. Es wird mit dtc übersetzt, nach /boot/overlays/ gelegt
und in /boot/config.txt aktiviert:
dtc -@ -I dts -O dtb -o test_pi_overlay.dtbo test_pi_overlay.dts
sudo mv test_pi_overlay.dtbo /boot/overlays/
Nach einem Neustart erscheinen die One-Wire-Geräte unter
/sys/bus/w1/devices/, die Konsole liegt auf /dev/serial0, und LEDs, Summer
und Digitalausgänge sind gewöhnliche GPIO-Leitungen — für einen schnellen Test
über gpioset erreichbar und für die Station selbst über das Python-Modul in
python/.
Lizenz
Das Repository enthält bislang keine Lizenzdatei. Der Entwurf ist damit zwar veröffentlicht, aber formal nicht nachnutzbar. Das sollte man klären, bevor man darauf aufbaut.