Testing Batteries - Manual and Automated

September 2020

Published in Soaring magazine
February 2012 Page 27


(Click on Images to Enlarge)

Each year I like to test my ship's batteries and replace those that do not have enough individual capacity to last 3 hours at a 1A load. But how can the average pilot perform a reasonable "real world" test with easily obtainable equipment?

See the Excel spreadsheets linked below and this Soaring magazine article for an explanation of the testing that I perform and the simple test rig that I use, along with Excel templates for gathering the data and then graphing the results.

There are three versions of the spreadsheet;

  1. Original - This version of the spreadsheet is the original mentioned in the article with a few minor updates. Time must be entered in a "hh:mm" (24 hour) time format.
  2. Beta - This version of the spreadsheet has separate columns in Testing Results & Graph tab for hours and minutes. I think this is easier/faster to use for data entry than having to enter "hh:mm" - that colon really slowed me down. Now I can tab between columns (hours, minutes, voltage) and hit a return between rows. Tell me which you prefer!
  3. Pre-Filled In - This version of the spreadsheet already has at set of times already filled in for you The first 5 minutes are by 1 minute increments starting at 00:00, then 10 minute increments. This requires the use of a stopwatch, rather than just a clock, to take voltage readings are set intervals. It is handy to use an "interval" timer smartphone app* set for 10 mins to tell you when to take the next voltage reading.
*Smartphone App - Get yourself a Smartphone App that does interval countdown timing with an alarm. Those typically used for exercising will have a repeat function. These apps provide a few countdown beeps leading up to the end of each period, and then a different single beep at the exact time to take the next voltage reading, and then automatically starts the countdown again. Slick!


Battery Testing Automated!

2x16 LCD Display


(Click on Images to Enlarge)


240x320 Color TFT Touch Display


(Click on Images to Enlarge)


Taking hours to manually collect battery test readings can be BORING! Lets try to automate the testing! You will be surprised how inexpensive this system is to build.

I use an inexpensive Arduino Duemilanove single board computer along with a display shield and a few other components to automate the testing. This record the battery readings over time when connected to our test load. Readings can be manually captured but are also sent to the serial port and then captured on the Arduino development software's serial port monitoring facility. More information can be found at the Arduino developers web site.

As pictured above there are two different displays I have used (with separate code):

  • 16x2 Character LCD RGB Backlit Display (1602) - I initially used this simple display which shows only the reading count, the current time delay between readings, and the current battery voltage reading. It gets the job done.
  • 240x320 pixel 2.4" TFT Touch Sensitive Full Color Display (ILI9341) - Later I switched to using this much higher resolution graphical display which allowed for more control of the testing, and more display space for real time testing results plus a simple graph, timer countdown, heartbeat, and other niceties.

Because the Arduino's analog inputs have a absolute maximum voltage limit of 5Vdc I had to convert the 12Vdc battery voltage to something that the Arduino could handle. To do this I built a simple resistive voltage "divider" to protect the inputs from a battery voltage which can easily exceed 14Vdc when fully charged. The divider is made from a 22KΩ and 10KΩ resistor (nominal values) creating a lower input voltage by a ratio of 1:3.2 [10/(22+10)]. Thus to protect against an absolute maximum battery voltage of 15Vdc the divider will convert this to a quite safe 4.7Vdc input voltage to the Arduino. If your battery input is greater than 16Vdc (5Vdc x 3.2) then the voltage divider will need to be modified. See this web site for an explanation of, and calculator for, voltage dividers. For the best accuracy of the battery voltage measurements the divider's resistors' actual values (versus nominal values) need to be carefully measured and those values entered into the Arduino code.

An optional addition is a simple piezo electric buzzer connected to a digital output to chirp at each reading and then to produce an alarm at the end of the testing to tell you to disconnect the battery from the big 12Ω resistive load. These components, along with battery connection jacks, are mounted onto an Arduino breadboard shield (see the pictures) place between the Arduino and the display to create a very compact and neat package.

All required Arduino hardware and the associated parts will cost between $20-$40 on eBay, Amazon, Banggood, AliExpress, Mouser, and other electronic component outlets.

Pictures - Pictures of the hardware for each display type can be found here.

Arduino Code - My latest Arduino software packages for each display type can be found here. After you open Arduino code packages you will find full build instructions in the comments area near the top of each listing.

Spreadsheets - Spreadsheets for each display type to help parse your data, and to graph the results, can be found here.

Aruduino Software - The Arduino free editing software (required) is available here. NOTE: For the TFT display you will need special drivers available online.

Aruduino Hardware and Components - All required Arduino hardware and the associated parts will cost between $20-$40 on eBay, Amazon, Banggood, AliExpress, Mouser, and other electronic component outlets. More hardware specifications can be found in the comment fields of the Arduino code list.