Create project Need help?
  • Labs project

Platino Battery Tester [130543]

Status: In progress
December 15, 2014


A simple Platino-based battery Tester is designed for not too demanding (hobbyist) applications. A simple way of establishing the capacity of a storage battery is to recharge it and then discharge it again in a controlled manner.

The Platino Battery Tester device uses the Elektor’s Platino board to design a real time, straight forward, non-complicated design which can check accurately whether a battery’s capacity can be refreshed after a couple of charge/discharge cycles or it has reached the end of its useful life irreparably. The battery Tester is Inspired by Elektor’s Rechargeable Battery Checker project.

Battery tester must be used in discharging mode to check the capacity of a fully charged battery. Charging mode is additionally given to charge any discharged battery thus the charging mode can be used as a battery charger to charge different batteries.  


  • DC Input:   12V to 18V DC
  • Elektor Platino with ATMEGA328P/ATMEGA328 microcontroller.
  • 16 X 2 LCD Display.
  • Charging voltage ranges from 0.5 – 4.0 volts
  • Charging current ranges from 50mA – 1000mA


The Platino-based Battery Tester is divided into two major sections one is the hardware and another is software, both are responsible for the stability and accuracy of Input and output.  The heart of the project is the PLATINO MCU board which contains the ATMEGA328P/ ATMEGA328. The unit can check and charge rechargeable batteries of up to 4V / 1000mAh rating. The unit can be made more advanced by increasing its range to check battery of upto 12V by changing a few components and the software.


The Hardware consists of two sections

  1. Platino MCU board with LCD.
  2. Signal Generator Add-on Board.


  1. Platino MCU board with LCD.

Platino Series is easy to use for developing AVR MCU based applications just by adding simple add-on board of supporting functions at an input stage. The Platino board with ATMega328P/ ATMega328 MCU is used to control the current and voltage of charging and discharging of a battery by using Platino battery tester ADD-ON board. The Platino board consists of a 16X2 LCD display for user readout and selection of different outputs and inputs. Rotary encoder with a push button is provided for selecting and incrementing/decrementing the value of selected voltage and current. The LCD contrast can be adjusted through P1 via the hole provided on add-on board. The board uses power from the add-on board and hence an onboard power regulator is not used. The board also uses a 16MhHz crystal to clock the MCU; The Board must be set to required jumper setting as mentioned in table2.

  1. Battery Tester Add-on Board.

The Platino add-on board design to work with Elektor Platino board. The board consists of a circuitry for battery charging and discharging used to check rechargeable batteries. Inorder to check and charge different batteries,the board is designed to support different charging and discharging voltage ranging from 0.5V to 4V using Platino MCU. The board consists of different stages like charging power stage, charging circuit, discharging circuit, rely driver, reference voltage and Main power stage. The unit supports one function at a time that is charging or discharging. The charging and discharging circuits are switched using a relay that is controlled by the MCU pin (PB4). Connectors K2 and K3 are used to plug it into the platino MCU board. The board operates on 12V to 18V / 2.5A DC adapter or laptop adapter with same rating can be used.  

  • Power section:

Connector K1 is used to connect DC supply to unit as mention on PCB. The input supply is regulated to 5V by using the IC4 L7805. The same 5V is used to power up the Platino board. Input supply is also given to IC2 LM317 which is an adjustable regulator inorder to set a 4.8V by using resistor R18 and R21. This 4.8V is used for charging connected batteries by PWM controlled signal from the MCU. The 5V is also used to generate the reference voltage for MCU by using IC3 Lm336 5V.     

  • Charging circuit:

This circuit is enabled by switching ON the relay by sending a high pulse from the MCU pin PB4 to transistor T2. Transistor T2 energize the RE1 and thus enabling the charging of the connected battery. Charging takes place via the circuit built around MOSFET T4. MOSFET T4 is controlled by Platino MCU PWM pin PB2 depending upon the selected charging voltage. Battery needs to connect on K4 as mentioned on PCB. Battery voltage is measured by MCU using pin PC0 and displayed on LCD.  For the current reading the voltage difference across resistors R8 – R11 is fed to the MOSFET T1 via the opamp IC1. Since the voltage drop is very less IC1 is used and T1 helps to avoid loading of IC output. IC1 scales the signal to 0 to 5V and then send it to ADC of MCU pin PC1 through the relay RE1 so that MCU will read charging current when charging is selected.

  • Discharging circuit:

The discharging circuit is enabled by sending a low pulse from the MCU pin PB4 to transistor T2. Thus relay RE1 will not energize this time and allows battery to discharge through MOSFET T3.

The MCU pin PB2 generates the PWM signals depending upon the set current, which controls the MOSFET T3. For the current measurement voltage drop across resistors R12 – R15 is read through the MCU pin PC1 through the relay RE1 so that MCU will read discharging current when discharging is selected.


The software is built using AVR studio for the ATmega328p / ATmega328 microcontroller the MCU is clocked using an external crystal of 16MHz. The pin PC0 and PC1 of the MCU are used to read the voltage and current of the battery respectively.

The software is divided into three main modules. They are:

  • LCD along with rotary encoder with push button

After displaying the welcome screen and version the software gives an option to the user to select charging or discharging of the battery. To check the battery user must select the discharging option. The LCD displays the actual voltage and current of the battery during discharging/charging along with Q and digital timer clock.

  • Charging module

During charging the user is intended to enter battery voltage by using the rotary encoder, form which the charging voltage is calculated as 120% of the battery voltage. The user is also intended to enter the battery mAH so that the charging current can be calculated as 120% of battery mAH. The current and voltage to the battery is controlled by adjusting the duty cycle of the PWM pulse. This avoids over charging and discharging of the battery.

  • Discharging module

The discharging voltage and current needs to be entered by the user using the LCD and the rotary encoder provided on the front panel of the Platino board. The discharging takes place by adjusting the PWM on the MCU pin until the voltage reaches a value equal to 80% of the battery voltage. This will make safe discharge for the battery. Same time unit counts Q value of battery and displayed on the screen. 

Building the Prototype:

First build the Platino with its LCD, rotary encoder, ATMEGA328P MCU and all other components, then ‘jumper’ it as shown in Table 2

The add-on board that consists of the main circuitry for the battery tester is connected to the Platino board via connectors K2 and K3.


  • The device is powered up through connector K1 of the add-on board with 12V to 18V DC adapter.
  • Connect a rechargeable battery to the add-on board via connector K4.
  • On power up the welcome screen will be displayed onto the LCD.
  • To check the battery user must use full charged battery and Discharge mode of unit.
  • The user is intended to select charging or discharging as per requirement.
    • In Charging
      • Enter the battery voltage using the rotary encoder and rotary switch.
      • Enter the battery mAH using the rotary encoder and rotary switch.
      • The battery charging screen will display the charging time, battery voltage, charge per unit time and battery current.
    • In Discharging
      • Enter the battery voltage using the rotary encoder and rotary switch.
      • Enter the discharging current using the rotary encoder and rotary switch.
      • The battery charging screen will display the charging time, battery voltage, charge per unit time and battery current

Table 1. Microcontroller Pins Usage

Pin designation          Function

PB0, PB1, PC2              Rotary encoder pins   

PB2                                 PWM pin                      

PB4                                 Relay control pin

PB5                                 backlight of LCD

PC0                                Voltage read terminal

PC1                                current read terminal                   


Table 2. Jumper settings on Platino Board







Read the full post
Show less


Loading comments...