Build Instructions

YouTube Videos


First things first you need to decide what functionality you want from the Charger / Discharger and if you are going to THT (Through Hole Technology) or SMD (Surface Mount Device) N Channel Mosfets and Resistors.

THT Component Pads (highlighted in red)

SMD Component Pads (highlighted in red)

Because this device is powered by an Arduino Mega 2560 you can customise it to suit your needs. On the current PCB Version 2.0 there are many options for you to decide what functionality you want.


  • Ethernet (W5500 depreciate ) or Wifi (ESP8266 ESP-01)
  • SD Card Reader (Currently untested no code)
  • Barcode Scanning with USB Host (depreciate)
  • Temperature Sensors using Dallas DS18B20
  • Chargers TP4056
  • Rotary Encoder
  • LCD Screen

Now you have decided what you want it is time to order the PCB and Components.


The Arduino needs separate power to the TP4056. The Arduino has two 3.3V and 5V onboard voltage regulators which needs a higher voltage. I would recommend a 7V-9V 2A with a 5.5mm x 2.1mm Positive Centre Negative Outer Switching Power Supply. Below is an image of the PCB traces for the 5.5mm x 2.1mm DC jack.

The TP4056 modules are powered by a direct 5V power supply it should be greater than 8A (40W) I recommend using a 5V 10A (50W) PSU. Below is an image of the PCB traces for the KF301-2P 2 Pin Terminal Block with 5.08mm Pitch.

Load / Discharge Resistors

There are also many option here for load /discharge resistors.

On the PCB there are two different connectors on the bottom side.

Resistor Heatsink Template here

The larger one is a KF301-2P 2 Pin Terminal Block with 5.08mm Pitch.

The smaller one is a JST XH2.54 2 Pin Plug with 2.54mm Pitch.

Dallas DS18B20 Temperature Sensors

If you are going to be using the Dallas DS18B20 Temperature Sensors you will need to drill through the 18650 Battery Holders with a 5mm drill bit. This is so the DS18B20 can make a physical connection with the battery to measure its temperature.

First mount the Battery Holders you can just use the countersunk M3 screws to temporarily hold them, then drill from the rear side of the board marked in red the image below.

Hot Glue the bottom side of the DS18B20 to ensure rigidity.

TP4056 Mounting

To mount the TP4056 modules first solder the female round single headers you will need 5x per cell so a total of 40x single

Insert 4x male round single headers into the 4x female headers place the TP4056 on top and solder it.

Solder a jumper wire on PIN 7 (CHRG) and use some hot glue to reinforce it.

Mosfets THT IRLZ44N TO-220

Solder 24x (3x per module) the IRLZ44N TO-220 Mosfets they are labelled 1 2 3

  • Pin 1 – Gate (Digital Pin to Arduino)
  • Pin 2 – Drain
  • Pin 3 – Source (GND)

Solder on the parts marked red for each 8x modules. Hint the SQUARE pad is GATE.

USB Mini Host

To make the USB Mini Host work on 5v you need to cut the track shown below in the image. I use a stanley knife to do this.

Some Other Build Photos