An e-Paper based photo frame

Another one of my “lockdown projects” involves a 7.5 inch e-Paper display from Waveshare. Instead of your ordinary computer display, which bombards your eyes with light, e-Paper displays are more similar to paper. By making a pixel more or less reflective (using a technique known as ‘E-ink’), an e-Paper display …

Over-engineering an RGB LED strip controller: let’s write a custom programming language and instruction set

Digital RGB LED strips are strips of LED lights that can be controlled individually, which makes them really versatile for use in e.g. home automation. Throughout my home there are several strips, each adapting their hue to the current time of day and showing all sorts of information, such as …

Tyray: a ray tracer in Rust

Over the holidays I wrote a tiny ray tracer in Rust. A ray tracer is a program that renders a 3D image by simulating the way light travels between light sources and a camera. Advanced versions of ray tracing techniques are used to render 3D movies such as the famous …

Catena: SQL on a blockchain

A blockchain allows different entities share a database without having to entrust that database to a single entity. Catena provides an SQL database on top of a blockchain, providing all the benefits of blockchains (resiliency, distributed operation, openness) while providing a familiar interface to its users.

DHToT: storing IoT sensor data in the BitTorrent peer-to-peer network

The Internet of Things promises to connect virtually all devices and make sensor data ubiquitously available. Instead of storing all this data in a central location, you can use a peer-to-peer network to store sensor data. Using a peer-to-peer network has several advantages. First of all, the infrastructure is ‘free’ (although in …

Chartly: build data visualisations in the browsers using puzzle pieces

Chartly.js is a web component that allows end users to create (‘program’) a chart using the Blockly visual programming environment. Charts are ‘compiled’ to a JSON specification for the chart. At run time, Chartly interprets the JSON and draws the chart using d3.js. Chartly is open-source under the MIT license. …