Open source hardware  universal balancing charger.


This project aims to create open source hardware platform for the ever popular cheali-charger software.

It is inspired by the fact that I managed to get one of those clone Imax B6 chargers and it was unfortunately one with the unmarked CPU and so uncompatible with the alternative cheali-charger firmware. Well the original firmware this was not sadisfactory for me also. In fact I was looking for it to cycle some NiMh packs for me, but it failed miserably to do so, I was lucky it did not burn down my house.

 But the enclosure of the charger is so fine extruded aluminium, and a good design, so I did not have the heart to just throw it out , but also did not stand the useless brick laying around. Probaly it would be possible to reverse engineer it and get running somehow, but closer inspection showed that the hardware probably is not so perfect to bother messing with it, plus the results would be quite unrepeatable, becuse when ordering the charger from the it is quite random what version you get. Much better to make one own hardware! The enclousres for those chargers seem to be quite indentical though. So it would be nice possibility for many people to be able to swap out the internals of the charger with the good fully customizeable open source  hardware and software. Currently unknown where those enclosures come from and weather it is possible to order custom variants, but for the price (about 15USD) it seems completely viable to just buy whole charger for the project, throw out the original guts, and reuse the case.

For designing the circuit and board my choice of tool is very good free and open source electronics design suite KiCad (currenty ver5.0).

I found some circuits from around the web that is originally known to be compatible with cheali-charger.
The most basic seems to be this:RC-Power_BC6_Charger.pdf

Another almost same example:rc-power_bc6_imax_b6_hobbyking_eco06_digital_charger_voltcraft_b6_digital_balanced_charger.pdf

The one I had in my hands in most parts represented the following circuit, good ideas from there, also this is notably good source for component choice because uses most readily available and affordable components:ImaxB6_clone.pdf



In this version I tried to follow the concept of SMD balancer resistors. Other circuits have seen some improvements, so it is a redesign from basically BC6 cicruit mentioned earlier. Would no recommend using this version directly but only maybe the base for better redesign. Shown here for reference purposes. Also I am not completely sure weather to completely abandon the SMD balancer resistors.

Warning! Discharger section of this version is flawed, directly drawn down from the original, but do not have low pass filter in it, so can not work! This version was never prototyped.

KiCad 5.0 project

Schematic in pdf for quick viewing:TBmax_ver150.pdf

Snapshot from 3D rendering:front150.jpg


Quite big redesign again. Went to through hole resistors for the balancers as I found out that 2W resistors are readily available.

Discharger circuit also fixed. And of cource when at it I added some of my own touch to it (complete redesign).

This is currently production candidate version. Not prototyped as 11.10.2018

 Kicad(5.0) project

Scematic in pdf for quick viewing:TBmax_ver1.8.pdf

Snapshot from 3D rendering:TBmax_front180.jpg

Snapshot from 3D rendering backside:TBmax_back180.jpg

Gerber files for PCB

 ver1.8 Features:
  • Improved "Battery reverse polarity protection" -now it should be safe to connect also battery first to the charger.
    For some thoughts:
    Although we have higher voltages (up to 6cell battery) so had to improve that further.
    The original was using LM324 inputs, but LM324 is suspectible to output phase reversal.
    o better avoid using LM324 inputs outside their maximum allowed voltage limits.
    Also the new circuit should make it safe to connect battery first to the charger. No matter correct polarity or not. Prevously there was problem that battery reverse protection opamp itself needed supply connected first.
  • Redesigned cell2 individual voltage measurement. Now uses also diff amp. same as cells 3...6.
    Used the extra opamp that is freed from the battery reverse protection. Prevously it was only 4x voltage divider. This should improve accuracy on that.
    Needs software calibration adjustment, so need to figure that out.
  • Redesigned main converter circuit slightly. Now the current error limit is compared with comparator(U3A). This makes it definite current limit 6.5A by default.
    Formula for current limit: I= 5V/15,47/0,05 (comparator treshold[V]/current measurement amp. gain/current sense resistor value[Ohm])
  • MOSFETs in the sell balancer load switches.
  • Through hole resistors for balancer loads.
  • Redesigned discharger circuit. Now uses two darlington NPN transistors to dissipate the heat. And larger value resistors. TIP120 is suitable for analog non-switching applications in compared to previous IRFZ44 that is designed for switching applications. Pinout is compatible. Can still also use MOSFETs without modifications. Assume max 20W dissipation, then IRFZ44 maximum allowable heatsink temperature calculates to 175-40= 135C. For TIP 120 max heatsink temperature at 20W is 150-40=110C. MOSFET may still be slightly better. Must conduct testing.
    Maximum estimated discharge power is 2x2=4W on the resistors plus 2x20W on the transistors, total 44W. Probably good idea to use thermal sensor.
  • Upgraded voltage reference to 5V.
    Recalculated all circuits for 5V ADC reference. Should have the benefit of added accuracy. Also it is nice to use all same value resistors in the cell voltage measuring opamp circuits. Differential amplifiers gain is now increased to 1. As circuit components are all adjusted accordingly so no major firmware rewriting nessesary. Need to check discharger calibration in software and also main voltage measurement -- ADC input dividers might be slightly off, so probably needs new calibration values.
  • Atmega32 microcontroller
  • In general should still be compatible with the cheali-charger imaxB6 atmega32 version.For further details of how to find the hex files for flashing:
  • holes in the board at the places where power transistors tab holes are, this makes possible to screw mount thansistors to the baseplate.


This is the enclosure front panel for the project:

case front panel

 3D rendering of the board:

TBmax front180

Board with with display:

TBmax withDisplay180