Arduino Read Analog with MCP3208 and LM3940

i want to track a 12 Volt battery, charging and discharging cycles (bedini project)

using voltage divider: 3 pieces of 1K resistors 1%,
min readings at 12.00V, max reading for 15V…
15V divide by 3.. each resistor gets max 5V
these 5V are the analog input for Arduino..

but Arduino Analog readings have too much fluctuations..
and are 10 bit (1024steps) only.. but 10bit should enough?
5V / 1023 = 0,00488V = 5mV  for each step

this stabilizes board power!!! and so the Vref for the external extra ADC MCP3208

so i looked around on arduino pages..
coming around with the SPI ADC the MCP3208 12bit(4096steps)

i connected all pins to my ARDUINO MEGA 5V board..

the MEGA Vcc is fluctuating a bit too..
while connected to external power supply,
i checked this via

i must give the MCP3208 a Vref,
so i give the MEGA 5V as Vref for the MCP3208…
i have to await fluctuating measures, i guess..
and it was so…
for my purpose still too much fluctuating

so next step.. i use a voltage supply chip a  LM3940(low dropout), giving 3.3V from a 5V source,,
these 3.3V will be the Vref for the ADC MCP3208
you have to use capacitors with the LM3940! otherwise you will not get the 3.3V output.
in datasheet 0.47mikroF and 33mikroF,  i used 4.7mikroF
with that  i get best possible stable values… till now
but after 10 good values, there comes always one value out of order/magnitude…
why? i dont know.. i will test an extra 5V powersupply for the check that
>> the error was in my SPI handling.. solved that, it works great


by the way
i would like to buy a Arduino shield, an ADC shield..
doing all the stuff, stabilizing Vref,
giving real world measures.. less offsets..
BUT there is nothong available in online-shops…
so i hope the people from
will build the ADC shield


PS: alternativ power supply/converter
could used to get a stable Vref? LM317 could be interchanged with more expensive, better chip..