Internet of Things

Whenever an opportunity presents itself at home, I try to address the problem with a custom IoT solution. Electronics and soldering are still somewhat out of my comfort zone, therefore I'm usually glad when I can move over to programming.

Irrigation system 2017

Raspberry Pi

Problem: How should my chili plants survive our two months backpacking trip to Central America?

Alarm Clock Transformation 2019


Problem: My old LED alarm clock from the 1990ies stopped working.

Mailbox Notification 2020


Rain Gauge 2021


Problem: When do I need to water the garden? Online precipitation data is never precise enough.

Open Source Projects

OpenTTD March 2004 – February 2005

Lead Game Programmer C, C++

OpenTTD ( is a popular and complete open source clone of the business simulation Transport Tycoon. Starting out in C, the code was later migrated to C++ and ported to a variety of platforms, including Windows, GNU/Linux, Mac OS X, BSD and Solaris. Currently, the project contains over 200,000 physical source lines of code.

In my role as lead programmer I was responsible for:

ScummVM January 2005 – November 2005

Contributor C++

ScummVM ( is a game interpreter, recreating the game engines of classic adventure games such as Lucas Arts' "Monkey Island" or "Day of the Tentacle". I contributed to this project by fixing bugs and maintaining, compiling and updating binary packages for Linux.

Portable Consoles

OpenTTD for Nintendo DS December 2007

  C++, DevKit Pro

Creating a fully functional port of the transport simulation game OpenTTD for Nintendo's original DS console (NDS) was the aim of this project. My main intention was to optimize the game's graphics engine, memory management and UI for the unique capabilities of the NDS. The port is fully functional, including sound and a unique touch screen interface.
Challenges included:

Pong for Gameboy Advance and Nintendo DS March/October 2007

  C++, DevKit Advance, DevKit Pro

An implementation of the classic arcade game Pong for Nintendo's portable consoles. Initially I implemented this game for Gameboy Advance (GBA), and later ported it to the next generation Nintendo DS (NDS) console. Goals of these two projects included: