Electronics
Electronics and Microcontrollers
Hardware, firmware and Web UIs I built when off-the-shelf tools were not enough.
I was fascinated early on by the idea of a computer effecting some sort of change in the real world.
At 16 I built an 8-channel relay controller from scratch (transistors, opto-couplers, relays…) in order to control lights and devices in my room. Moreover, I connected it to a computer via the (then common) parallel port, and networked it by writing a server and a Windows client using Borland Delphi (a Pascal dialect supporting graphical interfaces) to which I was introduced by my uncle.

The relay controller is in the case at the top left (this was a later, second version; unlike the original one, it was portable). The full tower on the right was our family's Linux server, running SuSE, and providing file services, printing and shared internet. (Picture from 2002)
Much later - again inspired by my uncle - I started playing with microcontrollers, specifically the Espressif models ESP8266 and ESP32. I found them fascinating because they were sub $10 and supported many GPIOs as well as a full TCP/IP stack. They allowed building networked gadgets without wiring them to a full-fledged desktop computer (or even a Raspberry Pi).
Projects for Production Work
As relay controllers began to be sold for cheap on single chips, combining them with ESPs became a quick, cheap and effective way to add automation to production systems I was working with. For example I built a controller that sequenced the startup and shutdown of the PA system in Tenth Church’s main venue. On startup, it first turned on the soundboard and processing units and once those were booted up it powered the amplifiers, one after another. For shutdown this was reversed and it was all controllable via a web interface.
When a broadcast system was installed at Tenth, we suddenly needed reference time to be easily available throughout the building. I ended up building a number of networked hardware clocks with ESPs that were synchronized from a central timeserver running on a Raspberry Pi.
Synchronized timekeeping — overview and making-of
Reference clocks throughout the venue. Designed and built for Tenth Church.
Then our camera ops needed tally support and I found out that I could build a unit that would talk to the video switcher and then drive physical (and virtual) tally lights.
Software tally for Ross Carbonite (Part 1)
A custom tally solution, tied to the switcher. Built for Tenth Church.
Physical tally lights, ESP32 (Part 2)
The hardware side of the same system.
Projects at Home
A noteworthy personal project was a smart mailbox that could receive parcels and lock itself once a payload was deposited, then notify me via email.
JoWe’s ESP32 Mailbox
This video helped land my job at 14 Oranges Software, according to the CEO.
A more recent project was a replacement for the hardware thermostat controlling our furnace at home: its hysteresis was too shallow for my liking, resulting in short-cycling in the winter. I wanted to be able to use a custom hysteresis and also make decisions based on factors like a spatial temperature average (sensors in multiple rooms), the weather forecast and whether or not the woodstove was being used, rather than switching the furnace based on measurements from one place only.