I'm an electronics enthusiast (play with it on weekends) and the Rigol DS1054Z oscilloscope (it's the same used by OP) has a really good cost/benefit, and it's also hackable.
Yes I was just looking at it, £300 seems pretty reasonable. A while ago I was looking at old used stuff but even they are in the thousands. Thanks for recommending it, it's nice to know some HN readers are using it because I don't really know what to look for in an oscilliscope :)
I know Rigol was doing a promotion around the holidays where they'd give you expanded bandwidth, serial decode/trigger, and a few other goodies at no charge.
If you want a cheaper and more portable solution, have a look at Picoscope (UK). Don't believe the guff about USB scopes being garbage. These things have plenty of bandwidth and it's really nice being able to carry around a scope in your pocket.
Unless you do a lot of high speed IO, 25MHz covers pretty much everything (most 8-bit Micros top out at 20MHz, some go to 48-50MHz). Even the 10MHz version is fine if you were just doing audio work or slower digital stuff.
For £300 you could get a 50MHz 2 channel scope (at 0.5Gs/s). If you want 4 channels you're not going to beat the Rigol for price, but portability matters sometimes (other times being able to monitor every SPI line simultaneously is a godsend). I have a Rigol DS1104Z and a Picoscope 2205A, I've used both extensively.
Plus you get a lot of nice features in the software (which is cross platform), including serial decoding for free. Most of them have a signal generator built in too.
Hmm, I was expecting the sampling frequency to have been made independent of the USB bus, (i.e for the sampling to occur purely on the picoscope itself and data merely relayed over USB).
I don't even know what the frequency limitations of USB are I just know it's capabilities are highly dependent on the host so relying on it for precise high frequency sampling seems like a bad idea, and if that is the case for the picoscope then you are correct, I just find it a surprising design decision.
Am I wrong in thinking this? or are you referring to a different reason?
Yes, all the sampling is performed on the Picoscope and then streamed over USB.
This is something that you need to grok when using scopes: you're capturing (often) a teeny-tiny snapshot of time. The waveform on your display might be 50ns wide. You certainly can't process this data in real-time using your eyes (that'd be 20 million frames a second). So you're not seeing a continuous signal, you're seeing short snippets of your signal separated by some dead time. The majority of this dead time is probably just writing to the display. You're not pushing pixels to the display at the sampling rate of the scope, otherwise these would be some of the best monitors in existence!
Usually scopes are triggered somehow and you'll be sent waveforms, typically centred on the trigger point, at some maximum frame rate. So you'll see a little bit before the trigger and a little bit after. Most scopes let you vary the trigger offset, e.g. if care more about stuff that happens before or after. Using an oscilloscope well is all about the triggering!
The scope will have (a) a max. sampling speed and (b) a fixed size sample buffer. You trade off both. You can sample really fast for a short period of time, or slower, but see a longer time period. If you want to see 'all' the signal, then you can set the timebase to something long - e.g. 100ms/div. That's useful for seeing slowly varying signals, but you'll lose resolution. A scope with a nice big sample buffer will let you zoom in on a signal once its been captured.
Once the buffer is full, the scope has to transfer that data to you, either directly to a screen or over a serial connection. Unless you're in single shot mode, this process will repeat every time the trigger condition is satisfied.
I think the idea is to use the Pi purely as a display. Picotech's scopes tend to be well specced with regard to analogue bandwidth/sampling rates - around 5x Nyquist typically.