Seit der Einführung des Raspberry Pi ist viel Wasser die Donau hinuntergeflossen. Im Hause KickPi schickt man eine sehr große Platine ins Rennen, die desktopartige Anschlüsse mitbringt. Shenzhen Xunlong optimiert stattdessen den Formfaktor des Raspberry Pi Zero, um neben deutlich mehr Rechenleistung Hochleistungsschnittstellen zur schnellen Datenerfassung bereitzustellen. In diesem Beitrag beschnuppern wir die Neulinge.
Orange Pi Zero 3W – winziges Steuerungskraftpaket
Beim Design von fliegenden Anwendungen gilt, dass jedes eingesparte Gramm eine massive Verbesserung des gesamten Systemverhaltens darstellt. Aus diesem Grund ist der mit dem Raspberry Pi Zero eingeführte reduzierte Formfaktor sehr beliebt. Die Abbildung stellt einen Orange Pi Zero 3W und das Originalmodell gegenüber.

Bildquelle, alle: Autor
Auf der Präzisionswaage präsentieren sich die Gewichte dann folgendermaßen:
1 |
ESP32-S3-Devkit-C mit Pins: 11.11g |
2 |
RPi Zero W: 11.38 g |
3 |
RPi Zero 2: 13.28 g |
4 |
OrangePi: 14.69 g mit externer Antenne |
5 |
Kühlkörper: rund 25 g extra |
Zu beachten ist die hohe I/O-Flexibilität. Auf der Unterseite finden sich – wie in der Abbildung gezeigt – freigelassene Lötflächen, auf denen Speicher untergebracht werden können.

Außerdem befindet sich dort einer der vom großen Raspberry Pi bekannten PCIe-Steckplätze, was die Anbindung von Datenquellen mit sehr hohen Geschwindigkeiten – Stichwort externe FPGAs – erleichtert.
OrangePi Zero 3W im Stresstest
Im Lieferumfang findet sich – wie in der Abbildung gezeigt – ein Kühlkörper. Als Hauptprozessor kommt ein Chip vom Typ AllWinner A733 zum Einsatz, dessen interne Struktur sich im Schaubild folgendermaßen präsentiert.
Bildquelle: CNX, via https://www.cnx-software.com/2024/12/06/allwinner-a733-octa-core-cortex-a76-a55-ai-soc-supports-up-to-16gb-ram-for-android-15-tablets-and-laptops/
Für einen ersten Versuch bietet es sich dann an, einfach einen Run mit einem, einen mit zwei und einen mit acht Threads zu befehlen:
1 |
orangepi@orangepizero3w:~$ sysbench cpu run --threads=1 |
2 |
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3) |
3 |
CPU speed: |
4 |
events per second: 2210.62 |
5 |
|
6 |
orangepi@orangepizero3w:~$ sysbench cpu run --threads=2 |
7 |
CPU speed: |
8 |
events per second: 4465.75 |
9 |
|
10 |
orangepi@orangepizero3w:~$ sysbench cpu run --threads=8 |
11 |
CPU speed: |
12 |
events per second: 9728.07 |
Ohne Kühlkörper lässt sich die CPU – wie in der folgenden Datenreihe – schnell “heiss kochen”:
1 |
9736.09 |
2 |
7669.17 |
3 |
5923.08 |
4 |
5689.28 |
5 |
5241.30 |
6 |
5074.38 |
7 |
5305.92 |
8 |
4799.29 |
9 |
4777.46 |
10 |
4780.26 |
11 |
4667.13 |
12 |
4431.95 |
13 |
4351.73 |
14 |
4129.08 |
15 |
4295.41 |
Das Aufsetzen des Kühlkörpers – explizit ohne Einschaltung des Ventilators – reicht dann schon aus, um für den Achtkern-Run eine thermische Stabilisierung herbeizuführen:
1 |
9770.34 |
2 |
9864.62 |
3 |
9864.28 |
4 |
9863.56 |
5 |
9864.17 |
6 |
9862.85 |
7 |
9857.79 |
8 |
9863.70 |
9 |
9864.94 |
10 |
9864.26 |
11 |
9832.70 |
12 |
9858.19 |
13 |
9868.20 |
I/O am OrangePi Zero 3W mit wiringPi
Shenzhen Xunlong unterstützt auch am Zero 3W die wiringPi-API. gpio readall informiert dann wie im Screenshot gezeigt über das GPIO-Komplement.

Die Verfügbarkeit lässt sich auch nach folgendem Schema prüfen:
1 |
orangepi@orangepizero3w:~$ gcc oair.c -lwiringPi |
2 |
/usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o: in function `_start': |
3 |
(.text+0x1c): undefined reference to `main' |
4 |
/usr/bin/ld: (.text+0x20): undefined reference to `main' |
5 |
collect2: error: ld returned 1 exit status |
6 |
orangepi@orangepizero3w:~$ |
Auf einem angeschlossenen Oszilloskop und einem MDA präsentieren sich die Ergebnisse eines Beispielprogramms dann wie in der Abbildung gezeigt.


KickPi K7 – sehr großer Prozessrechner mit desktopartigem I/O-Komplement
Der mit 94.87 Gramm vergleichsweise schwere KickPi K7 ist – schon optisch – ein komplett anderes Kaliber.


Sowohl auf der Oberseite als auch auf der Unterseite finden sich vollwertige M.2-Slots, die den Anschluss verschiedenster Kommunikationshardware ermöglichen. Die beiden Ethernet-Ports bieten eine Geschwindigkeit von 1Gbit. Außerdem stehen drei USB-3.0-Ports zur Verfügung. Weniger schön ist die Stromversorgung, die über einen klassischen Barrel-Connector erfolgt. Außerdem gibt es mehrere MIPI-Anschlüsse. Die vom RPi V bekannte PCIe-Verbindung fehlt allerdings ersatzlos. Stattdessen befindet sich auf der Unterseite des für Kommunikationsmodule vorgesehenen M.2-Steckplatzes ein SIM-Karten-Slot.

Lustige Inbetriebnahme
Der KickPi verwendet einen Hauptprozessor vom Typ RK3576. Daraus folgt, dass der gewöhnliche Workflow mit dem Schreiben einer IMG-Datei – beispielsweise mittels Raspberry Pi Imager oder ImageWriter – nachweislich nicht zu einem startfähigen Betriebssystemmedium führt. Stattdessen ist ein vergleichsweise komplexer Tanz unter Nutzung eines Windows-basierten Programms erforderlich. Unter der URL https://www.youtube.com/watch?v=gOI4q4ZNbGo zeigt der Autor die einzelnen Schritte grafisch. Nach der Inbetriebnahme des Debian-basierten Images ist zunächst ein Upgrade empfehlenswert. Das Herunterladen der diversen Debian-Pakete erfolgt dabei von einem chinesischen Server. Nach dem Herunterladen der benötigten Pakete steht anschließend die Ausführung von sysbench bevor. Die Resultate präsentieren sich wie folgt:
1 |
linaro@linaro-alip:~$ sysbench cpu run --threads=1 |
2 |
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3) |
3 |
CPU speed: |
4 |
events per second: 2208.35 |
5 |
|
6 |
linaro@linaro-alip:~$ sysbench cpu run --threads=2 |
7 |
CPU speed: |
8 |
events per second: 4408.34 |
9 |
|
10 |
linaro@linaro-alip:~$ sysbench cpu run --threads=4 |
11 |
CPU speed: |
12 |
events per second: 8742.76 |
13 |
|
14 |
linaro@linaro-alip:~$ sysbench cpu run --threads=8 |
15 |
CPU speed: |
16 |
events per second: 12712.53 |
Interessant ist außerdem die hohe thermische Stabilität. Auf der Oberseite fällt auf, dass das SoC theoretisch auch mit einem externen Kühlkörper kombiniert werden kann.

In der Praxis ist dies allerdings nicht notwendig. Im Labor des Autors war es unmöglich, das SoC durch mehrfache Ausführung von sysbench nennenswert zu erwärmen.
KickPi – Interaktion mit dem GPIO-Port
Die einst von Gordon Henderson entwickelte WiringPi-Bibliothek für den Zugriff auf GPIO-Pins unter Linux-basierten Betriebssystemen befindet sich offensichtlich auf dem Rückzug. Auf dem KickPi steht sie nicht mehr zur Verfügung. Stattdessen ist die Verwendung eines Kernelmoduls vorgesehen. Mit einem kleinen Beispielprogramm präsentieren sich die am GPIO-Port sichtbaren Wellenformen wie in der Abbildung gezeigt.

1 |
#include <stdio.h> |
2 |
#include <unistd.h> |
3 |
#include <gpiod.h> |
4 |
|
5 |
int main() { |
6 |
const char *chipname = "gpiochip3"; |
7 |
unsigned int line_num = 0; // Targets GPIO3_A0 |
8 |
|
9 |
struct gpiod_chip *chip; |
10 |
struct gpiod_line *line; |
11 |
int ret; |
12 |
|
13 |
// 1. Open the chip
|
14 |
chip = gpiod_chip_open_by_name(chipname); |
15 |
if (!chip) { |
16 |
perror("Open chip failed"); |
17 |
return 1; |
18 |
}
|
19 |
|
20 |
// 2. Get the line
|
21 |
line = gpiod_chip_get_line(chip, line_num); |
22 |
if (!line) { |
23 |
perror("Get line failed"); |
24 |
gpiod_chip_close(chip); |
25 |
return 1; |
26 |
}
|
27 |
|
28 |
// 3. Request it as output (Do this ONLY ONCE)
|
29 |
ret = gpiod_line_request_output(line, "oair_app", 0); |
30 |
if (ret < 0) { |
31 |
perror("Request line output failed"); |
32 |
gpiod_chip_close(chip); |
33 |
return 1; |
34 |
}
|
35 |
|
36 |
printf("Successfully claimed GPIO3_A0! Toggling now...\n"); |
37 |
|
38 |
// 4. Clean and fast toggle loop
|
39 |
while (1) { |
40 |
gpiod_line_set_value(line, 1); // HIGH |
41 |
gpiod_line_set_value(line, 0); // LOW |
42 |
}
|
43 |
|
44 |
// 5. Safe release if the loop ever breaks
|
45 |
gpiod_line_release(line); |
46 |
gpiod_chip_close(chip); |
47 |
return 0; |
48 |
}
|
Preisanalyse der Prozessrechner
Im Fall des KickPi erfolgt der Vertrieb über AliExpress – zum Zeitpunkt der Meldung ist der unter https://s.click.aliexpress.com/e/_c33QotHX bereitstehende Store der preiswerteste. Die 4GB-Variante kostet rund 120GBP, für die 8GB-Variante mit 64GB Remanentspeicher (statt 32GB) sind 150GPB fällig. Beim OrangePi Zero 3W hat sich der unter https://www.aliexpress.com/item/1005012087460563.html? Bereitstehende Store als am preiswertesten erwiesen. Die 4GB-Version kostet mit Kühlkörper rund 55GBP. Die 6GB-Version kostet derzeit 65GBP.










