Those are thoughtful questions, so it is worth replying...
... Arduino
...Over the past two weeks we made an effort to get informed about oscilloscopes, and I feel that we understand the key concepts. However, I still need help:
1) What problems do you solve with an oscilloscope?
Can you share an example of a problem I might have that I could solve more easily if I have an oscilloscope on my bench?
Potential tools are scope, logic analyser, LED+switch, printf/single-stepping.
Use a scope to check analogue signals (obviously!) and the analogue behaviour of digital signals. You should realise that all circuits are analogue (except photon counting and similar), but that the circuits
interpret the signal as being one of two levels. A principal use of a scope is to verify "signal integrity" in terms of level and transition time.
Once you have ensured signal integrity, move into the digital domain as fast as possible.
If the signal is generated or received under software control, first use a LED+switch+test program to ensure your program is "connected" to the correct i/o line, then drop back into single-stepping and/or printf statements.
If the signal's timing is too fast to be validated in software, then use a logic analyser.
2) What bandwidth do I need?
Can someone confirm that my reasoning is correct? Or have I missed the point?
The maximum frequency contained in a digital signal is
completely unrelated to its period. All that matters is the
transition time. The standard rule of thumb is that to see a rise/falltime of t
r the oscilloscope's analogue bandwidth, BW, should be >0.35/t
r. That's the important value for signal integrity.
3) Sample rate?
Following the same reasoning as earlier, I think I need 5 x 8 = 40 MSa/s. But this value actually seems really low compared to what a digital scope does. A budget digital scope is in the range of 500 MSa/s to 1 GSa/s. Have I missed something important?
There is absolutely zero correlation between the sampling rate and the bandwidth, despite what manufacturers would have you believe. All that matters is the scope's analogue bandwidth. To make that point clear, years ago I used very expensive 1
GHz scope to check sub-nanosecond risetimes; the scope sampled at 25
MS/s - but that was fine for looking at a
repetitive signal.
However, for non-repetitive signals and modern scopes, the analogue front-end bandwidth is what matters with non-repetitive signals.
4) Memory depth?
I really have no idea what is a reasonable time base for a typical Arduino project.
You understand the calculations, but I suggest you think about what you need to observe and then you will be able to choose the best tool.