Mein erstes Programmierprojekt findet hier eine Fortsetzung. Ein Arduino ist kein schneller Prozessor, aber mit
allen Tricks, die es so gibt, bin ich mit diesem Projekt doch ziemlich nah an dem, was idealerweise möglich ist.
Der Rechner besteht aus einem Arduino, dem LCD-Display, einem Displaycontroller, einem Akkucontroller und einem
Li-Ion-Akku (als unterbrechungsfreie Stromversorgung). Er läuft seit dem 22.10.26 2:45 bisher störungsfrei auf
meinem Schreibtisch und ab und zu freue ich mich, wenn es von 199.999.xxx auf 200.000.xxx umspringt.
Primzahlrechner am 22.10.26 um 18:06Primzahlrechner am 30.10.26 um 10:17
Sep 2026 – JetztWebserver für Website, Spieleserver, Mail, Kalender usw.
Eine Website muss man immer pflegen. Aber jetzt ist erstmal der Grundstein gelegt. Ich habe häufiger
gelesen, dass HTML und CSS keine Programmiersprachen sind und daher auf Menschen herabgeschaut wird,
die sich damit beschäftigen. Ich fand es wirklich aufwändig, mich einzuarbeiten. Nach 12 Stunden
Arbeit stand eine Website, die komplett selbstentworfen war.
In 12 Minuten hat Claude die Website überarbeitet, ABER mein Grundkonzept und die Grundstruktur stehen noch, sodass
ich jetzt in der Lage bin, die Seite zu pflegen, und sie sieht gleichzeitig ordentlich aus.
Verständnis der Struktur ist mir erstmal sehr wichtigTrotzdem ist das hier wenig optisch ansprechend
Aug 2026Spore-Klon
Vielleicht meine bisher beste Spielidee und relativ umfangreich. Ich stelle noch nichts weiter
online, falls ich es noch auf Steam veröffentliche.
Die Spannung steigt.
Jul 2026Tischventilator mit weniger als 20 dB
Als Geburtstagsgeschenk ein sehr leiser Tischventilator, damit ein feines Gehör nicht gestört wird.
Ein schwingungsgedämpftes Gehäuse und ein Premium-Noctua-12-V-Industrielüfter sorgen für minimale
Geräusche bei maximalem Luftzug.
Mit einem Arduino Nano habe ich den Ventilator nahe seiner Minimalgeschwindigkeit gut steuerbar gemacht.
Der Lüfter arbeitet im unteren Drehzahlbereich mit hochfrequenter PWM besser als mit
niederfrequenter. Daher und wegen der 12-V-Betriebsspannung wurde ein MOSFET zur Steuerung des
Lüfters verwendet. Die hochfrequente Steuerung (relativ zur Taktgeschwindigkeit des Arduino)
erfordert es, direkt auf das Register zuzugreifen, statt über die digitalWrite(x,y)-Abstraktion
zu schalten.
Tischventilator mit Drehregler und einstellbarem Winkel
Aug 2026Wassermelonenzucht
Auf dem Balkon sind dieses Jahr einige neue Pflanzen dazugekommen. Es macht wahnsinnig Freude, einen Kern oder
Samen, der nach dem Essen einer Frucht übrig bleibt, einfach mal in den Boden zu stecken und abzuwarten, ob
daraus etwas erwächst.
Wenn das, was dann wächst, auch noch Früchte trägt, ist das natürlich besonders toll! Der Apfel von letztem
Jahr hat den Winter knapp überlebt. Neu gewachsen sind: Wassermelone, Honigmelone, Tomate, Avocado und Erdbeere.
Mögen sie lange leben! Aber ansonsten wartet eine Kartoffel bereits darauf, dass ein Blumentopf frei wird.
Mini-Wassermelone in meiner Hand
Jul 2026Abluftsystem für die Klimaanlage
Von dem Vater eines Freunds habe ich eine mobile Klimaanlage bekommen, da >40 °C in der Zeit, in der ich
meine Masterarbeit schreibe, nicht akzeptabel ist. Es ist jedoch nichts gewonnen, wenn 45 °C warme Luft
gegen 45 °C warme Luft getauscht wird. Die Temperatur des Dachs habe ich an einem Tag mit 53 °C gemessen.
Die Abluft muss also bestmöglich abgedichtet werden, damit die Luft stattdessen aus dem Flur und der Lüftung
im Bad kommt. Bei gekipptem Fenster kann mit meinem Modell und etwas Schaumstoff der obere und untere Teil
des Kippfensters abgedichtet werden.
Dazu habe ich den Abluftschlauch mit Schaumstoff umwickelt und in die Dachfenster Isolationspaneele aus
Styropor geklemmt. Auf die Weise konnte ich das Dachgeschoss 13 °C kühler halten als die Außentemperatur:
28 °C drinnen bei 41 °C draußen!
Bei der Konstruktion habe ich ebenfalls darauf geachtet, dass sich auch kein Regenwasser an dem geöffneten
Fenster sammeln kann. Auch das fließt nach außen ab. Wegen der heißen Abluft und direkten Sonneneinstrahlung
habe ich zudem PETG verwendet, was sich als ausreichend temperaturstabil erwies.
Die Abdichtung im gekippten Dachfenster, von außen gesehenCAD-Modell der Abdichtung
Jul 2026Audiosurf-Klon
Audiosurf war ein Spiel, bei dem man mit einem Fahrzeug auf einer Bahn farbige Blöcke im Rhythmus eines
selbstgewählten Songs sammeln musste. Das Spiel habe ich relativ viel gespielt, aber es war mir immer
zu wenig rhythmisch. Es passierte zu wenig. Die Weiterentwicklung hier ist daher von der Bahn weg in
den Weltraum, wo man mit einem Raumschiff Asteroiden ausweicht.
Hier habe ich ausschließlich eine Gamedesigner-Rolle übernommen und Claude Code hat den Code
geschrieben. Es ist noch nicht fertig. Wie es bei Vibecode-Projekten aber immer ist, ist die
Identifikation mit dem Resultat gering. Spaß macht das Spiel aber in jedem Fall.
Rechts unten das "Raumschiff" und die braunen Asteroiden und leuchtenden Kristalle
Die Flugstatistik: nur Gold erreicht. Nicht meine beste Leistung.
Apr 2026 – Jul 2026Reparatur einer Kaffeemaschine
Für einen Euro habe ich eine "defekte" Kaffeemaschine gekauft. Das Display zeigte in keinem Feld mehr das
F-Segment der 7-Segment-Anzeige an und der Griff der Kanne war gebrochen.
Zusammen mit einem Freund habe ich die Kaffeemaschine zerlegt, das Layout des PCB analysiert und die
Lötstellen geprüft. Wir haben dann den betreffenden Kontakt identifizieren können, durch den das F-Segment
gesteuert werden sollte, und haben ihn nachgelötet.
Den Griff konnte ich zunächst mit Silikonkleber ausreichend kleben – bis es nicht mehr gereicht hat und ich
meinen Kaffee überall verteilt habe. Daraufhin habe ich mir Polyamid-Filament für den 3D-Drucker bestellt und
ein Modell entworfen. Das Polyamid zeigte jedoch starken Verzug, sodass ich in das Modell eine integrierte
Stützstruktur am unteren Ende des Griffs eingebaut habe, die ich dann nach dem Druck abgesägt habe.
Das Display zeigt wieder alle Segmente an
Die Kaffeemaschine nach der ReparaturCAD-Modell des Griffs
Mär 2026 – JetztPizza Racer
Stell dir vor, du verbindest einen Ressourcenmanager mit einem Racing-Game.
Heraus kommt die Idee für ein Spiel, an dem ich noch arbeite. Prinzipiell entscheidet man, welche
Pizzen man produziert, fährt sie zu Kunden und kauft Zutaten ein. Man soll dabei abwägen, ob sich die
Strecke zum Laden, der weiter weg liegt, lohnt oder ob man teuer in der Nähe kauft. Ich versuche alle
Kosten und Preise realistisch zu halten, Steuern und Spritkosten werden berechnet. Bisher fehlt aber
noch ein Gegenspieler oder sonst eine Herausforderung, denn die vielen Ausgaben motivieren irgendwie
nicht... Bei diesem Spiel habe ich ebenfalls darauf geachtet, nur Assets zu verwenden, die ich
frei verwenden darf. Wenn das Spiel fertig ist, kann ich es also auch veröffentlichen.
Auf dem Weg zum Geschäft mit ein paar Zutaten
Jan 2026 – Feb 2026Kühlschrank-Türhebel
Ein hermetisch dichter Kühlschrank sorgt für einen Unterdruck, wenn die warme einströmende Luft beim
Öffnen sich nach dem Schließen abkühlt und zusammenzieht. Das sorgt für einen Widerstand gegen das
erneute Öffnen. In meinem Fall ist der Widerstand so groß, dass man den gesamten Kühlschrank zieht,
bevor sich die Tür öffnet.
Ein Modell für den 3D-Drucker, das ich nach viel Suchen gefunden habe, ist wegen für 3D-Druck ungünstiger
Auslegung für den Lastfall häufig kaputtgegangen – selbst als ich von PLA auf ABS umgestiegen bin!
Daraufhin habe ich eine eigene Version entwickelt, die durch das leichte Anheben des Griffs erst die
Tür gegen den Schrank aufhebelt. Der Griff liegt so auch nah an der Tür an und wird nicht zum Hindernis.
Das Modell habe ich zunächst in Inventor 2026 gebaut und dann nochmal in FreeCAD mit dem Gedanken, die
gedruckte Version kommerziell zu vertreiben. Daraus ist bisher nichts geworden. Meine Marktanalyse hat
ergeben, dass zwar jeder einen Kühlschrank hat – die Hersteller aber sehr bewusst auf Griffe verzichten.
Wenige Menschen werden sich einen Griff an ihren Kühlschrank ankleben wollen.
Kühlschrankhebel mit ÖffnungsmechanismusKühlschrankhebel in der Realität
Jan 2026 – Apr 2026Handyhalterung fürs Auto
Leicht zu unterschätzendes Projekt: Es gilt, Vibrationen, festen Halt, hohe Temperaturen und Sonneneinstrahlung,
Lademöglichkeit und Bedienung zu berücksichtigen. Zunächst war das Konzept ein Aufbau aus fest sitzender
Klammer, Kunststofffeder und dann einer exakt passenden Form. Wenn das Handy in diese Form hineingeschoben wurde,
war am unteren Ende ein Ladekabel exakt so positioniert, dass es in die Ladebuchse gerutscht ist. Leider war
das Konstrukt dann insgesamt so schwer und hatte einen langen Hebel, dass es stark gewippt hat und die Feder
immer wieder unter Last und Temperatur nachgegeben hat. Aus einer Laune heraus habe ich dann eine
minimalistische Halterung konstruiert mit dem Konzept, dass das Handy locker eingespannt ist und
Vibrationsdämpfung aus dem Material selbst statt aus einer Feder kommt. Zusammen mit dem freundlichen Gesicht
entstand die aktuelle Halterung.
Handyhalterung eingebaut im AutoKonzeptdarstellung
Nov 2025 – Apr 2026Handyhülle mit Kartenhalter
Mein Portemonnaie und mein Haustürschlüssel sind an einer Kette aneinander. Mein Personalausweis, auf dem meine
Adresse steht, sollte nicht zusammen mit dem Haustürschlüssel verloren gehen. Der Perso muss daher beim Handy
sein – was auch den Vorteil hat: Sollte das Handy verloren gehen, gibt es einen Weg, mich zu kontaktieren.
Konventionelle Hüllen lassen entweder die Aufbewahrung von Karten gar nicht zu oder es sind lästige Klapphüllen.
Daher habe ich eine Hülle konstruiert, die ein Fach hat, in das die Karte einrastet und nicht herausfallen kann.
Dazu kommen Gimmicks, etwa dass das Fairphone-Logo auf der Rückseite noch zu lesen ist, die Ecken besser geschützt
sind und die Hülle Richtung Display hervorsteht, um es besser zu schützen.
Handyhülle
Sep 2025Mega-Tic-Tac-Toe
Ein bekanntes Spielprinzip verschärft durch mehr Auswahloptionen.
Das Spielfeld besteht aus einem großen 3×3-Tic-Tac-Toe-Feld. In jedem der neun Bereiche ist ein
eigenes kleines Tic-Tac-Toe. Man setzt dann sein Symbol in einem der kleinen Felder. Hat man in
einem der kleinen Bereiche gewonnen, setzt man sein Symbol im großen Bereich an diese Stelle.
Verschärft wird es dadurch, dass, wenn Spieler 1 in einem kleinen Bereich zum Beispiel unten links
setzt, der Gegner im Spielfeld unten links des großen Rasters weiterspielt. Ist der Bereich im
großen Feld bereits entschieden, kann sich der Spieler im gesamten Feld aussuchen, wo er setzen
möchte.
Dazu gibt es eine Übersetzung auf Englisch, verschiedene Hintergründe und einen Computergegner auf
Basis einer Heatmap und eines Entscheidungsbaums.
Spielbeginn: Grün setzt oben rechts, Rot setzt im großen Feld oben rechts
Kann Rot noch gewinnen?
Ein Projekt für einen einzelnen freien Tag, das dann doch länger gebraucht hat.
Die Idee ist, mit einem Ultraschall-Distanzsensor eine Entfernung zu messen und dann über einen
Lautsprecher den Ton abzuspielen, dessen Wellenlänge der Distanz zum Objekt entspricht. Wird
also
ein Objekt in 1 m Entfernung gemessen, rechnet der
Mikrocontroller: v(Schallgeschwindigkeit) / l(Entfernung) = f(Frequenz) 343 m/s / 1 m = 343 Hz.
Ein einigermaßen tiefer Ton. Prinzipiell kann man Entfernungen zwischen etwa 2 cm und 20 m
auf
diese Weise auditiv wahrnehmen.
In diesem Gerät steckt ein Arduino Uno, ein Lasermodul, ein Ultraschallsensor, ein Kippschalter
und ein Lautsprecher aus einem defekten Fernseher.
Silberner Ultraschallsensor und goldener Laser zum Zielen
Feb 2025 – Jul 2025Avoid bad robots
Anhand eines Buchs habe ich die Techniken der Spieleentwicklung in Godot angewendet, um das Spiel
Avoid bad robots zu programmieren. Es ist ein simples Spiel, bei dem böse, rote Roboter von
außen
durch den Bildschirm wandern, die man nicht berühren darf. Punkte bekommt man, indem man ihnen
möglichst lange ausweicht und sie mit einem Angriff rammt.
Da das Spiel geschützte Inhalte enthält, kann ich es hier nicht veröffentlichen.
Bedroht von bösen Robotern und weit vom Highscore entfernt
Sep 2024 – Jul 2025Energiesparende Filamentwaage
Wenn ich mit meinem 3D-Drucker Modelle drucke, muss ich wissen, wie viel Filament noch auf der
Rolle ist. Das Filament bleibt auf der Waage stehen und ich möchte zu jeder Zeit spontan ohne
Aufwand wissen, wie viel Filament noch da ist. Die Waage muss also permanent an sein. Sie soll
energiesparend sein und nicht permanent leuchten und kann deshalb kein Display benutzen.
Stattdessen
wiegt sie alle 5 min und stellt dann analog mittels Servomotor einen Zeiger auf das
entsprechende
Gewicht ein. In der Zwischenzeit wird alle Peripherie abgeschaltet und Strom gespart. Der
Stromverbrauch ist kleiner als mit einem Stromzähler messbar.
Waage mit FilamentrolleSkala der Waage
Jul 2024Prototyp eines Fischfang-Simulators
Erster Versuch einer Spieleentwicklung. Hier war der Wunsch, ein Spiel zu entwickeln, größer als
der
Plan, wie es umzusetzen ist. Daher ist es leider bei einem Prototyp geblieben.
Es gab allerdings schon Wellen, eine Animation für den Fischer, seine Angel zu werfen, und er
konnte
auf- und abfahren.
Fischer an seinem Steg
Jun 2024 – Jan 2025Erste "CAD"-Erfahrung
Modelle, gebaut mit dem Web-3D-Editor Figuro, aus Quadern, Kugeln, Zylindern und booleschen Operatoren.
Figuro ist zwar sehr einsteigerfreundlich, die Positionierung der Würfel muss jedoch berechnet werden.
Die Position der hellen Leiste am blauen Deckel wird berechnet, indem man die Breite der ersten Kiste + der Abstand für die
y-Achse (blau) und die Länge des Deckels - die Dicke des Stabs für die x-Achse (rot) wählt. Das wird für aufwändigere Modelle schnell
richtig kompliziert. Ein Hoch auf parametrische CAD-Tools!
Für das Modul Darstellende Geometrie habe ich mir die Formen, die gezeichnet werden sollten, erstellt und mit meinem 3D-Drucker gedruckt. Darüber hinaus habe ich das Gehäuse meiner Waage und eine Kiste
für Spielkarten erstellt.
Eine Kartenkiste aus 19 Quadern
Jun 2024 – Aug 2026Roboterarmunterstützte Topfpflanzenbewässerung
Die für mich beste praktische Anwendung für C++ nach einem Primzahlrechner und Taschenrechner
habe
ich in der Steuerung von Mikrocontrollern gefunden. Da hat sich ein 5-DOF-DIY-Billig-Roboterarm
angeboten. Eigentlich sollte der meinen Kaffee umrühren, er war allerdings zu schwach einen
Löffel
zu halten. Ich habe ihn dann umgebaut, zusätzlich zum 5-V-Schaltkreis einen 12-V-Schaltkreis für
die
Wasserpumpe installiert, eine Echtzeituhr und die Schlauchleitungen angebracht. Der Roboterarm
fährt
jetzt täglich meine Topfpflanzen ab und wässert sie. Bisher ist die Steuerung anhand der
Winkel
der Servos geregelt. Der nächste Schritt wäre, die inverse Kinematik zu programmieren.
Vielleicht in
Zukunft, never change a running Bewässerungsroboter.
Roboterarm in BasisausstattungRoboterarm mit Wasserpumpe in Aktion
2018Erste Erfahrungen mit C++
Nach der Ausbildung habe ich mit einer App C++ programmieren gelernt.
Zunächst habe ich versucht einen Taschenrechner zu programmieren. Mein Anspruch war allerdings,
dass
der Rechner auch kompliziertere Rechenvorgänge wie 1/(-2/(-3/(-4+4))) beherrscht.
Das
hat allerdings meine Fähigkeiten bei Weitem überstiegen.
Stattdessen habe ich einen Primzahlrechner gebaut und dessen Berechnungsmethodik immer weiter
optimiert.
Primzahltest:
Teilen durch jede Zahl bis zur Zahl selbst
Teilen durch jede Zahl bis zur Hälfte der Zahl selbst
Teilen durch ungerade Zahlen bis zur Zahl selbst
Teilen durch alle zuvor gefundenen Primzahlen bis zur Hälfte der Zahl selbst
Verbesserung des Codes zur Teilbarkeit der Zahl
Leider habe ich den Quellcode nicht mehr gefunden, sonst hätte ich ihn in einem späteren Projekt
verwendet.