Aus Raspberry Pi Geek 01/2024

Cytron CM4 Maker Board: Solide Basis für das RasPi Compute Module 4

© Konstantin Shaklein / 123RF.com

Rendevouzmanöver

Bernhard Bablok

Teuer, aber gut: So lässt sich die Kombination aus dem CM4-Modul und dem exzellent ausgestatteten Baseboard von Cytron zusammenfassen.

Der Raspberry Pi ist seit der ersten Version ein Verkaufsschlager, aber es gibt zwei gute Gründe, ihn nicht einzusetzen. Da wäre zum einen der Formfaktor: Die Kabel stehen an zwei Seiten ab, und wegen der SD-Karte muss auch noch eine dritte Seite zugänglich sein. Viele Tüftler haben sich diesbezüglich schon an besseren Gehäusen und Adaptern abgearbeitet.

Das zweite Problem ist der Massenspeicher. Mit dem RasPi 4 hielt zwar endlich USB 3 Einzug, aber USB-Speicher haben ihre eigenen Probleme. Neben einem weiteren abstehenden Bauteil gibt es auch eine technische Falle: Kaum ein USB-SSD-Brückenchip unterstützt den Trim-Befehl, über den das Betriebssystem den Festplattencontroller über wieder freigegebene Bereiche informiert. USB-SSDs werden deshalb langsam, sobald die Firmware keine freien Sektoren mehr feststellt.

An dieser Stelle betritt das Compute-Modul die Bühne (Abbildung 1). Dabei handelt es sich letztlich um einen RasPi ohne Peripherie. Die liefert stattdessen eine Trägerplatine, in die man das Modul einklickt. Die Hersteller solcher Baseboards haben sowohl bei der Anordnung der Peripherie als auch bei der Ausstattung der Platinen freie Hand. Statt wie die Foundation beim RasPi 4 den PCIe-Anschluss mit einem USB-3-Chip zu bestücken, kann dort ein zweiter GBit-Ethernet-Port andocken, oder eben eine NVMe-SSD.

Abbildung 1: Beim Compute-Modul CM4 handelt es sich mehr oder weniger um einen RasPi 4 ohne Peripherie.

Abbildung 1: Beim Compute-Modul CM4 handelt es sich mehr oder weniger um einen RasPi 4 ohne Peripherie.

Cytron CM4 Maker Board

Da das CM4 Maker Board der Firma Cytron aus Malaysia (Abbildung 2) beim deutschen Distributor Berrybase noch nicht bereitstand, stellte der Hersteller dem Autor direkt ein Testexemplar zur Verfügung.

Abbildung 2: Das Cytron CM4 Maker Board mit aufgestecktem CM4-Modul.

Abbildung 2: Das Cytron CM4 Maker Board mit aufgestecktem CM4-Modul.

Das Board hält sich in seinem grundsätzlichen technischen Design an das CM4-IO-Board der Raspberry Pi Foundation, inklusive der Pin-Leiste für klassische RasPi-HATs (Abbildung 3). Das CM4 IO ist eine mit wenigen Einschränkungen auch alltagstaugliche Referenzimplementation. Cytron steht mit diesem Ansatz nicht allein: Auch das Baseboard von Waveshare (Abbildung 4) setzt auf dem CM4-IO-Design auf. Der große Vorteil für Anwender besteht in der dadurch erweiterten Community, denn Fragen und Antworten passen oft auf alle entsprechenden Boards.

Abbildung 3: Das CM4-IO-Referenz-Board der Foundation dient dem Baseboard von Cytron als Vorlage.

Abbildung 3: Das CM4-IO-Referenz-Board der Foundation dient dem Baseboard von Cytron als Vorlage.

Abbildung 4: Das Waveshare-Board verfolgt ähnliche Ansätze wie das von Cytron, bietet aber deutlich weniger Anschlussmöglichkeiten.

Abbildung 4: Das Waveshare-Board verfolgt ähnliche Ansätze wie das von Cytron, bietet aber deutlich weniger Anschlussmöglichkeiten.

Wie sie in Abbildung 2 sehen, liegen beim Cytron CM4 Maker Board alle wesentlichen Anschlüsse auf einer Seite. Außerdem gibt es einen Steckplatz für NVMe-SSDs in den Formaten 2230 und 2240. Massenspeicher und Formfaktor passen also. Das wesentliche Alleinstellungsmerkmal des Boards sind aber die anderen Komponenten. So bietet es drei elektronisch entprellte Taster, einen Buzzer und eine ganze Reihe an Grove-Steckplätzen. Neben einem UART gibt es zwei PWMs, vier GPIOs sowie einen I2C-Port – Letzterer ist auch als Stemma/Qt herausgeführt. Gerade so etwas wie den Buzzer für einfache Töne vermisst der Autor bei den normalen RasPi-Modellen schmerzlich.

Inbetriebnahme

Viele Anwender glauben, aus Asien kämen nur billige Hardwareklone ohne weitergehenden Support. Cytron tanzt hier aus der Reihe und spielt in einer Liga mit Adafruit, Pimoroni und Sparkfun. Die Firma verkauft nicht nur Hardware, sondern entwickelt ihre eigenen Boards. Passend dazu gibt es Tutorials, Videos und Beispielcode. Zwar liegt all das nur englischsprachig vor, aber das ist bei den anderen Herstellern nicht anders.

Sie können sich also an die reich illustrierte Anleitung [1] halten. Sie führt durch alle Aspekte der Installation und der Anwendung der verbauten Komponenten. Alle Codebeispiele sind in Python geschrieben und beschränken sich auf das Wesentliche. Wer es kompakter mag, greift zum Datasheet [2]. Weil das Tutorial so gut ist, beschränken sich die nächsten Abschnitte nur auf das Wesentliche.

Für CM4-Module benötigen Sie kein spezielles Betriebssystem, denn bis auf die Peripherie verhält sich das System weitgehend identisch zu einem RasPi 4. Handelt es sich um ein Lite-Modul ohne eigenen Flash-Speicher, dann spielen Sie Pi OS ganz normal auf die SD-Karte. Bei Modulen mit integriertem Speicher müssen Sie das Board in einen Massenspeichermodus versetzen. Es meldet sich dann beim PC als Laufwerk, auf das Sie das Betriebssystem beispielsweise mit Etcher aufspielen.

Beim CM4 IO übernimmt das ein Jumper, beim Cytron CM4 Maker Board legen Sie dazu einen Schiebeschalter um (Abbildung 5, unten). Anschließend führen Sie die Befehle aus Listing 1 aus. Die zusätzlichen Argumente des Befehls rpiboot in Zeile 5 sind optional, die meisten Anleitungen im Internet unterschlagen sie. Nützlich sind sie jedoch allemal, denn dann geht das Kopieren nicht nur schneller, sondern Sie erhalten auch Zugriff auf alle Partitionen einer eventuell verbauten SSD.

Bevor Sie jetzt den Schalter wieder umlegen und normal booten, nehmen Sie in der Konfigurationsdatei /boot/config.txt noch ein paar Ergänzungen vor (Listing 2). Die Zeile 5 aktiviert insbesondere die USB-Anschlüsse und damit Tastatur und Maus. Cytron bringt zwar ein Setup-Skript für diese Aufgabe mit [3], doch um es auszuführen, müssten Sie sich nach dem ersten Neustart per SSH mit dem System verbinden.

Listing 1

Flash-Installation

$ sudo apt install git libusb-1.0-0-dev pkg-config build-essential
$ git clone --depth=1 https://github.com/raspberrypi/usbboot
$ cd usbboot
$ make
$ sudo ./rpiboot -d mass-storage-gadget

Listing 2

Konfiguration anpassen

[...]
#otg_mode=1 # Auskommentieren!
[...]
[cm4]
dtoverlay=dwc2, dr_mode=host
dtparam=i2c_vc=on
dtoverlay=i2c-rtc, pcf85063a, i2c_csi_dsi
dtoverlay=audremap, pins_18_19
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben