ADC Noise Reduction code please

In my experimenting, jumping analog readings are caused by...

  1. General digital noise. Cured by adding a 0.1 uF capacitor across VCC and GND as close to the processor as possible. Already present on Arduino.

  2. General digital noise. Cured by adding a capacitor from AREF to GND and using the appropriate analog reference setting

  3. General digital noise. Cured by adding filtering to the analog input.

  4. CPU digital noise. Cured by using Noise Reduction Mode.

I've only had problems with #4 on ATtiny processors or when reading the internal temperature sensor. For the rest, the Atmel documentation is a good source of information and Grumpy_Mike has graciously written about filtering. If you still have problems after adding filtering then it's time to add Noise Reduction Mode.

However, Noise Reduction Mode certainly won't hurt anything.

1 Like