The typical sample rate of the Arduino Uno's ADC is ~10KSa/s. Yes it can be overclocked, but lets just consider the normal situation. I'd like to 'simulate' the levels of a large random signal that the ADC might see on a digital oscilloscope. This way I can see the level on screen that the ADC would return from sampling.

So if I manually set my 'scope to 10kSa/s, will that be the same as the Arduino, other than the bit depth?

  • 5
    \$\begingroup\$ You won't be able to fully simulate this. If you have a naively built scope without a decimation filter, you could reduce the sampling rate, but hopefully the designers were smarter than that, and even if not the analog details will differ enough that you won't get the same "consequences of breaking the rules" unless your scope uses the same ATmega. So why don't you just graph the outputs of the actual ATmega ADC?? \$\endgroup\$ – Chris Stratton Nov 3 '17 at 1:48
  • \$\begingroup\$ @ChrisStratton Because I would like to avoid having to build buffer amplifiers and DC biasing to accommodate a high impedance AC signal. I was hoping to use the 'scope for those things. \$\endgroup\$ – Paul Uszak Aug 13 at 23:27

To reduce the bandwidth of an oscilloscope to "Arduino ADC bandwidth", you need to know all properties of the Arduino's analog front end - buffer amplifier (if any), bandwidth/dynamics of its sample-and-hold unit, etc. Which you don't know. And stability of reference voltage and power rails of the Arduino board will reap its toll as well.

Therefore an attempt predict the internal noise level by reducing the sampling rate of an (external!) oscilloscope to 10ks/s will reveal absolutely nothing about what gets sampled inside the Arduino. The memory depth has absolutely nothing to do with this situation, and the sensitivity of scope has nothing to do as well. So take the advice from Chris Stratton and research statistics of what the Arduino ADC is producing, using various input signals, zero short, zero with some reasonable impedance, sine wave, etc.


There are actually two separate frequencies that are of interest in this situation. The first is the analog bandwidth, which is the bandwidth of the hardware filtering ahead of the sampling. The second is the actual sampling rate.

These frequencies are not necessarily the same and 99% of the time you want to ensure that the sampling rate is at least twice that of the analog bandwidth to prevent aliasing (see also Nyquist Rate).

I doubt that your scope will allow you to violate that criteria with any of its settings.

From a practical standpoint I typically leave my scope wide open so I can see everything and inspect the ADC's readings directly if I am having an issue with them.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.