Post

The Oscilloscope I Never Bought

The origin story behind my oscilloscope project and the journey that eventually led to building ComposeUI.

The Oscilloscope I Never Bought

Some tools you buy. Some tools you build.

Desktop View In my twenties, while studying computer science at my local community college, I worked at the U.S. Army’s Electronic Proving Grounds on Fort Huachuca in Arizona, performing environmental and electromagnetic compliance testing on military systems. Many days were spent automating measurement devices, amplifiers, and signal generators in the control rooms of anechoic chambers, or setting up equipment beside temperature and vibration chambers.

Of all the tools I worked with, the oscilloscope was my favorite — not because it was simple or friendly, but because it demanded real understanding. It is easy to misconfigure, easy to misread, and perfectly capable of giving you answers that make no sense unless you understand the underlying network and the measurement system itself. It can reveal the behavior of a system, but only if you approach it with precision, curiosity, and a solid mental model.

Naturally, I started looking at buying one of my own, but they were expensive, and keeping a used scope calibrated would have been its own project. So, the idea of buying commercial off the shelf really lost its luster quickly. And once the “just buy one” path closed, the more interesting question surfaced: why not just build one?

I had tinkered with Arduinos for years, so when the idea of building my own oscilloscope crossed my mind, I already had boards lying around. I figured I would start with the presentation layer because it was the one domain I firmly understood, and in my mind, it lived as its own subsystem — it did not need to know anything about sampling or buffering, that is a separate subsystem.

So, I picked up an Adafruit HX8357D display and got to work. I wired everything up, ran the Adafruit examples, and experimented with driving the display with Arduino sketch. It was early, exploratory work — just getting a feel for the domain. But life got in the way, as it tends to do, and the project drifted onto the back burner.

Years later, after moving through a couple of organizations, I made the deliberate decision to step away from formal employment to remove the boundaries that were limiting my technical breadth. I chose to work independently so I could take on projects that demanded deeper architectural thinking and fluency across multiple languages. I began with the obvious choice: building the oscilloscope I never bought. What followed were hard lessons in embedded constraints, C++, and UI architecture.

This post is licensed under CC BY 4.0 by the author.