“Oscilloscope”

It may be a stretch to call this an oscilloscope, but I’m just going to leave it at that. I think I built this during the summer after my first year of college, which puts this back in the pre-Arduino Stone Ages of circa 1990. As I recall, I saw a “Solid State Scope” project in an electronics magazine and decided to build an adaptation of it to “save” money on test equipment. A basic 20 MHz two channel analog scope was $400 back then, which I just couldn’t justify. Instead, I learned a lot and got a mediocre piece of test equipment. Then again, every techie who has ever seen it always wants to open it up and see how it works.

Regarding the circuit, I believe I did stick pretty close to the schematic in the magazine, so I can’t take credit for the overall design, though I’ll explain the basics of how it works. At the time, it was a really clever idea.

This project was well before cheap dot matrix LCDs, SPI-based RGB LED matrix boards, Arduinos, and Raspberry Pi’s, so the starting point was quite a bit different from today. Also, no cheap JLCPCB quick turn PCBs or free EE CAD tools, so I built it with point to point wiring and wire wrap. I had etched some boards at that point, but really wasn’t in the mood for the mess at the time. Wire wrapping all those connections for the 10×10 LED matrix is a part of the project I can’t forget. Why didn’t I just buy some 5×7 LED matrix displays? Jameco was definitely selling them back then. Hmmm.

Looking at the inside after all these years makes me cringe at the masking tape and crowded gobs of wire wrap wire with no strain relief. Nowadays, even for a hobby project, this would be custom PCBs for me, no doubt. DipTrace and JLCPCB are my go-to’s for quick hobby projects. Fast, cheap, and – even for moderate spacing four layer PCBs – pretty good.

OK, back to how it works. The clever solution was to use an LM3914 bargraph display chip at its core and surround it with a handful of ICs, mostly CMOS digital logic ICs and one linear. The LM3914 takes in an analog voltage and lights one of ten LEDs in either bargraph or dot mode. Dot mode only lights the LED corresponding to the present input voltage, while bargraph mode also lights all the LEDs below it. Dot mode was therefore perfect for this application. This IC was a great starting point, was readily available and cheap, but was really only intended for displaying a single measurement, so far.

In order to make a 2D graph of a waveform, you need to add time to the equation. The approach begins with no longer having the LM3914 drive just 10 LEDs. Instead, it drives the 10 row connections of a 10×10 matrix of LEDs. The columns then are driven by a decade counter with a variable input frequency. Feeding the time-varying input voltage into the LM3914 analog input as the decade counter sweeps through the columns draws the waveform on the LED matrix versus time. Voila, a scope.

Add a variable frequency oscillator to drive the decade counter and you can control the horizontal sweep frequency. A few op-amps to offset and scale the input voltage before sending it to the LM3914, and you can adjust the vertical position and V/div scaling.

Triggering was also performed with a comparator and flip-flop circuit to implement Triggered and Free-Running modes. Clever and simple. Have to hand it to whoever wrote the original magazine article back then.

Looking at the insides of my incarnation after all these years, shows the following ICs:

LM3914Bargraph IC for driving LED rows
4013CMOS dual D flip flop for triggering
TL084JFET op amp for bias and scaling of input voltage
4046CMOS PLL for generating horizontal sweep frequency
4017CMOS decade counter for driving LED columns

There are also a couple wire wrap DIP sockets full of R’s and C’s. Most of the R’s are for the various op-amp gains to control the vertical V/div. If you look closely, you can find a zener diode (just to the left of a ceramic disk cap) which generates the voltage reference for the LM3914. The ceramic disk caps in the upper corner are individually connected to the 4046 PLL via a rotary switch (perhaps not a great idea) to select the horizontal sweep frequency.

Two 9V batteries provide the luxury of a bipolar power supply simplifying all the op-amp circuitry. Additional potentiometers set the trigger threshold, the vertical offset, and “detuning” of the sweep frequency to shrink/expand waveforms on the “screen”. A DPDT switch even allows selecting AC or DC coupling as well as GND.

I can’t say that I got a ton of debugging use out of this, and definitely spent more time building it than using it. However, it was a pretty involved project at that time in my pre-career and I didn’t really realize how much I was actually learning. Hobbyist electronics are a great gateway into a career and I highly recommend it. Build stuff. Fail. Understand why it broke. Repeat. No better way to learn and kickstart your future.

In my early days at Segway, I brought the “scope” in to work for amusement and a coworker made sure to add the label “Not in cal program”. I can only imagine what QA would have done had they seen it on my bench.


UPDATE 12/20: Removed the batteries (how did they not leak?) and fired it up with bench power supplies. Still works even after a few decades. Looks like a sine wave to me!