Oscilloscope Project

Project Description

The goal of this project is to create a working oscilloscope. If you’ve looked at my about page, you know that I’ve made an oscilloscope (of sorts) for a school project some years back. I want to go back to that and make some improvements and cost optimizations. I’d like to document it as well as I can on this website in case any of my readers are interested in following in my footsteps. In addition, I’d like this project to be usable for some basic circuit debug (more on this later) and I’d also like to build an enclosure for it to make it easier to use.

An oscilloscope is an essential debug tool – there’s only so much you can do with a very low frequency voltage measurement tool such as a multimeter, regardless of what discipline you’re talking about. Here’s a few examples of limitations (whatever came to my head first – keep in mind there’s a lot of other parameters that need to be measured):

  • For debugging analog circuits, you’ll likely need to measure step responses, bandwidth, distortion, and overshoot/undershoot
  • For debugging power supplies, you’ll also need to measure overshoot/undershoot, load transients, and power-up behavior
  • For debugging digital circuits, you’ll likely need to look at signal integrity – overshoot, “shelves”, non-monotonic behavior, and rise/fall times. Relative timing measurements between two (or more) signals are very important here, too!

Check back soon for some example pictures of the above parameters!

So if an oscilloscope is such an essential debugging tool, why not just buy one? It’s a good question – you can probably trust anything you find online more than something that you’d build yourself. If you’re like me and work on electronics for fun, it’s a no-brainer – you know what features you need, you look for good deals on a used scope, and you buy it! The problem is that, unless you get something that you’re going to outgrow very, very quickly (a nicer way of saying “wasting your money”), buying an oscilloscope (even a used, entry-level one) means making an investment of at least a couple hundred dollars just to get started on your journey to learn electronics. That, I imagine, is very off-putting to someone that’s just trying to figure out if this hobby (or career) is for them. Compare that to someone who already has a computer and wants to learn to code – there are so many free ways to do that!

I can’t make this process free, but by putting together a decent (going back to the above – something you won’t outgrow very quickly) oscilloscope kit, I can give you something to work on that will show you whether you like this hobby or not – a project that exposes you to elements from all the above disciplines to see what you like best. And if you do go through with it in its entirety, you’ll have a tool you can use for future projects until you do decide to move on that next stage and buy yourself an oscilloscope.

Now, hold on – how are we going to build this oscilloscope without having an oscilloscope to debug it? The secret is that we’ll start with an microcontroller evaluation board that has everything required to make one of those “kits that you’ll outgrow very quickly” kind of scopes, which we’ll then use to debug our better scope. Programmers aren’t the only ones who can use recursion in their favor! This board will be relatively cheap, it’ll teach us a lot of what we need for our final product, it will be extremely useful for us to develop our code, and eventually we’ll even use it as a programmer to interface between the computer and our custom board with the higher-end components required for our higher-end scope. I promise not to touch my “real” oscilloscope when debugging this project, so I’ll be the guinea pig for whether this method works or not. If it does not work out, there’s no shame in that – this is how we learn, right?

Check back soon for more updates on this page, including future posts as I make progress on this!