Electronic – Building a hobbyist oscilloscope


I have a project that I've been thinking about for a little while, and I've come to the realization that at some point during its development, I'm going to need an oscilloscope. Okay, not a problem.

Instead of purchasing an oscilloscope, I've decided that I'd like to — at the very least — design my own, and hopefully build the result. To make things simpler, I'm thinking about using a Raspberry Pi to do all the fun calculations and visualizations (I don't feel like implementing the FFT on an AVR, thank you very much).

The more I read about oscilloscopes, the more confused I am, to be honest. Why isn't an oscilloscope just an ADC? If I were to hook up something like this (with appropriate over-voltage protection and pre-amplification) to a circuit on one end, and an appropriately-programmed CPU on the other, wouldn't that be an oscilloscope?

[In the past I've only worked with simple digital circuits — I'm mainly a theoretical computer scientist! — and so I'm trying to wrap my head around analog electronics right now. As such, I apologize if the answer to this is extremely obvious…]

Best Answer

At it's heart, a (digital) oscilloscope is just an ADC, along with some memory to hold the samples. The samples are then read out of the memory and displayed.

The practical implementation issues make commercial oscilloscopes complicated. The input signal needs to be scaled appropriately for the range of the ADC, which means that you need to have attenuators and/or amplifiers that have very precise gain values that are very flat across a huge range of frequencies (DC to 10s or 100s of MHz at a minimum) in order to measure waveforms with minimal distortion.

Also, depending on the application, the sample rate of the ADC needs to be adjusted (very precisely) over a wide dynamic range — 1 ns/sample to 1 s/sample (9 orders of magnitude) would be typical.

Then there's the question of knowing when to start — or more importantly, stop — sampling; this is known as triggering. Different applications have different needs for triggering, and commercial 'scopes have a wide selection to accomodate them.