Atmega328p internal 1.1 voltage reference problem?

Hi All, I am measuring 4AAA batteries voltage using Atmega328p ADC, battery voltage getting stepped down via voltage divider, so it is below 1V, then I feed it into A0 pin, set voltage reference to internal 1.1V and upon taking analogRead reading I get 6.12v. If I measure battery voltage with multimeter I get 6.02V there is 100mV difference. Datasheet says that atmega ADC is very accurate and 1.1V is also stable and little dependent on external factors so I was under impression that I will get almost identical readings. Am I doing something wrong or Atmega ADC is inaccurate?

The 1.1V reference is very stable, but not accurate. You need to work out a separate calibration factor for each individual ATMega processor. From the data sheet:

vref_1_1.gif

Here is a great reference for the ADC.

Also, your multimeter is to some extent inaccurate.

Great, thanks, I will make an adjustment to the code to compensate that difference then.