Terra Pi NG

Bei meinen Bemühungen um ein Gehäuse, das den Raspberry Pi 16GB mit dem X1001 HAT problemlos aufnehmen kann, fiel mein Blick irgendwann auf das Terra Pi Alpha und ich fand mit dem Terra Pi NG einen Nachfolger, der mir vielversprechend erschien.

Terra Pi NG

Wie das Alpha besteht das NG aus mehreren 3D gedruckten Plastikteilen, die als Basisplatte eine 2,5″ SSD benutzen.Das Case kann sowohl einen Raspberry Pi 5 als auch das 4er Modell aufnehmen.

Ursprünglich wollte ich den 16GB Raspi in das KKBS Gehäuse einbauen, musste aber bei der Montage feststellen, dass die Stirnwand auf das FFC des PCIe drückt. Das war mir zu kritisch, da ich weiß, wie empfindlich diese Flachbandkabel sind. Dadurch stieß ich auf der Suche nach einer Alternative auf das Terra Pi NG. Das Case gibt es auch in schwarzer Farbe zu kaufen und in einer zusätzlichen Option für zwei SATA SSD.

Lieferumfang

Geliefert werden

  • zwei Basisschienen zum Aufschrauben auf die SSD
  • eine Halterung für einen 30mm Lüfter
  • ein 30mm Lüfter, zweipolig
  • ein Standfuß mit Antirutschaufklebern
  • Schrauben
  • ein Ein-/Ausschalter

Packungsinhalt des Terra Pi NG
Packungsinhalt des Terra Pi NG

Montage

Vorerst, ich werde nicht alles, was im Karton ist, benutzen,u.a. auch weil der Raspberry Pi 16GB bereits mit einem Active Cooler und einem Ein-Ausschalter ausgestattet ist.

Schritt 1: Basisschienen

Die beiden Basisschienen werden zunächst in die Löcher auf der Unterseite geschraubt. Sie tragen später die Lüfterhalterung, mit der auch der Raspi fixiert wird.

Dabei kam es bei mir sofort zum Problem, da mit mitgelieferten Schrauben zu kurz sind. Sie passen gerade so durch die Bohrungen der Schienen, finden dann aber keinen Halt in der SSD. Da ich keine längeren Ersatzschrauben finden konnte und ich über Ostern fertig werden wollte, habe ich die Schienen mit Zweikomponenten Epoxidharzkleber direkt auf SSD geklebt. Die Schrauben konnten mir dabei zumindest eine Orientierung für die Ausrichtung der Schienen über den Schraublöchern geben.

Schritt 2: Raspberry Pi

Normalerweise würde jetzt der Raspberry Pi mit Hilfe der Lüfterhalterung auf die Basisschienen geschraubt. Da ich aber schon den Active Cooler und das Geekworm X1001 auf dem Raspi montiert habe, gehe ich so vor: Ich schraube das X1001 ab und ersetze die F-F Abstandshalter gegen F-M Versionen. Mit diesen verschraube ich den Raspi auf den Basisschienen und setze das HAT wieder oben drauf.

Schritt 3: Standfuß

Der Standfuß wird mit zwei Schrauben in die seitlichen Löcher der SSD geschraubt. Auch diese Schrauben sind nur so lang, dass sie durch das Material passen und finden keinen Halt an der SSD. Dieser Schritt ist nicht unkompliziert, da dass gesamte Bauwerk auf der Seite stehen muss. Daher hat mir mein Neffe dabei assistiert ( Danke, Tobi 👋). Dadurch steht die gesamte Konstruktion hochkant, wodurch die warme Abluft einfacher nach oben entweichen kann.

Der fertig montierte Raspberry Pi 5 16G mit Geekworm X10001 NVME HAT im Terra Pi NG Case
Der fertig montierte Raspberry Pi 5 16G mit Geekworm X10001 NVME HAT im Terra Pi NG Case

Schritt 4: SSD anschließen

Die SSD schließe ich mit einem USB 3.0 auf SATA III Adapter an einen der USB 3.0 Ports des Raspberry Pi 5 an.

Tests

NVME

SATA

Lüfter

Auch, wenn ich den mitgelieferten Lüfter nicht benutze, habe ich ihn testweise angeschlossen, um der Vollständigkeit halber die Geräuschentwicklung zu messen.Der Lüfter läuft bei +5V immer mit Vollast, dabei ist rein subjektiv kein nennenswerter Lärm zu hören und auch für mein Messgerät dreht der Fan unterhalb der Messgrenze.

Gesamtsystem

Das gesamte System umfasst jetzt neben dem Raspberry Pi 5 16GB, eine Sandisk WD Blue SN520 mit 520GB und eine 2TB SATA SSD von Verbatim im Terra Pi NG Gehäuse. Diese Kombination taugt durchaus als Desktoprechner oder für einen Heimserver.Mir schwebt ein spezieller Einsatzzweck vor, dazu aber später mehr.

Temperatur

Ich habe das gesamte System für 10 Minuten auf Vollast laufen lassen. Dazu habe ich mir ein Script gebaut, dass parallel sysbench fileio Tests auf NVME und SSD für 10 Minuten laufen lässt und gleichzeitig auch noch die CPU mit stress-ng für 10 Minuten unter Vollast setzt.

#!/usr/bin/env bash
set -euo pipefail

# Dauer des Tests (Default: 10 Minuten, Format z.B. "5m", "600")
DURATION="${1:-10m}"

# Verzeichnisse / Geräte für File‑IO
NVME_MOUNT="~/test"    # bitte anpassen
SATA_MOUNT="/mnt/nextcloud/test"     # bitte anpassen

# Größe und Einstellungen für sysbench-File‑IO
FILE_TOTAL_SIZE="1G"
FILE_NUM="4"
TEST_MODE="rndrw"
EXTRA_FLAGS="--file-extra-flags=direct"

echo "== Vorbereitung: File‑IO Testdateien erstellen =="
sysbench fileio \
    --file-total-size=${FILE_TOTAL_SIZE} \
    --file-num=${FILE_NUM} \
    --file-test-mode=${TEST_MODE} \
    ${EXTRA_FLAGS} \
    --file-dir=${NVME_MOUNT} prepare &
sysbench fileio \
    --file-total-size=${FILE_TOTAL_SIZE} \
    --file-num=${FILE_NUM} \
    --file-test-mode=${TEST_MODE} \
    ${EXTRA_FLAGS} \
    --file-dir=${SATA_MOUNT} prepare &
wait
echo "== Vorbereitung fertig, starte Stresstest für ${DURATION} =="

# CPU‑Stresstest
stress-ng \
    --cpu 8 \
    --cpu-method all \
    --verify \
    --timeout ${DURATION} \
    --metrics-brief \
    > stress-ng.log 2>&1 &

# File‑IO auf NVMe
sysbench fileio \
    --file-total-size=${FILE_TOTAL_SIZE} \
    --file-num=${FILE_NUM} \
    --file-test-mode=${TEST_MODE} \
    ${EXTRA_FLAGS} \
    --file-dir=${NVME_MOUNT} \
    --time=${DURATION} run \
    > sysbench-nvme.log 2>&1 &

# File‑IO auf SATA‑SSD
sysbench fileio \
    --file-total-size=${FILE_TOTAL_SIZE} \
    --file-num=${FILE_NUM} \
    --file-test-mode=${TEST_MODE} \
    ${EXTRA_FLAGS} \
    --file-dir=${SATA_MOUNT} \
    --time=${DURATION} run \
    > sysbench-sata.log 2>&1 &

# Auf alle Hintergrund‐Jobs warten
wait

echo "== Stresstest abgeschlossen =="
echo "Ergebnisse:"
echo " - CPU  (stress-ng):     see stress-ng.log"
echo " - NVMe (sysbench):      see sysbench-nvme.log"
echo " - SATA (sysbench):      see sysbench-sata.log"

# Clean up File‑IO Testdateien
echo "== Aufräumen: File‑IO Testdateien löschen =="
sysbench fileio ${EXTRA_FLAGS} --file-dir=${NVME_MOUNT} cleanup
sysbench fileio ${EXTRA_FLAGS} --file-dir=${SATA_MOUNT} cleanup

echo "Fertig."

Während des Testlaufs steigt die Temperatur im SoC maximal auf etwa 60°C und wird dann durch den anlaufenden Active Cooler sofort wieder etwas runter gekühlt.

Die thermal images zeigen, dass der Controllerchip der NVME sehr warm wird, während die SSD relativ kühl bleibt.

Als nächstes habe mir mit fio angesehen, wie die NVME mit der Wärmebelastung umgeht und einen 1h Langzeittest durchgeführt.

Die IOPS gehen kurz nach dem Start des Tests dramatisch in den Keller und bleiben dann auch da.
Die IOPS gehen kurz nach dem Start des Tests dramatisch in den Keller und bleiben dann auch da.

Also rüste ich das Laufwerk mit einem Kühlkörper aus und wiederhole den Test.

Mit Heatsink riegeln die IOPS nur kurzzeitig mal ab.
Mit Heatsink riegeln die IOPS nur kurzzeitig mal ab.

Fazit

Gegenüber dem Alpha bietet das Terra Pi NG nicht viel Neues. Die Idee, den gesamten Raspi hochkant zu stellen, gefallt mir, da er dadurch weniger Stellfläche einnimmt.

Allerdings sollte der Hersteller überdenken, längere Schrauben für die Basisschienen mitzuliefern. Dies würde die Montage vereinfachen. Meine Lösung mit dem Epoxidharzkleber funktioniert zwar, allerdings bestand dabei immer die Gefahr, dass die beiden Schienen nicht exakt parallel zueinander verlaufen und dadurch die Schraublöcher des Raspis nicht passen.

Schreibe einen Kommentar

Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Olli Graf - raspithek.de
WordPress Cookie Hinweis von Real Cookie Banner