UART am Raspberry Pi: zusätzlicher Hardware-UART oder serielle Pi-Konsole
UART ist beim Raspberry Pi schnell belegt: durch eine Boot-Konsole, ein Mobilfunkmodem, einen Mikrocontroller oder das Gerät, das eigentlich entwickelt werden soll. Der BE-IIS-HPP-UART schafft hier eine klare Trennung. Er stellt zusätzliche Hardware-UARTs bereit und kann alternativ den UART des Raspberry Pi selbst auf die Serviceschnittstelle führen.
Aufbau

Der HAT ist für Entwicklungsaufbauten, Inbetriebnahme und die dauerhafte Anbindung serieller Geräte gedacht. Die Schnittstellen werden als Linux-Geräte mit stabilen Namen bereitgestellt. Damit bleiben Skripte und Anwendungen unabhängig davon, welche ttyS*- oder ttySC*-Nummer der Kernel im jeweiligen System vergibt.
Zwei Betriebsarten über die Instance-ID
Instance I, IV oder V – HAT++-Modus
Zusätzliche Hardware-UARTs stehen zur Verfügung.
Instance VI – Raspberry-Pi-Modus
Der HAT++-Teil ist deaktiviert; der UART des Raspberry Pi wird auf die Serviceschnittstelle geführt.

Mit Instance-ID VI ist der HAT besonders praktisch für die Inbetriebnahme eines Raspberry Pi ohne Display und Netzwerk. Bootausgabe, Kernelmeldungen und Login-Konsole lassen sich direkt über die isolierte USB-C-Serviceschnittstelle erreichen.

Mit Instance I, IV oder V ergänzt der HAT den Raspberry Pi um eigene UARTs. Der Pi-UART bleibt dabei für seine ursprüngliche Aufgabe verfügbar, während der HAT zum Beispiel ein Steuergerät, einen Sensor, ein Debug-Interface oder ein weiteres Embedded-System bedient.
Installation
Die Integration erfolgt über den BE-IIS-Installer. Er richtet die erforderlichen Device-Tree-Overlays, Treiber und Udev-Regeln ein.
$ git clone https://github.com/be-iis/be-iis-installer.git
$ cd be-iis-installer
$ ./scripts/install/install-all.sh
$ sudo reboot
Nach dem Neustart lassen sich die bereitgestellten UARTs prüfen:
$ ls -l /dev/beiis-uart-*
Ein Beispiel für Instance IV:
/dev/beiis-uart-iv-a -> ttySC0
/dev/beiis-uart-iv-b -> ttySC1
Die Namen enthalten die Instance-ID und den Kanal. Sie können direkt in Anwendungen, Tests und Skripten verwendet werden.
Zusätzlichen UART verwenden
Im HAT++-Modus wird der UART wie jede andere serielle Linux-Schnittstelle verwendet. Im folgenden Beispiel wird Kanal A von Instance I auf 115200 Baud eingestellt und eine Testmeldung ausgegeben:
$ sudo stty -F /dev/beiis-uart-i-a 115200 raw -echo -ixon -ixoff
$ printf 'BE-IIS-HPP-UART: Interface ready\r\n' | sudo tee /dev/beiis-uart-i-a
Die Gegenseite kann beispielsweise mit picocom verbunden werden:
$ picocom -b 115200 --flow n /dev/ttyACM0

Der UART des HATs ist damit ein zusätzliches Werkzeug im Aufbau – ohne den Raspberry-Pi-UART umzubelegen oder auf USB-Seriell-Adapter ausweichen zu müssen.
UART des Raspberry Pi als Boot- und Login-Konsole
Mit Instance VI wird der UART des Raspberry Pi selbst genutzt. Für die Bootausgabe werden in /boot/firmware/config.txt folgende Zeilen ergänzt:
enable_uart=1
dtoverlay=uart0
In /boot/firmware/cmdline.txt wird zusätzlich die serielle Konsole aktiviert:
console=serial0,115200
Nach einem Neustart erscheinen die Bootmeldungen auf der Serviceschnittstelle. Eine serielle Login-Konsole kann anschließend wie gewohnt über serial-getty genutzt werden. Beim Raspberry Pi 5 muss Bluetooth dafür nicht deaktiviert werden; es verwendet einen separaten PL011-UART.

Fazit
Der BE-IIS-HPP-UART ist kein einfacher USB-zu-UART-Adapter. Er stellt zusätzliche Hardware-UARTs mit stabilen Linux-Gerätenamen bereit und bietet mit Instance VI zugleich einen sauberen Zugang zum UART des Raspberry Pi.
Damit eignet er sich für Debugging, serielle Geräteintegration, Prototypen und die Inbetriebnahme von Raspberry-Pi-Systemen im Labor und im professionellen Entwicklungsaufbau.
Vom Ingenieur für den Ingenieur.