B6 based chargers

Preamble

Following on from the blog Power Up!, the section on the B6 charges became so long, that I have moved it into its own blog.

B6 based chargers

A very popular type of charger is the SkyRC iMax B6 (50W), or the B6AC, which has a built in AC adapter. There is a version two of the B6AC, which has PC connectivity, but still charges at a maximum of 50W. There is a B6 Mini (60W) as well, which does not have an AC equivalent, but is superior to the original B6 (PC connectivity) and both the version 1 and 2 of the B6AC (increased power – 60W rather than 50W).

The Turnigy Accucel-6 is basically the same as the B6 version 2, but comes in two versions, 50W and 80W. The first version 50W 6A, which has been replaced by Turnigy Accucell-6 50W 6A Balancer/Charger LiHV Capable and Turnigy Accucel-6 80W 10A Balancer/Charger LiHV Capable. There is a great teardown video by EEVblog

There are also the following charger that follow the same design

  • Bantam e-Station BC6 , link to manual (PDF: bantam-bc6) and;
  • Century (UK) X6

iMax B6

The cheapest charger is the iMAX B6 LCD Screen Digital RC Lipo Battery Balance Charger No DC Power Supply, £8.92. Note that it comes with no power supply (either interla AC, or external). There is the iMax B6AC, which comes with an internal mains power supply. Note that these are not originals, and are fake clones, which are prone to overcharging (see below).

The cheapest power supply unit (PSU) for the charger, on eBay, is DC 12V 5A For Imax B5 B6 Balancer Charger AC Power Adapter Supply Easy Plug LED, £5.70 + £0.99, although this may be a little under powered (60W), and thus get rather hot, and so a 70-100+W PSU, for example 15V @ 10A, would be better, see power lead supply for imax B6. However, the cheapest solution is to use a PC power supply (see below).

For a breakdown of what is inside the iMax B6, watch the video What’s Inside: lipo chargers (which dissects a Turnigy Accucell 6 charger).

There is a risk of overcharging, watch TEST of a Fake iMax B6 (I CAN’T Recommend it). To remedy this, see Fix for the IMAX B6 LiPo charger when overcharging (two solutions: replace the potentiometers (?) and/or multiplexer, or; reflash the controller (if there is no known hardware fault)).

Also, try to watch Scullcom Hobby Electronics #1 – IMAX B6AC genuine viz fake, as this is very informative, and shows the differences of the fake with the original, in particular the lack of a fuse on the charging output, as well as how to calibrate the box, by pressing the decrement and enter buttons while switching on the unit.

Another video IMAX B6 Overview of this cheap Chinese copy – 268.

iMax Charger
iMax Charger

Another in depth review is the Review of the Li-Pro Imax 6 balancer/charger. This thread also mentions the Century UK X6 charger, which appears to be a rebadged model.

The Bantam e-Station BC6 is a similar charger, link to manual (PDF: bantam-bc6)

Schematics

The schematics are linked to in this thread, IMAX B6 Schematic [View all Files in thread]. Here are the schematics:

See

RC-Power_BC6_Charger
RC-Power_BC6_Charger

and

Charger
Charger

Also available here, RC-POWER BC6 IMAX B6 HOBBYKING ECO06 DIGITAL CHARGER VOLTCRAFT B6 DIGITAL BALANCED CHARGER, linked from:

Firmware

From IMAX B6 charger (original and clone) – open source firmware, on github cheali-charger, this code is still maintained.

Fixing a clone

If you have a clone, then you may find this article useful, Modifying a knock off battery charger to be safer. See also Turnigy Accucel 6. Review, teardown and hacking.

The only thing that might make it better is an exposed ISP port, a serial link and open source firmware. All of which in theory is hackable.

Other Uses

Foam cutter – 3.5A required, and 5A can be supplied.

Dummy Load (constant voltage, current. resistance)

Power Supplies (for the iMax B6)

Power Supply 12V @

  • 5A, 5.93
  • 6A, 7.13
  • 8A, 8.79
  • 10A, £10.70

This PSU is £9.99 for 12V 10A.

The DC connector must be 5.5mm x 2.5mm (outer diameter x inner diameter), for the iMax B6.

Now you may ask yourself, “Is a voltage higher than 12 V required, to charge batteries greater than 3S (11.1 V)?” Well the answer is no, because the board has a DC-DC voltage boost converter, or step up converter, circuit (Buck Boost), which will provide a voltage greater than the 12 V supplied.

Using a PC PSU

You could use a PC power supply, as most of these are rated at 250 W or more. The main points are:

  1. To power the PSU on, you may need to short the power-on line, pin 4 (often a green wire, but could be grey) of the 20 pin motherboard connector, to ground (pin 3). You could do this with a paperclip, or a piece of mains copper wire.
  2. The yellow wires are the 12 V lines.
  3. Parallel up the yellow wires, to supply sufficient current. The power supply that I used was able to supply 14 A on one line, but it may not be necessary, but drawing over 8 A on a single narrow gauge wire is not particularly advisable.

For more details, see Everything RC – How to Find Best Power Supply for Solution iMaX B6. Also, PC PSU Conversion For Lipo Chargers. Also watch the video below.

DIY: Using a PC power supply with your lipo charger

SkyRC B6 mini & B6AC charger Calibration

Here is a short video, showing how to calibrate the B6 chargers

Getting an original

If, after watching all of the videos above, and reading all of the horror stories, you are paranoid about causing a fire, or just want to treat your LiPo batteries with respect – thereby extending their lifespan – then it is probably best to get an original item. If you consider only the B6 mini, or the B6AC version 2, which are the latest and greatest offerings, then the cheapest genuine original items (search for “SkyRC” not “B6”, “B6AC”, “LiPro” nor “Imax”) are:

Issues with Fakes

The B6 is one of the most copied chargers. As to whether you should risk it and buy one, see IMAX B6 vs fake IMAX B6:

imax B6 problem
IMAX B6 — Read this before you buy..
Upgrading your Imax B6 balance charger?
Another iMax B6 problem (NiMH only charging for 10 mins).

See also SkyRC iMAX B6 80W (FAKE) Battery Charger.

A note on Batteries with Internal Charge Protection

From B6 and 1s LiPo

I have just compared the standard B6 and the Mini B6 manuals and they BOTH say same that you should not charge or discharge batterys with Integral Charge circuits or Protection. Just checked Accucel 6 manual – that is same

Issues with the Turnigy Accucel chargers

Phone Apps with the Turnigy

As the SkyRC and Turnigy models are practically the ame, then can the WiFi module be used, as well as the SkyRC iPone/Android apps (Turnigy do not offer any iPhone apps).

From HobbyKing’s product page for Turnigy Accucell-6 50W 6A Balancer/Charger LiHV Capable (EU Warehouse),

I have updated the firmware from 1.12 to 1.13 and now I can use the SKYRC app V3.3 to monitor the charging process with the Skyrc Wifi module pluged to the USB port. Version 3.4 dont work ( curve and balance fonction dont work ) : search with google the V3.3 app for download ( I use Android 4.4)

and

select the international product for this charger and in the files tab you can download the firmware 1.13. have a nice day

Also, from HobbyKing’s product page for Turnigy Accucel-6 80W 10A Balancer/Charger LiHV Capable (AR Warehouse),

FYI for those of you who like gadgets, this charger can be controlled and monitored with a smart phone via WiFi with SkyRc Wi-Fi module SK-600075 and SkyRc ChargerLink APP. The WiFi module has decent range, I can connect with the charger in the garage or the patio from in the house some 30 feet away. The Android APP does crash when trying to access GRAPHIC or BALANCE view but will pick up where it left off when restarted, all other functions seem to work fine.

and

Update, the Hitec Connect APP works better, will not crash in Graphic or Balance views. Looks like maybe and older version V1.1 as ChargerLink is v3.4

Be careful of which firmware updates you update your charger with

…else you may reduce the power output of your Turnigy charger. The SkyRC firmware is not necessarily compatible with the Turnigy hardware. See WARNING : Do not update Accucel 6 80W charger with SkyRC. Also mentioned in New 10A 80W Turnigy Acucell 6?

I was silly and without thinking updated the FW on my ACcucel 6 80W charger with SkyRC FW vers 1.13. I thought the FW would be ‘universal’ … being that the Chargers are SkyRC based (most likely of their production line as well).

UGH !! Now my Display lights up with words :

SkyRC B6 Mini

Settings on max power only allows me 60W now .. I no longer have 80W capability.

How to flash the Acucell charger (mentioned in WARNING : Do not update Accucel 6 80W charger with SkyRC but from New 10A 80W Turnigy Acucell 6? (see below))

4. Flashing the Charger

I have attached a ZIP archive containing the modified firmware (fw_1.13_patched.bin), the original firmware (fw_1.1_original.bin) and the flashing tools: fw_1.13_patched .
To flash the firmware, start DFU.exe and select fw_1.13_patched.bin.
Then, enter VID = 0x0000 and PID=0x0001, and press update.
The charger will enter DFU mode and Windows should install the DFU driver, which takes a few instants (it’s a HID device, so drivers are already included with Windows).
The updater will then flash the firmware (do not shut down/disconnect anything !), and the charger will then reboot.

The charger is now able to charge Lithium batteries without connecting the balance leads.

DISCLAIMER : I cannot provide any guarantee that this code will not brick your charger, burn down you house or worse. Proceed at you own risk, and never leave charging batteries unattended.

TL;DR: grabbed the firmware update, spent some quality time with a disassembler, patched two bytes, flashed new firmware. Charger now accepts to charge Lithium batteries without connecting the balance leads.

Firmware not supported

The cheali firmware is not supported as an older style controller is used, from WARNING : Do not update Accucel 6 80W charger with SkyRC

Online searches indicate the Accucel 80w is using an old chip not suitable for Cheali etc. so I’m surprised the SkyRC flashed and works !

Lack of calibration

Turnigy Accucel 6 80 W can not be calibrated, New 10A 80W Turnigy Acucell 6?

You could calibrate the original 50watt 5amp model. It worked on mine.

When they came out with the 6amp model that ability was lost.

and

Holding the buttons at power on still puts it into firmware update mode instead of calibration mode.

From Turnigy Accucell 6 80w calibration menu ?

Do you own one of the Turnigy Accucell 6 80W chargers?

Does yours have the calibration option? if yes, what version of firmware does your one have?

Just bought two of them and mine don’t have it, they have FW v 1.2

Holding buttons 2 & 4 at power on does nothing, although holding buttons 1 & 3 makes it go into some sort of updating mode.

Anyone got calibration on theirs?

Can not turn off balance mode

From the same thread as above, New 10A 80W Turnigy Acucell 6?, it comes to light that there is a lack of the ability to turn off balance mode

If I want to balance charge I select “LiPo Balance Charge” where it demands the balance connector. For a standard charge I select “LiPo Charge” and it does not demand the balance connector. I never upgraded the firmware on mine so it’s still on the version it shipped with.

and

I just tried my Accucel 80W on Vers 1.13 …

A single 1S cell charges fine on CHARGE mode without any balance lead needed …

But a multi cell will not. 2S and more requires balance lead even when CHARGE mode selected. This is the old problem that the Mini B6 had when it first came out … then the updated FW had the option to switch off the BALANCE LEAD requirement. The Accucel 80W update has basically removed that switch.

However, there is an unofficial solution

I’ve also got one of these chargers and I am mostly happy with it, but I have also been annoyed by the inability to charge Lithium batteries without the balance connector.
But instead of waiting for the manufacturer to provide a firmware update, I had a try at patching the firmware myself and had pretty good success at it.

Here are some details on how I did it :
1. Feasibility of the hack.
I first began with downloading the 1.13 update (here), which I opened in a hex editor. The firmware image appears as is inside the .exe file, and I could figure out the various strings that show up on the LCD (like “BATT/PROGRAM”, “BATT METER”, “LiPo”, etc.). So there was a good chance of being able to disassemble the firmware and try to patch the balance connection check.

Now the Accucell 6 80W is not based on an Atmega328 or Nuvoton chip like most B6-based chargers, so it is not supported by the existing custom firmwares. However [aequitas] on the cheali-charger github, opened his charger and the main chip is a MA84G564AD4, which is an 8051-based MCU by Megawin technologies. While there is no English datasheet for this particular chip, I have been able to find a development kit for a similar chip (MG84FG516) on their website : http://www.megawin.com.tw/en-global/…cument/134/291. This devkit contains some example code, the English datasheet and more interestingly, a USB firmware update tool, which allows us to flash any firmware to the charger (it does not perform version or checksum checks).
I then grabbed the MCS51 instruction set and went to the disassembly.

2. Firmware Analysis
Since there are no symbols in the firmware file, a top-down approach (starting with the reset vector @0x0000) is not really feasible.
Instead, I went with a bottom-up approach. The first lead I had was the clear-text strings near the beginning of the firmware. However, since this is an 8-bit chip, and the addresses are 16-bits, the addresses do not appear as a whole in the code. Bummer.

I then looked for code interacting with the I/O ports, since these strings are written to the LCD. I have then been able to identify the functions responsible with interacting to the LCD, more specifically : setting the cursor position, writing a single character, writing a string.

Looking for the references to the latter function, I have been able to find where the strings are used in the code, and work up the menu functions : the main menu where we can select the battery type, go to the system settings, etc. and the program menus, such as the “Lithium” menu, where we can select the charge or discharge mode and set the current and number of cells.

Now, get ready for some technical details
Let’s call the variable containing the number of cells N_CELL and the charge mode CHG_MODE. The values assigned to CHG_MODE are: 0 for CHARGE, 1 for DISCHARGE, 3 for STORAGE, 4 for BALANCE CHG and 5 for FAST CHARGE.

Another function I have found using this approach is responsible for writing error messages to the LCD. The actual strings are not directly referred to by this code, instead their addresses are stored in a table in RAM, which is loaded from ROM addresses at some time in the boot process. In this table, we can find a reference to the BALANCE CONNECT ERROR message. Working from here, I have found the function where this error code is set.

Directly above, the N_CELLS and CHG_MODE are checked to see whether there is a balance connect error.
More specifically, the code @0x5F4F does the following :
Check if N_CELLS == 1.
If yes, do not show the error (it’s what allows us to charge 1S batteries without the balance leads)
If no, check if CHARGE_MODE == 1 (DISCHARGE).
If yes, do not show the error (which allows us to discharge batteries without the balance leads).
Otherwise, show the BALANCE CONNECT ERROR and terminate the current program.

3. Patching the Firmware
The charge mode check is implemented in assembly as :

Code:
offset   hex            disassembly	 comment
------------------------------------------------------------------------------------
0x5F59 : E0             movx	a,@dptr  ; A = CHG_MODE
0x5F5A : 64 01          xrl	a,#001H  ; A = A ^ 1
0x5F5C : 60 03          jz	L5F61    ; if A == 0 then jump to 0x5F61 (no error)
0x5F5E : 02 5F E1       ljmp	L5FE1    ; otherwise show BALANCE CONNECT ERROR

Now we want the error to trigger only when the mode is set to BALANCE CHG, and not in the other cases. To do this, we should jump to 0x5F61 if CHG_MODE is not equal to 4 (BALANCE CHG). This is implemented as :

Code:
offset   hex            disassembly	 comment
------------------------------------------------------------------------------------
0x5F5A : 64 04          xrl	a,#004H  ; A = A ^ 4
0x5F5C : 70 03          jnz	L5F61    ; if A != 0 then jump to 0x5F61 (no error)

The patch then simply consists consists in changing 01 60 by 04 70 at addresses 0x5F5B:5F5C. If you are interested in more details about the disassembly, e.g. for custom firmware development, just drop me a line.

4. Flashing the Charger

I have attached a ZIP archive containing the modified firmware (fw_1.13_patched.bin), the original firmware (fw_1.1_original.bin) and the flashing tools: fw_1.13_patched .
To flash the firmware, start DFU.exe and select fw_1.13_patched.bin.
Then, enter VID = 0x0000 and PID=0x0001, and press update.
The charger will enter DFU mode and Windows should install the DFU driver, which takes a few instants (it’s a HID device, so drivers are already included with Windows).
The updater will then flash the firmware (do not shut down/disconnect anything !), and the charger will then reboot.

The charger is now able to charge Lithium batteries without connecting the balance leads.

DISCLAIMER : I cannot provide any guarantee that this code will not brick your charger, burn down you house or worse. Proceed at you own risk, and never leave charging batteries unattended.

TL;DR: grabbed the firmware update, spent some quality time with a disassembler, patched two bytes, flashed new firmware. Charger now accepts to charge Lithium batteries without connecting the balance leads.

Summary of Turnigy Accucel issues

All of the issues mentioned above, with the Turnigy Accucel chargers, are neatly rounded up in this thread My Turnigy Accucell-6 50W 6A Balancer/Charger LiHV story

I recently bought a Turnigy Accucell-6 50W 6A Balancer/Charger LiHV from hobbyking (recently means order placed Dec/2015) since i could’t find the older version and knowing that it could potential be a redesign (for good or bad). Translated that it does the job, with some minor ? issues.

Searching around didn’t reveal all the info i needed at the time of ordering…So here is my story:

Calibration
Calibration menu is missing from this device. And the device is a bit off:
13.86V measured at my power supply using my fluke (although not calibrated in the last 3 years) 13.88 with Watt meter in series (0.08A is not causing significant voltage drop). Device during discharge reports IN Power voltage: 13.81v

That’s 50mV off if we trust my measurement.

Q: How this will affect charging ? What is the maximum voltage i should measure in a lion battery during CV phase charging ? It’s 4.2 +_% ?V
Is it ok if it goes above 4.25V ? (insert reducing cells life)

I though i would be lucky because alternative firmware exists for the older chargers. Wrong

Different hardware
Device look like that it is build around 8051 (and not AVR) as the older one. At least this is what is reporting on the serial connection
C8051F3xx USB Input device VID_0000*PID_001 same story like the 80W version. cheali-charger firmware doesn’t support it (yet)

Disable balance check during Lion charge (enabled for Balance charging)
Security first if i want to charge a 2S/3S pack is should use a balance charger. But if i want to charge the pack without balancing this family of chargers had an option to disable the check if you are on the mode charge (and not balance charge).
This option is missing, balance socket should be used in all modes in this charger.

Termination voltage
Since i don’t want to risk it i decided to change the termination voltage to 4.18V using the battery memory set… Wrong… it resets back to 4.2 after a power cycle, i think they did it as a precaution again.

Turnigy Accucel 6 80W – HobbyKing 7A Power Supply

One thought on “B6 based chargers”

Leave a comment