Monitor All Batteries at Once

by Gordon Stallings


My Solectria Force electric vehicle has thirteen 12-Volt batteries connected in series. Although measuring the voltage of the entire string can tell you if there is a problem, it doesn't isolate the trouble to an individual battery. The Solectria owner's manual recommends load testing the batteries once a year. This test requires a block of time and considerable work. The battery compartments must be opened and each battery's voltage measured.

It would be much more convenient, and safer too, if this test could be done without the effort and hazards involved in accessing the battery chambers. Even better, if the metering were in the passenger compartment, then the driver could evaluate the dynamic performance of each battery under actual driving conditions. I have designed and built such a device, which I will describe below.

One simple way to monitor the voltage of multiple batteries would be to use a voltmeter and a multiple position switch. Figure 1 is a schematic of such an arrangement with four batteries.

Single-pole switch selecting meter to positive end of batteries with negative ends common.

This arrangement requires the batteries to be separate and to share a common connection. However, most battery systems are series connected.

The diagram in Figure 2 uses one voltmeter and a two-pole multi-position rotary switch to select the battery to monitor. While accomplishing the goal of bringing the metering of batteries out of the battery compartment, this design has some safety problems.

2-pole multi-throw switch places meter across each battery of series string.

A direct connection to any point in the battery pack is dangerous because of the shock hazard and also because a short-circuit could result in injury or fire. The risks can be reduced by revising the design as shown in Figure 3.

Same as above except voltmeter replaced with microammeter and resistors connect battery points to switch terminals.

By placing current limiting resistors right on the battery terminals, only micro amperes are allowed to flow on the wires of the instrument, even in the case of a short circuit. Note that the meter itself is not a voltmeter but is a micro ammeter with a scale marked in Volts.

Citicar Design

If the switch is eliminated by providing separate meters for each battery, then the batteries can be compared under identical load conditions. In 1989, I installed just such a meter system in my Sebring-Vanguard Citicar. The dashboard sported eight vertical panel meters, one for each 6-Volt battery. I included trimmer potentiometers behind the dash to provide calibration of the meters. Figure 4 is the circuit diagram for one meter.

Connection across one battery of series circuit comprising fixed resistor, variable resistor, microammeter, and fixed resistor.

These meters did an excellent job in the Citicar. It was easy to spot a weak battery and individual cell failures were immediately evident by the 2-Volt drop in the meter. I wanted to have similar metering in the Solectria Force.

Designing the System

The dashboard appearance of the Force would suffer if I installed thirteen meters of any sort. But there is room in the instrument cluster for one small instrument. I decided to make a display which could show all 13 batteries at once in bar graph format. So the challenge was to design something that could continuously display the voltage of each battery altogether in a compact space on the dashboard. Figure 5 shows what I had in mind.

Bar graph - 13 bars with numbers or letters beneath.  Bar height indicates battery voltage.

The numbering below the bars identifies each battery. The numbers 1 to 8 identify the batteries in the rear set and the letters A through E identify the five batteries under the hood. The height of a bar indicates the terminal voltage of that battery. The display is "live" so that a change in battery voltage results in a corresponding change of bar height. In the example above, battery C has low voltage.

I evaluated several alternatives before settling on a design. My goal was to build a system that is simple, safe, cheap, reliable, accurate, and responsive. As with any design, there were some tradeoffs to be made. The resulting design met most of my goals. I will describe a few of the reasons that I made certain design choices.

The Display

It is difficult to find a display that will fulfill my idea for a bar graph display. I considered using some sort of LED bar graph unit as found on some stereo systems. Eventually, I located a liquid-crystal display of the proper size for the dashboard installation. This display, a Densitron LM4064, is point-addressable, 64 by 100 pixels. Its exterior dimensions are about two inches square and one fourth inch thick. The display operates using standard 5-Volt digital logic, so there must be a conversion from the analog battery voltage to digital values. Fortunately, a huge assortment of digital devices can operate with the display.

The Converter

There are analog-to-digital (A/D) converters available which include switching for monitoring multiple voltages. The switched input scheme is called a multiplexer (mux). So an A/D with mux could replace the voltmeter and switches in the first drawing, above, but only if the batteries are not connected in series.

The Isolator

I located an optical isolator which serves a key role in the design. Imagine a small lamp connected to each battery. The brightness of the lamp would depend upon the voltage provided by the battery. If the light from the lamp falls onto a photocell, then the photocell's electrical output would represent the battery voltage. The higher the battery voltage, the brighter the bulb, the higher the photocell output. The advantage of this scheme is that the photocells are electrically independent and do not have to be connected in series. In particular, they can be connected with a shared common point, as shown in the Figure 6.

Batteries in series.  Lamp across each battery.  Photocell for each lamp.  Photocells connected with negative common.  Positive ends deliver E1 through E4.

In this diagram, the voltages E1 through E4 are suitable as inputs to an A/D converter, each one respectively representing the voltages V1 through V4 of the batteries.

The PS8602 is an optical isolator which performs the desired function. It delivers analog output for analog input. This makes it possible to get all battery readings referenced to the same electrical common point. By using these isolators, analog-to-digital conversion is much easier and safer as well.

In Figure 7, V is linearly related to the voltage across the battery but it is electrically isolated from the battery.

Connection diagram for one opto-isolator.

The variable resistor provides adjustment to make sure that all channels deliver the same V for the same battery voltage. I used two 1k resistors to limit the current into pins 2 and 3. When I adjust the variable resistor to deliver 1 Volt at point V when battery voltage is 15 Volts, I obtain the curve in Figure 8 as battery voltage varies.

Graph showing linear decline of V as battery voltage (B) increases.  V=5 for B=1 and V=1 for B=15.

Notice from the graph that output voltage decreases as battery voltage increases. This reverse behavior can be corrected by the computer.

The Computer

The task of operating multiple-channel analog-to-digital (A/D) converters and then arranging dots on the liquid-crystal display in the desired pattern is an obvious job for a computer. I used a Basic Stamp2, which has enough input/output (I/O) lines to control the display and the A/D converters. There are some very nice A/D devices which are designed to work well with small computers like the Stamp.

The Resistors

With 1k resistors at the battery terminals, the current through each resistor is about 6 milliamperes. However, a worst-case short-circuit between two sensing wires in the rear battery compartment could place 96 Volts across 2k ohms. For the resistors to tolerate this condition indefinitely, they would have to dissipate about three Watts. I did some tests with 1/4-Watt metal-film resistors and found that they tend to blow apart under overload conditions. So in the unlikely event of a short in the sensing wires, a resistor will serve as a fuse.

The resistor fits inside the collar of a ring lug, providing a very convenient way to install the resistors and connect the sense wires.

Resistor inside ring lug collar.  Inside lead is soldered to lug, other lead extends out for easy connection.

The Design

The A/D unit I chose will handle eight channels of analog. It includes a serial interface for communication with the computer. The batteries in the Force are arranged 5 in front, 8 in back. So the design naturally breaks into two "sensor boxes" near the batteries and a "dash unit" in the dashboard instrument cluster. The Basic Stamp computer is in the dash unit. A small cable interconnects the units. Twisted pair wire is used for the short length of sense wires connecting the resistor lugs to the sensor box. This reduces the influence of stray electrical fields on the analog signals.

See the Cabling Schematic for the final design plan. All schematics are shown at the end of this article.

The battery box contains the optoisolators, the A/D mux and a voltage regulator. There are also adjustable resistors for each channel to provide single point calibration. This adjustment compensates for variation between resistors on the battery lugs, differences in isolators, etc. By using a voltage regulator in each sensor box, noise coupling on the power lines is eliminated.

The dash unit consists of only the display and the Basic Stamp2 computer. The Basic Stamp includes a voltage regulator which can accept the regular 12 Volt accessory power. This regulator has enough spare capacity to support the power needs of the liquid-crystal display as well.


I used Express PCB, a web-based printed circuit board manufacturer to have custom circuit boards made for this project. This greatly simplifies construction for a modest price. The battery box boards fit into a commercial box from Serpac. The end panels on the box mount multi-pin connectors. I put a DB-25 on one end to provide the connections to the twisted pairs that bring the analog signals from the batteries. On the other end, a DB-9 connects the box to the plenum-grade ethernet cable that carries signals between the battery box and the dash unit. This cable also delivers the 12 Volt power to the battery boxes, but that power is only provided when the dash unit is plugged in. See the schematics for details on this.

I also used a printed circuit board to mount the Basic Stamp behind the display. The display and computer assembly fit snugly into the instrument cluster behind a hand-made mounting bracket. Space is limited in the dashboard, so the only connector on the printed circuit board is the one that accepts the end of the flex cable from the display. Cables for interfacing to the sensor boxes are soldered directly to the printed circuit board and terminate in connectors behind the dash.

The bezel for the display is cut from the original plate that Solectria put into the dash. This gives a very professional look to the installation.

Photo of Metro dashboard with my display in place of fuel gauge.


An instrument is only as good as its calibration. So this step is critical.

Each channel of analog signal must be calibrated so that the final display indicates the true voltage of each battery. One way to do this is to connect the cabling and resistor/ring lugs to the sensor box. All positive leads are connected together on one bolt, and all negative leads are connected together on a separate bolt. By applying a known voltage to the two bolts, all of the isolators will be energized under identical conditions. This voltage should be "pure" DC. Any ripple in the power will result in poor calibration. To calibrate a channel, I connected a voltmeter to the output of an isolator and adjusted the output voltage by means of the 10-turn potentiometer for that channel. A dab of fingernail polish on each potentiometer prevents setting drift due to vibration.

Photo of box, cabling, etc.  All positive ring lugs are joined on one bolt, all negative on another.  Heat-shrink tubing covers the resistor-wire junctions.

I provided test points on each isolator's output to make this measurement easy. I chose to set all channels to deliver 1.50 Volts out when 13.5 Volts are applied at the ring lugs. This keeps the isolator in its linear region and guarantees that all healthy batteries will show the same reading on the display. However, this is a single point calibration and so it does not correct for any variation in the performance of individual isolators. Since the display is only qualitative, I did not bother to deal with this. But it could be done with additional programming.


The Basic Stamp 2 proved to be an ideal computer for this project. Its BASIC-like language is simple to learn and it can handle bits, nibbles, bytes, and words as needed. I used the BS-2 Starter Kit to connect the Stamp to the A/D converter. Once programming was developed that could communicate with the A/D, then I did the same thing for the liquid-crystal display. The BS-2 has enough program and variable storage for this project and it consumes less power than the fancier Basic Stamp models.

The final program listing for this design fills a little more than two pages of paper. It performs the following tasks when power is applied:

The program repeats the loop as long as power remains on.


The bar height represents a voltage range from 5.5 Volts to 18.5 Volts. This covers the voltages of interest and provides good resolution. One pixel of bar height represents about 0.25 Volts. The program loop time is less than one second. This means that changes to battery voltages due to acceleration or regeneration show up on the display very quickly.

The display not only shows the condition of the batteries. It also shows the condition of the battery connections. If a battery's voltage is excessive during regeneration or charging, it may indicate a loose terminal connection.


On a scale of one to ten, here is my evaluation of how well I met my goals.


It is always a thrill to design and bring to life a combination of hardware and software. Even after exhaustive study of the data sheets of the components, it is almost certain that the first configuration will not work at all. But with perseverance, all the problems and mistakes can be found and corrected simply by changing the program statements or revising the wiring connections. Step-by-step, the project fell into place and even the bezel that covers the mounting of the display worked out perfectly.

The design is easily adapted to different installations. Other than the printed-circuit boards and the software, everything is off-the-shelf. The sensor boxes are quite general and can sense any battery voltage by using appropriate resistors. The sensor boxes can be interrogated by any computer that has digital I/O lines. A point-addressable display can be programmed to show the data in a variety of ways.


Basic connection of the components to batteries and each other.

Connection of eight isolators to A/D and connectors.

Connection of Basic Stamp to power and connectors.

Pin assignments for data cable providing distinct select line for each sensor box.

Parts Lists

For parts list, computer program listing, etc., contact me:

My email address as a picture.

My Home Page