Photo by Harrison Broadbent / Unsplash

Where it all began

Home Lab Jul 29, 2025

My love affair with with Single Board Computers (SBCs) started with my undergraduate thesis. The task was to create a 3D scanner using low cost components (3D printers were just hitting the mainstream) and I was given a BeagleBone Black with which to do the processing. I was amazed at the size - an entire computer that fit on my palm.

I wired it up to a stepper motor that drove a rotating platform, a line laser and a webcam. Throw in some hand soldered drive electronics and a little bit of C and I was spitting out point clouds in no time.

A 3D Scanner made from low cost components
It was messy, but it worked!

My next foray into SBCs came a year later when some university friends asked for help with a startup they were launching called PulseCheck. They were making IoT cameras for restaurants and bars and had built a platform for embedding the feed on to the venue's website. My role was manufacture - taking dummy camera shells from China and stuffing a Raspberry Pi, camera module, USB hub and broken open 5V power supply in the tiny space. I didn't touch the code, I remember seeing my friends wrestling with SSL certificates (before LetsEncrypt freed the world) and being glad that wasn't my job.

The shell of a camera with electronics inside
Raspberry Pis are small, but that looks... tight

But soon it would be, when later that year someone finally paid me to play with a Raspberry Pi. The company I worked for had a maintenance contract with a supplier to the Mercedes Benz factory in South Africa. They were looking for a way to stop the wrong rivets from being put into the wrong hopper. We came up with a solution that involved a barcode scanner, a magnetic lock and a Raspberry Pi. To program the barcodes we needed an admin interface. My first introduction into web development - hand coded HTML with inline JS and the ugliest interface you have ever seen. But in many ways, it was the beginning of the rest of my life.

Since then I have used Raspberry Pis constantly, both personally and professionally. A brief list:

  • XBMC (now Kodi) to watch my linux ISO collection on my TV
    • Controlled using my TV remote with a DIY IR receiver 🤯
  • My 6 year startup journey automatically pouring beer (a story for another series of posts)
  • Multiple web-servers for home automation
    • Counting pulses from an ESP sensing LED flashes from my electricity meter and hosting the analytics graphs
    • Sensing my doorbell ringing and sending me a telegram when it did
    • Watching my parents' garage through a camera to see whether I had left it open and sending me a telegram when it opened and closed
  • A web-sockets based web-app to track the goals and assists for my weekly 5-a-side football game, with leaderboards and realtime updates
  • An accounting platform for a startup, supporting automatic payouts and invoice generation
  • Home-Assistant

Suffice to say, I am a fan. But all good things must come to an end, and in 2025 I finally ran out of storage on my Google account and had to buy a 100GB subscription. The cost is reasonable, but at that moment I realised that I would need to pay Google every month of my life until I die. This couldn't stand.

Enter Immich, the self-hosted Google Photos replacement that would free me from a lifetime of monthly payments. But alas, forum posts said that the Raspberry Pi was a little underpowered for the task. So, facing a mounting pile of loose Raspberry Pis on my shelf and loath to add another, I decided it was time to get serious. It was time to HomeLab.

I bought myself an Intel N150 based miniPC which, dear reader, you are reading this on right now. How did I get to this point? What am I going to do with it next? Follow along to find out!

Tags