In a bit over a week I'm going to be running a workshop at my local hackerspace as an introduction to DSOs.
I've got a reasonable agenda, and it's nothing out of the ordinary. Once I've run it once or twice I'll make all the "courseware" open so other hackerspaces can benefit. There'll be a manual etc.
However, I want to run it as a workshop style of event whereby people will have a DSO between two or three, and we'll have some signal for most concepts that they can get some hands on time with.
As we don't have a lot of equipment as of yet, I've asked the attendee's to bring along an Arduino and laptop because I'm thinking that I can come up with some simplish circuits and code to generate patterns that we can look at. There's a small enough number that I can easily etch a circuit board for each group, and as long as parts are easily and cheaply available can build whatever is required.
I'm after any ideas you might have for what could be done, ideally I'd like one or two waveforms for each key concept. Any idea's would be highly appreciated.
Some I've come up with so far:
- serial link between two arduinos sending packets (demonstrate edge triggering and hold off),
- a pattern with GPIO to do various pulse width triggering,
- using resistors summing the output of two pins, generate a pattern that has periodic runt pulses for the concept of waveform update rate,
- an RC comparator oscillator to demonstrate the difference in capacitance between 1x & 10x
- Ideally a sinewave generator of some sort to show aliasing. However I'm not too sure how to go about this one in the timeframe, I can't get any dedicated IC's locally, and an Arduino's probably going to struggle to DDS a rough sinewave at decent freq. Maybe using an arduino to excite a LC tank?
Below is a rough outline so far. Please feel free to give me any suggestions if you think I've missed something. It's going to require a bit of tailoring on the day depending on the prior knowledge of those that turn up.
Probes:
1x vs 10x, construction, compensation, where to (and not) use them.
DIY for specific situations
Coupling
Sample time:
Time base / sample rate / sample depth relationships
Aliasing
Waveform update rate
Pitfalls of sin(x)/x, anti-aliasing etc.
Quantization:
Resolution
Averaging
Oversampling and averaging (aka High resolution mode)
Triggering:
What and why
One shot, auto, normal
edge trigger
pulse trigger
(probably leave it at that for trigger types)
hold-off
coupling
external
trigger out and some of it's uses
If we have time:
external trigger "helpers"