A Year Of Small-Scale Undertakings - What I Worked On In 2022

After twelve years as a startup CTO, I set 2022 to be a year for pursuing projects with principles that were the polar opposite of the Silicon Valley ethos. I would spend my work time on a variety of projects that had no commercial potential, no ambitions for large-scale or widespread usage, and no supposed economic or technologcial utility. But they would be ambitious in another way - to realise a single good idea, to create a small amount of beauty, to uniquely serve one person or one family.

I also assigned myself two self-discipline tasks for the year: to practice Bach piano pieces for thirty minutes every day, and to write at least five-hundred words per day on any topic I chose.

In typically over-optimistic fashion I thought that, with twelve months in the year, I might complete twelve projects. In the end I completed somewhere between three and five-and-a-half, depending on how you count.

Just three weeks into the year I had to change plans. We traveled from our home on the northern California coast to England on short notice to visit my mum, who was very sick in hospital. She called me to let me know we should come at about 9.30am on a Wednesday morning in late January, and we (my wife and I with our then three-year old daughter and one-year-old son) were on the road to the airport by 3pm that afternoon. We arrived at our destination in wintery northern England at about 6.30am local time on the Friday morning.

We stayed for six weeks. Mum recovered a little, and we stayed thoughout her time in hospital and then to help her to get comfortable at home again. After returning to California we decided we should plan to make another six-week long visit in early summer, to take advantage our our ability to spend as much time with mum as we could while we could. Sadly, she didn't quite make it through to that visit. She died just a few days before we were due to leave, and so that trip was taken up with the funeral and the bittersweet duty of sorting through her house full of memories over the following weeks.

In all we spent three months in England over the first seven-and-a-half months of the year, during which time all plans for projects and tasks were naturally put aside. But this undertaking, of simply being there with family, and being able to be there with family, turned out the be the best manifestation of the principles I'd set to myself to pursue for the year.

When I did pick things up again, in between and after those trips, here's what I completed:

An E-Ink Picture Frame

This idea was to see if I could build an electronic photo frame that we could just hang on the wall. No power cables leading to it, no plastic case, just a simple item hanging there like an ordinary wooden picture frame - but with the picture changing from time to time.

To accomplish this, the screen could only be an e-ink screen, taking no power to maintain the image between updates. I was pleasantly surprised to discover that there are some hobbyist colour e-ink screens on the market. They have a very limited palette - only seven colors, two of which are black and white. This is not enough for most photographs (they end up looking like washed-out newspaper prints). But it lends itself perfectly to artwork, particularly stylized artwork like iconography.


Displaying a picure of an icon of St. Luke. Our daughter was born in St Luke's Hospital in San Francisco.


Picture changed to an icon of St. Joseph. Our son was born in a hospital on St Joseph's Avenue in San Francisco.

The entire system consists of the Waveshare 5.65inch E-Ink 600×448 Pixels Display, a Raspberry Pi Pico, an SD card and SD card breakout board, and a 3xAA battery holder with rechargable batteries. I'll link to the code here once I've posted it. Here's what the reverse side looks like:

I made the frame from some old pieces of walnut using simple hand tools. It is satisfying and humbling to both write code and work with wood for the same project. The contrast in the styles of work is marked. Writing code is rapid iteration, rapid progress, try things and make mistakes. Crafting wood is slow, precise, requires careful planning, and is prone to physical injury and ruinous mistakes. It was good and humbling to be reminded of just how much richer and deeper the real, phyical world is than the world of code.

In the finished piece the picture changes every two hours and the batteries last about two-to-three weeks between recharges. That time could easily be doubled by removing a single unecessary LED on the SD card board. It could be doubled again by using denser and larger batteries - there's enough space in the back to at least double the capacity. The time between recharges could probably be brought up to two months quite easily, and much longer if I used a lower-power microcontroller. I will do that at some point.

Three-letter Wordle For Kids

We don't give much screen time to our four-year-old girl, but she and I do now spend a delightful five minutes together most days on this three-letter wordle-style game that I built. It took two or three days of work, and I didn't even register a proper domain name for it. In the technical and economic dimensions, this was indeed a small undertaking. But it really hit its mark in the other, more important, dimensions.

Monitoring The Water Depth In Our Well

See the full write-up on this project here. I built a system to automaticaly measure and record the amount of water in our well (from which we get our household water, and which is in danger of running dry each year after the many rainless months of summer and autumn). This was the most time-consuming project, simply because of the number of iterations it took to get the hardware side of things working outside in the garden and at the bottom of the 20ft well.

The microcontroller code is on Github and the data-collection endpoint code is there too.

ourfather.one and nicenecreed.one

Step through the Lord's Prayer or the Nicene Creed a few words at a time, meditating on the meaning. I gave these their own unique domain names so that they're only a few keypresses away whenever I'm on my phone or laptop.

Sunrise/Sunset-triggered Garden Lights

We have some outdoor lights strung up in our front garden - Chrstimas decorations that ended up staying up all year. My wife wanted to be able to turn them on and off from inside the house, and I wanted them to come on and off in synchrony with sunrise and sunset throughout the year. A perfect opportunity to realise a simple idea, add a little bit of enchantment to the neighbourhood, and practice my soldering skills.


Lights on in the big tree in the early evening.


And a different angle after dusk. I currently have them set to come on one hour before sunset, stay on for five hours after sunset, come on again one hour before sunrise, and stay on for an hour after sunrise.

This was made using a Raspberry Pi Pico W (running a simple webserver available to the home WiFi network), a relay, and a 110V AC to 5V DC transformer, all packed inside an outdoor electrical box. I cut an outdoor extention cable in two, one half coming out of each end of the box housing the hardware, to serve as the power supply for both the electronics and the garden lights.

I connect to the device via a simple web interface on my phone, from where I can set the lights to be on or off, configure the sunrise/sunset before/after delays, or set the lights on a timer. I'll add a link to the code on Github once I've posted it there.

An Unfinished Build - A Simple Audibook and Music Player for the Kids

As the kids get older I'd like for them to be able to put on audiobooks or play music on their own without having to use a phone or other device to do so. The idea I settled on was to have a stack of cards with RFID stickers on them. They can read the titles on the cards and slot one into the player, which will then read the RFID and play the corresponding track.

This one is all finished except for the casing, which I want to be hand-crafted out of wood. That task is, however, taxing my current level of woodworking skills! The rest of the hardware and software are ready and working. I'll post a write up of this one separately once it's completed.

Self-discipline Tasks

Piano practice: I learned to play the first 15 pieces in "First Lessons In Bach" reasonably well. I ended up completing my thirty minutes on 189 days. The trips to England, other short trips with the family, a bout of Covid which took me down for three weeks, a few other brief illnesses, and eventually allowing myself weekends off all added up to almost half the year missed!

Writing: I wrote pieces of more than 500 words on 184 days in the year, writing a total of 134,781 words. Of those, I think perhaps two or three might even be worth turning into real articles or essays...

Bonus 2023 project

In Janunary 2023 I have taken on one more charming and instructive little project. In 2006, as a way to learn Ruby on Rails, I wrote a simple blog engine based around the Atom Publishing Protocol. Almost seventeen years later I tracked down the code on my laptop and took on the task of upgrading it from Rails 1 to Rails 7. That in itself was interesting, but the more interesting lesson was comparing the code I wrote then to the code I would write now. That's the bigger upgrade task here! This post is served by that software. I'll post the code on Github at some point soon and link to it here.

Many of these projects took much longer than I would have expected before tackling them, but in the end I'm glad I undertook every one of them. I feel that each fullfilled the spirit of the year in a different way. Of particular joy were the microcontroller projects, which were an unexpected outlet for creativity (I didn't know a single thing about them before the beginning of the year). They truly represent the opposite of my social network startup software experience - the code being written for the tinyest-scale hardware, fully self-contained, and with only a single purpose and a few (or no!) users in mind.

Ben Lund
Published on Tue Jan 31st 2023 at 22:29 and last updated on Wed Feb 8th 2023 at 10:33