Hands-on - A digital oscilloscope
Let's build a simple digital oscilloscope.
- Single channel 100MHz/100MSPS (100 mega-samples-per-second)
- RS-232 based (we'll look into USB too)
- Inexpensive!
A simple digital oscilloscope recipe
Using parts from
KNJN.com, here are the basic items of our recipe (prices accurate as of this writing, Feb 2007).
- 1 x Pluto FPGA board, with TXDI and cable (item#1121, $39.95)
- 1 x Flash acquisition board (item#1200, $29.95)
- 1 x BNC (item#1250, $4.95)
- 1 x Nylon standoffs (item#1270, $0.95)
- 1 x Male/female connectors 2x8 (item#1275, $2.95)
That's about $78.75 so far.

We also need the following (these are common items, hopefully available in many people's lab).
- A DC adapter (something like 9V, a few 100s of mA)
- An RS-232 extension cable
- A little screwdriver
- And of course, an oscilloscope probe

Now let's put things together.
1. Pluto
The male connector needs to be soldered on Pluto.
Let's also screw-in the two standoffs.

2. Flash
Now for Flash. The female connector goes on Flash's bottom. Place it and solder it there.

The BNC goes on Flash's top.
Let's make sure the BNC signal and ground leads go into the right spots.

Then return the board to solder the BNC.
3. Pluto and Flash combo
With the connectors soldered, the two boards mate easily, and the top standoff screws can be added.

4. Let's power it up
Now TXDI can be connected to Pluto.
We add the RS-232 connection to a PC, the 9V (or so) power adapter, and the oscilloscope probe on the BNC.

We are ready to probe!
5. The software
Let's run the Flash software provided with Pluto.
First we get a flat trace. Adjust the little pot on the Flash board to make the trace align with a line of the display.

Let's probe something.
Probing random things, here's a signal!

Note that since we are using a 100MSPS Flash board, a good idea is to limit ourselves to signals below 10MHz i.e. 10 times slower than the board acquisition speed (Flash doesn't have the period output option, so we can't use the equivalent sampling time mode available otherwise with other versions of Flashy).
6. Possible improvements
Here's a few ideas:
- Make the Pluto oscilloscope USB-based (see here).
- Use a Saxo board instead of a Pluto (Saxo is natively USB controlled/USB-powered, and supports FlashyD = two channels).
That's it. Your turn to experiment!
This page was last updated on December 25 2007.