Kompakt, schnell und leise ist eine Herausforderung beim Selbstbau eines PCs. Meistens bekommt man nur zwei dieser Eigenschaften auf Kosten der dritten. Ich habe mich trotzdem an einen Versuch gewagt.
Das Ergebnis ist:
- Gehäuse und Mainboard: Das ASRock DeskMini A300 ist ein Barebone, das kaum größer ist als ein ATX-Netzteil. Trotzdem hat es genug Platz für einen Prozessor mit AM4-Sockel und einer Verlustleistung von bis zu 65 Watt. Dazu passen zwei 2,5-Zoll-Festplatten und zwei M.2-SSDs hinein. WLAN gibt es optional dazu. Versorgt wird das Gerät mit einem externen 300W-Notebook-Netzteil.
- Kühlung: Ich verzichtete auf den beigelegten Kühlkörper und baute ein Noctua NH-L9a-AM4 ein. Die Lüfter- und Kühlkörper-Lösung ist wie für dieses Gehäuse gemacht. Der Lüfter ist enorm leise. Selbst unter Last ist nur ein leises Rauschen zu hören, das überhaupt nicht stört.
- CPU: Hier setzte ich auf einen AMD Ryzen 5 2400G, welcher sich bereits in meinem PC unter Linux bewährt hat. Mit 65 Watt TDP passt er in das Gehäuse und bietet mehr aus ausreichend Leistung für Office-Anwendungen, Video-Streaming und einfache Games.
- RAM: 8 GB DDR4-2400 SO-DIMM als Kit mit 2x 4 GB. Für den gedachten Anwendungszweck reicht das. Bei einer Bestückung beider Slots mit Dual Rank-Modulen ist bei 2400 MHz Schluss, so dass der Kauf höher getakteter Speicherriegel nur Geld verschwendet hätte.
- SSD: Als Festspeicher wurde eine vorhandene 2,5-Zoll SATA-SSD weiter verwendet.
Das System ließ sich zügig zusammenbauen. Problematisch war lediglich die Montage des Noctua-Kühlers. Dafür muss die vorhandene Halterung samt Bodenplatte entfernt werden. Anschließend wird Wärmeleitpaste auf die CPU aufgetragen, der Kühler daraufgelegt und von unten auf die beigelegte Bodenplatte geschraubt. Es erfordert schon ein wenig Geschick, den Kühlkörper dabei so wenig wie möglich zu bewegen, um die Wärmeleitpaste nicht zu verschmieren. SATA-Festplatten werden mit einem Spezialkabel mit dem Mainboard verbunden. Auch hier war es ein wenig Fummelei, den Spezialstecker auf das Mainboard zu stecken.
Bei einem ersten Test bootete ein Fedora 29-Livesystem auf der Maschine. Nachdem ich aber das BIOS auf die aktuelle Version 3.40 aktualisiert hatte, verweigerte das Livesystem selbst im Kompatibilitätsmodus den Dienst. Erst Fedora 30 (welches derzeit noch im Beta-Stadium ist) bootete problemlos und ließ sich ebenso leicht installieren.
Das System arbeitet unter Fedora 30 einwandfrei und stabil, selbst mit zwei angeschlossenen Monitoren. Beeindruckt hat mich vor allem der ruhige, nahezu lautlose Betrieb, der trotz dieser kompakten Abmessungen möglich ist. Darüber hinaus lässt sich ein solches System für einen verhältnismäßig günstigen Preis zusammenbauen. Es eignet sich bestens als kompakter Schreibtischrechner oder anspruchsvoller HTPC.
In dem Fedorablog, den ich ganz früher mal geschrieben hatte, hatte ich ein regelmäßig wiederkehrendes Thema: Die Installation von Google Earth. Lange Zeit war das echte Handarbeit, obwohl Google ein RPM-Paket bereitstellte.
Seitdem sind viele Jahre vergangen. Mittlerweile stellt Google die ehemals kostenpflichtige Pro-Version von Google Earth zum kostenlosen Download für Linux zur Verfügung. Und auch die Installation ist glücklicherweise kein Problem mehr. Es reicht schon, das RPM-Paket zu installieren:
sudo dnf install google-earth-pro-stable-current.x86_64.rpm
Auf deutschen und österreichischen Systemen1 muss anschließend noch eine kleine manuelle Änderung vorgenommen werden. Der Grund dafür ist, dass die Google-Server bei der Ortssuche Geokoordinaten mit Dezimalpunkt ausliefern, das System aber das bei uns übliche Dezimalkomma erwartet und die Zahlen deshalb nicht verarbeiten kann. Die virtuelle Erdkugel dreht sich dann immer mitten auf den Atlantik statt auf die gewünschte Markierung.
Eine einfache Lösung ist, die Datei /opt/google/earth/pro/googleearth mit einem Texteditor zu bearbeiten (Root-Rechte erforderlich) und in der letzten Zeile der Datei ein LC_NUMERIC=us_US.UTF-8 einzufügen:
LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH LC_NUMERIC=us_US.UTF-8 ./googleearth-bin "$@"
Danach sollte Google Earth Pro problemlos und stabil laufen.
Nach meinen Recherchen verwendet ein Linux mit schweizerdeutscher Einstellung den Dezimalpunkt. Die Anpassung ist dann nicht nötig, schadet aber auch nicht. ↩︎
Es wurde Zeit für einen neuen Linux-PC. Und da Intel in letzter Zeit mit Meltdown und mit Sicherheitslücken in der Management Engine keine allzu gute Figur macht, dachte ich mir, es ist wieder an der Zeit, AMD eine Chance zu geben.
Was ich haben möchte, ist ein Arbeitsrechner mit guter Rechenleistung und schnellem Massenspeicher. Die Grafikleistung ist sekundär, da ich nicht spiele. Wichtiger ist mir ein ruhiger Betrieb, was die Reduzierung von Abwärme durch einen Strom sparenden Prozessor beinhaltet.
Für meinen neuen Rechenknecht im Retro-Look entkernte ich ein Cooler Master Cavalier 3-Towergehäuse von 2004, das ich noch hier stehen hatte und einen AMD Athlon 64 mit üppigen 4 GB DDR2-RAM beherbergte. Nach der Renovierung besteht der Rechner jetzt aus:
- CPU: AMD Ryzen 5 2400G. Die eingebaute Vega 11-Grafikeinheit bringt bei Benchmark-Tests eine respektable Leistung und reicht für meine Zwecke locker aus. Zudem begnügt sich der Ryzen 5 mit 65 W TDP. Eine für diesen Einsatz eigentlich überdimensionierte AIO-Wasserkühlung sorgt dafür, dass die CPU-Cores auch längere Zeit im 3,9 GHz Turbo-Modus durchhalten, und lässt mir die Option für spätere Overclocking-Experimente.
- Mainboard: Asus Prime X470 Pro. Für diese Wahl gab es keinen besonderen Grund, außer dass ich in der Vergangenheit mit Asus-Boards gute Erfahrung gemacht habe. Für die Linux-Kompatibilität ist die Nennung des verwendeten Typs aber vielleicht interessant.
- SSD: Samsung 970 Pro, 512 GB, PCIe M.2. Massenspeicher sind die Komponenten, die im Rechnerleben erfahrungsgemäß als erstes ein Upgrade erfahren, weil sie zu klein oder zu langsam geworden sind. Also lieber gleich schon beim Neukauf klotzen statt kleckern. Das zögert das Upgrade ein wenig hinaus.
- RAM: 16 GB DDR4-3000, als Kit mit 2x 8 GB. Für meine Zwecke reicht das. Der Ryzen 5 unterstützt maximal DDR4-2933, so dass höher getaktete RAMs wenig Sinn machen. Da sollte man lieber mehr Geld für eine möglichst geringe CAS Latency ausgeben.
Für Linux gibt es hier gleich mehrere Herausforderungen. Die Vega-Grafikeinheit ist verhältnismäßig neu, dementsprechend neu ist auch der Support im Linux-Kernel. Zudem ist die SSD nicht per SATA, sondern per PCIe angebunden, was ebenfalls - zumindest theoretisch - zu Treiberproblemen führen kann.
Der Versuch, eine Fedora 28-Live CD im Cinnamon-Spin zu starten, funktionierte auch prompt nicht. Das System startet bis zur Anmeldemaske, aber man kommt einfach nicht darüber hinaus. Erst ein Start im minimalen VESA-Modus erlaubte es, eine reduzierte Cinnamon-Oberfläche zu erreichen und den Installer auszuführen.
Zumindest meine Sorge, die PCIe-SSD würde nicht erkannt werden, erwies sich danach als unbegründet. Der Installer erkannte die SSD und richtete problemlos und zügig das Fedora-System darauf ein.
Beim ersten Reboot startete Cinnamon aber weiterhin nur im reduzierten Modus ohne Compositing. Abhilfe brachte, den nomodeset Kernel-Parameter aus den Grub-Einstellungen zu entfernen. Nach einem weiteren Reboot stand dann die volle Grafikleistung zur Verfügung. Vermutlich hat das Live-Image einen zu alten Kernel, so dass das kommende Fedora 29 problemlos installierbar sein wird.
Von den anfänglichen Problemen mit der Grafik abgesehen, läuft das System rund. Netzwerk, Sound, SATA- und USB-Schnittstellen wurden von Linux erkannt und werden voll unterstützt. Selbst unter Last verhält es sich stabil, bisher hatte ich keine Freezes oder unerwarteten Abstürze.
Mein Ziel habe ich damit erreicht. Der neue PC bringt eine ordentliche Leistung und ist trotzdem leise, kühl und sparsam.
Zumindest vorübergehend. Sobald man versucht, eine aus OpenSCAD exportierte stl-Datei in Cura zu importieren, erscheint die Fehlermeldung “Ungültige Datei”.
Der Grund dafür ist, dass Cura auf manchen Plattformen momentan Probleme hat, stl-Dateien im ASCII-Format zu lesen. Und OpenSCAD exportiert nur in ASCII-Format.
Als Workaround hilft ein Universal-Taschenmesser für stl-Dateien namens admesh. Neben etlichen anderen Transformationsmöglichkeiten konvertiert es eine ASCII-stl-Datei ins Binärformat:
admesh -b example-bin.stl example-ascii.stl
Diese lässt sich dann in Cura problemlos öffnen.
admesh ist im Fedora Repository verfügbar und kann (auf Wunsch inklusive einer GUI) einfach per dnf installiert werden:
sudo dnf install admesh admeshgui
Das Projekt luftdaten.info bietet eine Bauanleitung für einen Feinstaubsensor an. Er ist günstig und auch mit wenig Elektronikkenntnissen leicht zusammenzubauen. Die Bauteile gibt es in verschiedenen Elektronikläden und mittlerweile sogar bei Amazon.
Der originale Bausatz benutzt zwei Kunststoffrohre als Gehäuse. Die sind preiswert und in jedem Baumarkt leicht zu bekommen, sehen allerdings nicht besonders ansprechend aus. Ich wählte stattdessen eine handelsübliche UV- und wetterfeste Außen-Abzweigdose als Gehäuse. Ein selbst konstruierter Rahmen aus dem 3D-Drucker wird dort hineingesetzt und die Elektronik darauf montiert.
Der Rahmen bringt bereits einen Windkanal für die angesaugte Luft mit, so dass im Gegensatz zur Originalanleitung kein Schlauch notwendig ist. Gitter vor den Luftöffnungen verhindern, dass Insekten in das Gehäuse kriechen können. Im Gegensatz zu manch anderer gedruckter Lösung ist der Feinstaubsensor außerdem wie vom Hersteller vorgeschrieben ausgerichtet und die Einsaugöffnung vor Licht geschützt.
Im Gegensatz zur Originalanleitung kommt man hier allerdings nicht darum herum, den Lötkolben in die Hand zu nehmen.
Folgende Teile werden benötigt:
- 1x Satz Rahmenteile aus dem 3D-Drucker
- 1x OBO Bettermann T60 Kabelabzweigkasten mit Einsteckdichtungen
- 1x NodeMCU ESP8266 (von Lolin, andere Marken passen eventuell nicht)
- 1x ILS-Nova SDS011 Feinstaubsensor
- 1x DHT22 Temperatur- und Luftfeuchtesensor (normalerweise optional, hier aber erforderlich, da er eine Öffnung im Windkanal abdichtet)
- 1x BMP180 Temperatur- und Luftdrucksensor (optional)
- 11x Holzschrauben 3,0 x 12 mm
- 4x Holzschrauben 3,5 x 12 mm (oder vier weitere 3,0 x 12 mm)
- Ein wenig Flachbandkabel
- Etwas Schrumpfschlauch
- USB-Kabel (flach)
- USB-Netzteil (ein ausgedientes Handy-Ladenetzteil reicht völlig aus, der Sensor braucht weniger als 200 mA)
Für die gedruckten Teile ist kein besonders UV- oder wetterfestes Filament notwendig, da sie vom Abzweigkasten geschützt werden. Das Filament sollte nur nicht so spröde sein, dass die Schrauben es zerbrechen. Und es sollte möglichst dunkel sein, damit kein Streulicht in die Öffnung des Staubsensors fällt. Ich verwendete einfaches schwarzes PLA.
Wichtig: Der Druck sollte ohne Stützstrukturen (“supports”) erfolgen, da sie nachher sehr schwer zu entfernen sind und den Luftkanal blockieren könnten. Die Teile sind so designed, dass sie mit PLA auch ohne Stützstrukturen gedruckt werden können.
Als erstes entfernt man die beiden Einsteckdichtungen von einer Seite des Abzweigkastens und schneidet sie bei 19-20 mm Durchmesser auf.
Jetzt steckt man das USB-Kabel durch das linke Loch, setzt dann von innen den unteren Trägerrahmen ein und schraubt ihn mit den 3,5 x 12 mm-Schrauben fest. Mit den Einsteckdichtungen kann nun das Gehäuse wieder abgedichtet werden.
Es wird Zeit, die Elektronik nach Anleitung zusammenzulöten. Die Pins des DHT22 sollten mit dem Schrumpfschlauch geschützt werden. Wie der optionale Luftdrucksensor BMP180 angeschlossen wird, steht in der FAQ. Am besten installiert man jetzt die Firmware und macht einen Testlauf. Wenn das Gerät erst einmal zusammengesetzt ist, könnte es schwieriger werden.
Die NodeMCU und der BMP180 werden auf die Grundplatte geschraubt und das USB-Kabel eingesteckt. Der DHT22 wird einfach an die vorgesehene Stelle in den Windkanal gesteckt (siehe Foto), er braucht nicht festgeschraubt werden.
Als nächstes wird die obere Platte aufgesteckt und festgeschraubt. Der Feinstaubsensor wird angeschlossen und dann vorsichtig in die Luftöffnung gesteckt und festgeschraubt. Eventuell ist es notwendig, ein klein wenig vom Stecker abzuschneiden, damit es passt.
Das war es schon. Der Deckel des Abzweigkastens kann aufgesetzt und fixiert werden. Der Sensor ist einsatzbereit.
Der fertig montierte Sensor wird mit den Öffnungen nach unten außen an einer Wand montiert. Regen, Schnee und Hagel sollte das Gehäuse gut überstehen. Da PLA ab 60°C weich wird, sollte ein Platz in direkter Sonne aber vermieden werden. Der Sensor kann auch liegend betrieben werden, allerdings sollten die Öffnungen dann ein wenig vor Regen geschützt werden.
Versorgt wird der Sensor über das USB-Kabel. Da keine Daten übertragen werden, kann das Kabel problemlos mehrere Meter lang sein.
Nachdem man seinen Sensor bei luftdaten.info angemeldet hat, kann man die Messdaten in der Karte sehen und als CSV-Datei abrufen. Die aktuellen Messdaten können auch direkt per WLAN im JSON-Format abgefragt und beispielsweise in einer Datenbank abgelegt werden. Ich verwende ein selbst programmiertes kleines Tool, das die Daten regelmäßig abholt, in eine PostgreSQL-Datenbank ablegt und per Grafana darstellt.
Viel Spaß beim Basteln! 😀
PS: Bitte seht von Anfragen ab, ob ich euch den Rahmen drucken kann. Der 3D-Drucker gehört mir nicht. Ich kann deshalb keine Druckaufträge annehmen, auch nicht gegen Bezahlung.







