2023 Review

December 2023

After reading Thea Flowers’ year-in-review post, I decided to shamelessly steal the idea and do a similar one. Akin to a skill index, the things you’ve done in a year are hard to hold in your brain in their entirety, so writing them all down can be helpful for context.


In many ways, 2023 was a year of staying the course. In late 2018 I decided to start a YouTube channel with the express end goal of starting a hardware company. 2019 was lots of videos, and no real traction. 2020 was LumenPnP development. 2021 was going full-time and prepping for launch. 2022 was shipping a machine and getting stable. 2023 was staying the course.

This year begain with a stable organization, sales, employees, and an office. We end the year similarly, but just, more. More sales, more employees, more products. After four years of constantly shifting, having a more consistent existance has been wonderful, particularly for taking some larger swings and knowing the things we’ve done to stabilize are there to catch us. The more stability you have for the basics, the bigger risks you can take.


A lot of this year was just focusing on shipping. It takes a tremendous amount of effort to “compile” a hardware product, so a lot of my time this year was spent on improving that process.

On March 31st, we launched the LumenPnP 8mm Feeder. These were truly the make-or-break point for the LumenPnP project. A pick and place really shines with automatic part feeding, and how well that works defines a large percentage of the machine’s user experience. A bad feeder solution can easily disqualify the machine for many users; we had to nail it.

And the feeder isn’t simple! The LumenPnP relies on many proven ideas about linear motion, so validation was simple and straightforward. The feeder is doing a number of more unique things that required thorough testing before contact with a customer: printed gears, a custom protocol, cable-free connectivity, etc. We did a number of things to ensure we caught any weird bugs or mistakes before shipping:

Lifetime and Validation Testing - Sporting no fewer than three 3D printed gears, wear was definitely a concern. We ran hours of lifetime tests, feeding over a quarter million cycles uninterrupted on many units.

Feeder liftetime jig with infinite loops of tape and film

We also developed a jig that instructs the feeder to feed with empty tape, and performs machine vision to ensure the accuracy is within spec. The feeder has to do what we say it will, and for a long period of time.

Beta Program - We shipped DVT units to high-use customers, and incorporated all notes of feedback into the PVT run. This feedback also heavily informed our documentation about setup and usage of the feeders.

Launch went spectacularly, and reception has been great. We even tried hiring a professional production company for our launch video.

Shoot day

Dropping off the first batch feeders at UPS

The wonderful LumenPnP community has helped with an updated version of the feeder controller PCB, firmware tuning, and even hacking the slot interface to support other feeder types.

We have around 80 feeders in use on our own production line across four LumenPnPs, and they make it feel like a brand new machine.

A few months after 8mm Feeders launched, we introduced the 12mm Feeder. We’re still experimenting with 16mm and 24mm feeder solutions, particularly in regards to peeling thick adhesive film from the tape.

The 8mm and 12mm feeders, along with 16mm and 24mm prototypes

We also launched v3.1 of the LumenPnP, which has many DFM and user improvements, but mainly implements Thea Flowers’ linear rail mod, allowing the machine to move much faster.

I also spent a ton of time this year working on ads, mainly understanding how they work and what role they should play at Opulo. There’s a surprisingly large amount to learn and I was quickly humbled after diving into it.

Lastly, we started the OHM Podcast! Lucian and I have been sharing some of the things we’ve learned shipping an open hardware product in podcast form, as most of these topics aren’t good YouTube material. It’s been a blast recording, and it’s been interesting working on something on-mission that isn’t shipping a physical object.


Every year I hope for a calm, productive year in Pittsburgh, and every year I find myself traveling thousands of miles for various events. I already have three lined up for next year!

In late April, Jaden and I went to Neotropolis, a cyberpunk-themed immersive festival in the Mojave desert. It was a fully-fledged LARP event; you were obligated to be in costume throughout the festival, and were expected to be in character throughout as well. After a brief adjustment period, I fell into my alter ego and loved the experience.

stephen with RPG prop

Jaden brought her van and Vardo trailer along, which was an awesome look with the cyberpunk theme.

The Vardo next to MegaBlock1, a two-story city block the Neo team builds in the desert.

Vardo installed in our faction’s cell in MegaBlock1

Then, a four-day cross country trip back home.

In July was Open Sauce. Earlier in the year, William Osman reached out to me about attending a weird new event he was planning, supposedly a cross between VidCon and Maker Faire. And that was exactly what it was.

Adam Savage’s Keynote

I hacked a LumenPnP to draw portraits, and set it up at the event so passerby could simply press a button and have their visage plotted on the machine.

Meetng dozens of other creators that I deeply respect and having the opportunity to have extended conversations with them was definitely the highlight of the event for me.

Bunch of creators after going out for Thai food

Got to see Ryan from V1 Engineering, the Maslow team, and Chris from Sienci Labs

Packing up after the event

Lastly was Hackaday Supercon! I have given a talk there before, but this year it was really lovely not having that added stress and instead being able to just enjoy the event. The best part of Supercon is just hanging out with a bunch of intelligent, interesting people.

Maggie, Myself, and Thea Finally getting to meet the wonderful Maggie and Thea in person!

I also spent a week in Denver with LumenPnP developer Justin Nesselrotte, working on some feeder protocol updates and checking out Denhac.

Web Tooling

This year I became obsessed with little single-page web tools. Github Pages makes deploying a website so insanely simple that making a tiny web service is such a great, quick solution to a lot of problems.

The crown jewel of this year’s sites is definitely the LumenPnP Config Tool. Input the number of unique parts your SMT job has and the tape width they’re in, and the site will calculate the optimal configuration of powered and strip feeders, and even render the layout of the config in a 3D model. Figuring out how to optimize the feeder configuration was a great challenge, and I really enjoyed toying around with Three.js.

I also created a tool that tells you when a LumenPnP purchase pays for itself (still in progress), a site outlining tools for open source hardware (still in progress), and this website you’re on right now, along with personal sites for a number of friends.

Just recently I began work on a WebSerial based tool for configuring and debugging your LumenPnP, meant to aid in setup and troubleshooting. I’m also looking into ways of standardizing some of the tools I’ve developed for exporting and rendering the Bill of Materials for an open hardware project, and I think a little web viewer might be included.

Personal Projects

Despite the frequently overwhelming responsibilities of Opulo, I managed to squeeze in a couple projects just for fun.

This summer I designed and built Gradientbloom, an open source alternative to Spectrabloom, which is a simple array of red, green, and blue point-sources of light meant for cool color mixing visuals.

The original is just three LEDs on dimmers. My version has a microcontroller on board, and each of the three LEDs are fully RGB themselves, leaving a lot of room for cool animations and patterns. I designed it originally for my cousin, but ended up making a few more for friends and family.

I got (re)chipped this year! I had an xEM RFID tag implanted in 2014, then removed in 2019 to make way for this new one. Now sporting proper NFC, my xNT tag is readable and writable from my phone. Lots of projects in the pipeline next year using the chip!

Jaden and myself, freshly chipped!

I’ve also started work on a new open source project. My ATH-M50xBT2 headphones are wonderful, and have served me well for around 5 years of heavy, daily use. However, they are quite frankly beat to shit, and I’m about 5 repairs deep into them. I want headphones that are easier to fix, and without having to rely on Audio Techinca for replacement parts.

The PheadHones (I love Spoonerisms, I know it’s a stupid name, dont @ me) are fully open, over-the ear, Bluetooth headphones with support for wired connections. Right now I’m just building them for myself, but they’ll be fully documented and are designed with the Opulo-ethos of easily accessible, off the shelf parts.


As Opulo grows and the stress of maintaining it increases, I’ve been learning some tough lessons about how to manage my time and sanity. My main focus is to keep stepping on the gas, so figuring out how to do that in a sustainable and reasonable way has been a core thought. There’s still a lot to do.

Render of Beta 0 of the next revision of the LumenPnP motherboard, being fabricated as I write this!

I’ve got a ton planned for this year. Lots of content around the details and thorny roadblocks with certifications, and getting back to making videos on a regular cadence. Plus, a new and exciting project that unfortunately I cannot yet share. Lots of cool stuff coming up this year, and I cannot wait to dive in!