## alternatives: [rgco: Multichannel Arduino Oscilloscope](https://www.instructables.com/Another-Arduino-Oscilloscope/) > The 16MHz Arduino clock is too fast for the ADC to operate properly, therefore it needs to be prescaled. > Prescale factors of 1 (no prescale) to 128 can be selected. > By default, the Arduino IDE sets the prescale to 128, > resulting in an ADC-clock period of 128/16MHz=8 microseconds, > and thus a sampling period of `13*8=104` microseconds. > Many tests have shown reducing the prescale to 16 results in only a slight loss of precision, > while even faster clocks result in garbage. > The Arduino ADC can be operated in single acquisition or free running mode. > The standard analogRead() function does a single acquisition and returns the value when the ADC is ready. > […], it is also possible to use a loop and poll for the ADIF flag which indicates that the ADC reading is complete, […] [pcscope](https://www.electronicsforu.com/electronics-projects/pc-based-oscilloscope-using-arduino) ([source](http://efymag.com/admin/issuepdf/PCBasedOscilloscopeUsingArduino.zip)) > By default, the ADC configuration of the Arduino gives samples every 116µs. > So here the ADC is configured with additional lines of code to get samples faster than 85µs by setting the prescaler to 16. > With this, you get ADC conversion every 20µs, […]