Voltage, Amperage & Tempearture Sensors for reading 2vDC Batteries


I would like to read the voltage and amperage and temperature of my off-grid batteries. Each being 2vdc Lead Acid 1200aH. Could someone please recommend the sensors I should use, I will connect them up to make a module for each battery.

Thanks and kind regards, jB 8)

Typically you would measure the voltage across a known 'shunt' resistor to determine current. Connect the - side of each cell through a precision shunt resistor (like 1 Ohm or 0.1 Ohm) to Ground on the Arduino. Connect an analog input to the + side of the shunt to measure current (1 V = 1 A when resistor is 1 Ohm, = 10 A when 0.1 Ohm). Connect an analog input to the + side of the cell to measure cell voltage. You might want to provide a precision A/D voltage reference (Vref) of just over 2 V (maybe 2.048V to get analogRead() * 2 = millivolts). Subtract shunt voltage from the measured cell voltage to get actual cell voltage.

Thanks, This electronics is going to be fun. More reading to do (grin).

What I really want to do is build a small board for each battery. Then feed a banks worth (12 batteries) data into the Arduino. Not just 1 battery. So I suppose I am looking for a bit of a steer as to what to buy to make up each mini pcb.

Kind regards, jB 8) (PS I am disabled and partially sighted so this icon looks like me)

Hi JB This project is actually quite a bit more complicated than you might realise The very same topic has been discussed at some length on another forum http://www.navitron.org.uk/forum/ If you repeat your request there you will be guided to the relevant article - I did try finding it but "failed" However I shall give it another go and if successful, will advise

Basically your problem is that, because you are using a single voltage measuring device you will need to multiplex (switch) it across each of your cells in turn.This switching involves both positive and negative polarity to ensure you are looking at only one cell at a time. This implies that the meter (arduino ?) ground connection is NOT connected to your battery common ground but does in fact connect to the negative pole of each cell in turn. However you also need to build in some form of protection (resistors, fuses etc) to cover the eventuality that your multiplexer locks on to two cells at the same time, since this will inevitably place a short across one of the cells.

To measure current, I'd avoid using a shunt since you will want to measure both charge and discharge current. The ideal device is a hall sensor with 0amps set to give an output of 2.5 voltsDC. Maximum discharge gives, say 4 volts DC and maximum charge gives a voltage somewhat less than 2.5 volts. With 1200AH batteries I'd imaging you might consider pulling out say 100+ amps, whereas your charge facility might only be good for say around 50amps, or even less.

Best of luck with the project Jack

Note that current through a bank of cells is the same through all cells, irrespective of individual state of charge so you can get by on a single current sensor.

Managed to find the link, though it also leads you to other links so lots of reading for you. At least it all gives you an insight to the complexity of the task The system illustrated relates to banks of 12 volt batteries but exactly the same principle is applied to measuring your 2 volt cells. In fact it's slightly easier since the arduino can accept cell voltages directly without the need for voltage dividers.




Thanks for all the help, (so far (grin))
I intend to simplify as much as possible with 1 bank of 12 2vdc batteries per Arduino Uno.
These plus other Arduinos with other data will be daisy chained to an Arduino Mega, which will act as a server / master and correlate the data for storage, alert management and web deliver etc.

I also have a wind turbine to throw into the mix.

When I get there I will deliver a report for the forum, but along the way I am sure I will be asking many, very trivial and inane questions. That’s just me, anal and pedantic in extremus. My wife thinks I’m mad, my psychiatrist thinks I am getting better, slowly.

Thanks to all,
Kind regards,

jB 8)

an interesting thought might well be to monitor the individual voltages of each cell... since Ibatt(tot) is known then Rcell can be plotted and a continuing monitor of cell conditions could well form a means of predicting failure individual cell failure. 6 voltage dividers would be needed and the math is simple, I would however make very certain that calibration is accurate since drifts of 10's of mv are to be plotted and 'normalized' for temperature variations. Calibration for both the Uno A/D and the battery dividers as well. 1 LCD about 20 resistors and 6 .1uF caps would serve for the monitor the rest, data logging and display is your best idea, not mine. Just a thought.


Doc, Using a collection of voltage divider chain implies that all cells are measured in relation to a common reference, or ground. The main problem with using such a divider system is the error introduced by each individual cell measurement. For example, if measuring cell No5 say, it's measured voltage is the sum of cells 1 to 4 plus cell 5. Cells 1 to 4 having previously been individually measured, each with a measurement tolerance (or "degree of inaccuracy"). So voltage at cell 5 is {(Sigma cells 1 to 4) + (Sigma tolerance cells 1 to 4) + cell 5}. Too many errors to give a reasonable degree of certainty.

and the sum of the set of conversions must equal the ‘battery’ voltage. Each cell is a resistor in series with a current generator, it is that resistance that is the indicator to a cell’s failure. There is a concern about the spread of resistors even 1% MF and any small errors can be measured and calibrated out with a DVM. I would recommend either a small Sealed, Good Quality carbon film pot <1K or small value ‘trim’ resistors.
as to the DVM I made a couple of divider networks that I use when I want reproducible results when working with a new circuit so I can turn a second Arduino into a ‘dvm’ that is ‘in circuit’ this way I can ‘calibrate’ an A/D (read characterize) at various points with known and measured external bias sources. I am a retired engineer learning how to do whatever I want with a few lines in a sketch. I spent nearly 20 years trying to 'interface with a software engineer working with microchip products, usually when I speak out it is because of special knowledge on the subject or the method of measurement. An open mouth hears little, forgive me if I intrude.


I forgot to state that there are 6 dividers, one from each cell to ground, this is necessary to measure ‘each’ cell relative to the next and that the measurements should be done at the end of the charge cycle, and during various load cycles, all the collected data would be of necessity be logged (sd card) and that the real information comes over several years of use on a new set of batteries, however with this simple data logger concept and a spreadsheet pro active and preventative maintenance becomes quite simple… Primarily for bigger installations but since there isn’t more than $30.00 or so (excluding case, sd card and socket or shield and P.U.) in the whole project then it might well be a great project for a long weekend or a ‘fortnight’? could even use a '595 SR as a status indicator for charge / discharge, for depth of charge and with a hall effect current transducer one could have charge / discharge information for only a few dollars more.