Open Source / KiCad / Python / Raspberry Pi

Test Pi

Raspberry-Pi-HAT für Flash- und Teststationen

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.

Quellcode auf GitHub Alle Projekte