Thomas' webjar full of joy

ILI9341 SPI TFT on the raspberry pi4


I've been running network services on embedded arm platforms for for more than 8 years now, and when things go wrong, had to drag around HDMI monitors to hook up. For the last years I had a pi connected to the serial console to avoid that.

I have been mounting all my networking and smarthome devices on a DIN rail, and I had some small 2.2" TFT displays around for a different project.

I thought it would be nice to create a raspberry pi enclosure that included such a display so there's a real video console on the device that can also be used as status display.


Din-rail mounted Home assistant gear

din rail mounted stuff

I have a technical wall with several pieces of electronics mounted onto it. It started to look a bit disorganized, with all these things mounted at random places on the wooden board and cables running all over the place.

So I wanted to clean it up a bit... I stubled upon a dinrail mount on thingiverse, and remembered I had a piece of DIN rail in a box. Time to remix a bit and mount everything on DIN rail!


Board stacks

raspberry pi stack prototype

At home and at work, I always tend to have around 5 small development boards on my desk. In a fixed setup with identical boards, metal or plastic standoffs can be a nice solution to build a stack that reduces the footprint on desk, and avoid a spiderweb of cables.

In reality, the boards are of different sizes, and standoffs still cost a few euro's each. I knew I could do better, using a 3d printer and some parametric CAD modeling.


Reviving my Standing stats project


I've been using an Ergotron standing desk for 6+ years now. After using it for a few years, I thought it would be nice to measure how much time I spend standing up versus sitting down in my chair.

Recently I noticed that I sit down 99% of the time when working from home. To revive my healthy habit of working upright part of the time, I decided to pick up this parked project of mine by re-printing the enclosure I made for this (on my own printer this time), and starting the software development on an ESP8266.


TV Console corner protector

from the side

During COVID19 lockdown, the kids were running around the living room a lot more, and a lot more reckless. Our TV console is covered with glass plates. These have chamfered corners (45 degree cut off), but still it's a hard, glass corner, and I could imagine painful or catastrophic injuries and trips to the ER.

I decided to create a quick and dirty cover that, once installed, would provide safer plastic, rounded corners.


DIY extension block

from the side

During COVID19 lockdown, I found myself struggling with cheap extension blocks, in fact I find most extension blocks horrible, and most power supply blocks can't fit next to each other.

I still had three brand new, wall sockets left over from electricity renovations (I opted to place earth wire so installed appropriate sockets). These are Niko brand, the finest EU/BE sockets available, and are lovely to use in every way possible. I already considered making larger extension blocks this way.


Mutually Exclusive Media Players in Home Assistant

hass rpi mpd

I have Raspberry Pi's in different rooms, and one thing I use them for is to play music to speakers.

Each of them has two music player services on it (MPD, Spotify), and it's a bit annoying that I have to stop a player when I want to listen to the other one.

Since I'm running home assistant as an automation hub, I wrote two short automations that stop the already playing service when the second one kicks in.



Hello there, and welcome to my website!

After more than 10 years of no updates, I felt the itch to write about my makes and hacks once again. I dated all my old content with timestamps, and configured Pelican to render the existing content written in RestructuredText. My website was …


Home Assistant Touch Screen

Touch display on the wall

My 2017 christmas present was a voucher for the local electronics shop. I spent it on an 'official 7" raspberry pi touch screen display', which is a nice capacitive touchscreen that you can hook up to a raspberry pi.

I 3d-printed an enclosure from thingiverse for it, and fitted an RGB LED string around the edges as an extra.

Initially I created an AppDaemon HAdashboard config to control my Home Assistant instance with it.


Heat Canon (Salamander heater) controller repair

development setup

In the winter of 2016, someone gave me a controller board for a heater. The heater is pretty scary, it burns fuel and blows exhaust and hot air out of what looks like a canon. It has some interesting mechatronics; a fuel valve, an ignition coil, and a fan. It has a flame detection sensor input as well, as a safety feature. I suceeded at reparing the board, but had to write the controller software from scratch.


DIY Automatic condensation water pump

Installed device

In 2015 we moved into our house, which had a condensing gas boiler. When the previous owners installed it, they never installed a drain pipe for the bucket of water that it produces each week. Instead there was... a bucket. I quickly grew tired of emptying the bucket. With no obvious way to direct the water except over the ceiling, I needed a device that would pump the water. This sounded like a fun DIY project, so I ordered some float switches and a 12DC membrane pump, then got busy and soldered a simple set/reset controler with... Guess which old-school IC...


Atmel AT91RM9200 Linux DMX Driver


As final project to earn my Professional Bachelor degree in the field of Electronics - ICT, I developed embedded software. The goal was to create a custom, Linux based software application that acts as an 'Art-Net node'.

After a few months of work, I was able to present a working system …


Debugging the free_ecb_at91 board using JTAG

source: wikipedia

For a school project early 2007 (a study of embedded Linux on the AT91RM9200 ARM9 processor) I got familiar with the GNU development tools and setup required to run a Linux based operating system.

Using the setup described here I was able to inspect the inner workings of Darrell loader in real time, set hardware breakpoints, step through the program flow and inspect values of program variables while the CPU core was halted.


Ancient VB6 stuff

jcs screenshot

Visual basic is an easy programming language for the windows platform. I've spend some creativity with it years ago, and the result is a bunch of half-finished programs. I started creating stuff with VB6 out of interest when I was a kid. I didn't have any literature on programming or …


PenguinPages Preprocessor

screenshot of old website

When I started maintaining a personal website years ago, I kept all content in static HTML files which I uploaded. The webhost didn't support server side scripting and for a while I used a JavaScript to provide a navigation menu.

The JavaScript menu fixed just that, navigation. Devising a publishing …


Next → Page 1 of 2