Jumper T16 Internal Battery Charger

A 2S/2A LiPo charger mounted inside the Jumper T16 so I can charge the battery without removing it from the case.

Similar projects worth following
The Jumper T16 transmitter is wonderful in most respects, but it lacks a method to charge the battery without removing it from the case. It is rather difficult for arthritic joints, and the flmsy JST connect will probably fail after a relatively small insertion count.

I was using a stack of 2 3.5Ah 18650 Li-Ion batteries to power the T16. They fit into the provided battery holder and a 3 terminal JST connector plugs into the back of the T16 to give it power. I've been using it so much that the batteries need to be recharged more than once per week. The battery compartment cover is tight and difficult to remove. I had to solder an XT30 connector onto the leads, in addition to the JST connector so that I could connect it to my RC battery charger and balance charge the two cells.

There has to be a better way. I'd like to just plug in a small barrel plug into the back of the radio and let it charge for a couple of hours automatically. The schematic below is what I've implemented:

(Full disclosure: I designed the LTC4006 back in 2002. This is the first time that I've been able to use an IC that I designed in one of my projects.) The LTC4006-6, U1, is a stand-alone 2-cell buck-mode switching lithium battery charger. It contains a constant-voltage constant-current controller to charge the battery, along with a charge termination timer and a thermistor sensor interface to prevent charging the battery at unsafe temperatures. It is fairly efficient - 95%, so it should not dissipate a lot of heat inside the case. 

The LTC4006-6 lacks a charge balancer, so I've attempted to provide that capability with U2 and associated components. The circuit attempts to hold BATMID at (BAT+ - GND)/2. It can source/sink up to 175mA into BATMID. Maximum power dissipation will be 0.75W, which will decrease the overall efficiency of the charger to 90%. I expect it to get relatively hot.

The balancer circuit operates until the current from the charger drops below 10% of the programmed current. Then the CHG_ pin drops below 25µA and then it is dragged upward by the LED and resistor loads — turning off the LED. This causes M5 to disable the balancing circuit and M6 & M9 to disconnect it from BATMID to prevent current drain on either battery. After the LTC4006's timer expires it will go to standby mode until the user disconnects the power.

I have upgraded the battery pack to a 2S1P Li-Ion stack of 21700/5Ah cells, which should yield longer battery life, but barely fit in the battery compartment of the T16.

The charger will be powered by a 12-15V AC/DC adapter capable of providing >1.5A. I've got a few of those lying around.

Gerber Files, in .ZIP format, for the latest (linear) charger PCB.

Zip Archive - 24.17 kB - 02/19/2020 at 16:34



Bill of Materials spreadsheet for the charger. Includes some sources.

ms-excel - 11.00 kB - 02/19/2020 at 16:33


  • Installation

    Bud Bennett02/15/2020 at 01:53 0 comments

    The linear balancer version is a success. I assembled the PCBs, using components removed from the first prototypes to save cost. The first time I applied power, without the battery connected, everything was fine. Then I connected the battery... unfortunately in reverse. I heard a “snick” sound and then realized that I had mis-wired the battery. Too late. My moment of carelessness destroyed three components: the LTC4006, the 50mΩ sense resistor, and the bottom FET. After replacing these components everything appears to be working correctly, but with different parametrics.

    The gate drive waveforms are very good (scale is 1/10x):

    The above trace is the top gate waveform. The trace below is of the bottom gate.

    These traces show very little ringing associated with parasitic, or stray, inductance.


    Efficiency: 94.8% (without the balancer circuit operational)

    Charging current: 2.04A @ 7.5V

    Maximum balance current: ±178mA

    Cell imbalance after charge: 33mV (a single occurrence)

    Float Voltage: 8.396V

    Timer Accuracy:  +1.3%

    BAT+ leakage current without power: 26.8µA

    BATMID leakage current without power: 6.6µA

    Thermistor thresholds: rising (cold) =2.24V, falling (hot) =0.561V (This translates to ~0°C to 42.5°C allowed temperature range for charging.)

    I charged two 3.5A 18650 Li-Ion cells until the charger stopped.  There was a 33mV imbalance between the two cells after I let them rest overnight. It’s good enough.

    Installing the Charger Into the T16:

    I drilled a 1/8" hole in the middle of the battery compartment for the thermistor to contact the battery. I used my soldering iron to make an opening in the heat shrink tubing to allow the thermistor to contact the battery pack. (Nevermind that I made the opening in the wrong place...I corrected it later.)

    A 5/16" hole was drilled into the back of lower right side of the back of the transmitter to accommodate the 5.1x2.5mm barrel jack. A 1/8" hole was drilled next to the barrel jack for the charging LED.  The three battery leads from the charger were connected to a MR-30 male connector. The LED leads were shortened, and the LED was glued into the transmitter back with hot melt glue. The thermistor was attached with hot melt glue to extend about 1/2" into the battery compartment -- hopefully to make contact with the batteries. ( A bit phallic, eh?)

    The PCB was attached with a good quantity of Plumber's GOOP, and left to cure for a few hours. The entire assembly looks like this:

    Finally, the three battery leads for the female MR-30 connector were soldered to the T16 daughter board as shown below:

    I left enough battery lead length for easy removal/reattachment of the T16 back. Sharp eyes will note that I did not connect the JST connector to the Jumper main PCB...

    I connected the two MR-30 connectors together and attached the back of the case to the T16 transmitter.

    Moment of Truth:

    I connected the 5Ah battery pack to the JST jack inside the battery compartment and slid the battery compartment lid over top. (A screwdriver was necessary to put enough pressure on the tongue of the lid to allow it to slide into place. We'll see how difficult it will be to remove the lid when necessary.)  When I pushed the power button on the T16...nothing happened. It took me a while to find out that I had not connected the power jack from the battery to the T16. Once the power jack was connected the T16 booted and appeared to operate properly.

    I turned off the T16, connected the 12V DC wall adapter and plugged it into the 125VAC wall socket. The green charging light came on. All is well. The batteries were only partially discharged. The charging LED turned off after only 15 minutes, or so. I let it top-off charge for another hour and then disconnected the wall adapter. The transmitter indicates that the battery is 8.42VDC -- pretty close. I'm done.

  • Upgrading to 21700 Batteries

    Bud Bennett01/28/2020 at 18:27 0 comments

    After watching Joshua Bardwell's, "Jumper T16 Battery Charging Mod" video, I decided to upgrade my battery pack from 3.5Ah 18650 to 5Ah 21700 batteries. There are a few reasons for this:

    1. The 21700 batteries offer 40% more battery life.
    2. The 21700 batteries fit (just barely, and it's a tight squeeze) into the battery compartment without modification.
    3. It gets rid of the battery holder which has poor contact resistance and if the batteries are held too tightly by the sides of the holder they can prevent a reliable contact of the battery to the battery holder terminals.

    I need three things:

    1. Batteries: I bought some Efest 5000mAh/10A 21700 IMR Li-Ion batteries from an eBay USA seller.
    2. Heat shrink: 65mm PVC, from Amazon.
    3. 3-pin JST HX plugs w/22AWG wire, from Amazon.

    Everything showed up on the same day and I assembled two batteries into a pack:

    I did not provide any insulation on the end caps. There is no protection to inadvertent short circuits, but I figured that the battery was going to sit in the T16 battery compartment its entire life. There is no metal anywhere in the battery compartment to short the battery terminals. There is also no strain relief on the solder joints for the same reason.

    It is an extremely tight fit. The new pack must be shoved into the compartment with excessive force. I'm thinking of taking the back off of the T16 and run a heat gun along both sides of the battery compartment to expand the compartment and provide a bit of relief to the battery. 

    It will require 3 hours to charge this pack at 2A. I changed the resistor that controls the timer, R5, to 470kΩ as a result. If the pack charges to C/10 in less time than 3 hours, it will turn off the charge indicator LED and finish the top off charge in 45 minutes.

  • Back to using a linear balancer

    Bud Bennett01/26/2020 at 16:11 0 comments

    I'm switching back to the linear balancer for three reasons:

    1. There is no current limiting. If two discrete batteries are loaded into the battery holder the voltage difference between them could cause the switching balancer to put out more than 1.2A. I could not find an inductor, L2, in a 2mm x 1.6mm package that could withstand that current for very long. I had already smoked to L2 inductors while debugging the first prototype.
    2. I don't really understand how the buck and boost ICs are reacting to being driven in an unusual manner. They get hotter than I expected. The whole point of using a switching balancer was to decrease power dissipation and that did not appear to be happening. 
    3. The max power dissipation of the linear approach is 0.75W and the balancer circuit is current limited. The additional power dissipation decreases the efficiency of the overall charger to 90%, which is probably acceptable, but that is 1.7W!

    An updated linear balancer schematic:

    The charger circuitry did not change. I simulated the balancer and came up with a few changes to improve stability. It is just a voltage follower with a current limiting output stage. In operation, M5 is turned off by CHG_ and M6 & M9 connect U2 to the output stage, M7-M8. U2 will attempt to force BATMID to be (BAT+ - GND)/2 with a current of up to 175mA, limited by R11 or R12. R11-R12 are 2512 size resistors rated at 1W. The maximum power dissipation of M7 and M8 will be 0.2W, which is well within their rating.

    Compensation to prevent oscillation is provided by C7 and R10. C8 provides filtering at the input to reduce any 300kHz switching noise from the charger.

    When CHG_ goes high, indicating the the charger current has dropped below 10% of programmed current, the balancer is turned off by taking the gates of M6 & M9 to GND. This disconnects the output stage and it will float with very little current flowing -- nA. U2 won't like this and its output will be indeterminate, which is why M6 & M9 are connected with their sources together and will prevent any current flow to the gates of M7-M8 no matter what voltage is at the output of U2. When DCIN is disconnected the gates of M6 & M9 are near GND and the balancer is off. There will be some leakage current from R1 and R14 connected to the batteries and U2, but it will be just a few µA.

    The layout is the same size as the switching balancer -- about 1.0" x 1.2" -- $6.05 for 3 PCBs from OSH Park:

  • Testing the First Prototype

    Bud Bennett01/22/2020 at 03:06 0 comments

    The LTC4006-6 parts arrived the same day as the 2A version PCB. I decided to assemble the PCB is stages to avoid having to debug everything at once. The battery charger was populated first. After a false start, where I put the wrong value for R3 in the thermistor circuit, it fired up and appears to be completely functional:

    • Charging current 1.95A.
    • Output voltage 8.446V (0.55% high)
    • Measured efficiency 95% (1.44A @12V vs. 1.95A @ 8.2V)
    • C/10 indicator is functional
    • Timer is functional

    The gate signals to the top and bottom FETs were very clean. Without a battery load the current draw from DCIN is only 13mA, which indicates there is no shoot-through between the drivers.

    The only charger issue I found was that the LED did not turn off completely when the CHG_ output changed to sinking 25µA . Apparently the LED is too efficient. A 3kΩ resistor across the LED fixed the problem.

    The next step was to populate balancer circuitry and test it. Things did not go well. The balancer control loop was unstable without a battery, but when I connected the battery L2 smoked...twice. I went back to the LTspice simulation and came up with a better compensation scheme that would work with just a large capacitor connected to BATMID. It turns out that the loop cannot tolerate heavy filtering on the positive input of the opamp, but it needs some filtering. Changed C11 to 22pF. I also changed R17 to 10kΩ in case the opamp output went to the supply rail it would limit the current into U4.

    At this point I was testing the balancer by connecting a 220Ω resistor from BATMID to either BAT+ or BAT-. The buck would operate with a resistor to BAT-, and the boost would operate with the resistor to BAT+. 

    Next, I connected a 2S 3.5Ah Li-Ion battery and charged it with the balancer. Everything worked as designed.

    The last test was to measure the current drain from BAT+ and BATMID when DCIN was absent. I measured 22µA from BAT+, as expected. The current out of BATMID was 13mA! After testing a couple of theories, I eventually decided that the SW pin of U4 was sinking current since it never expects the SW pin to be held above its ground potential. 

    The best solution that I came up with was to disconnect the balancer from BATMID when the CHG_ signal went high. This required another AO3400 FET switch and a resistor ( and another PCB turn.)

    The latest schematic with the fixes is located in the project details.

  • PCB released for Fab

    Bud Bennett12/09/2019 at 00:34 0 comments

    I kicked the design around for a few days. Not really getting anywhere with finding show-stopper problems. I can't simulated it, so probably best the spend $5 and get something to test for errors. Here's the schematic of what I released for fabrication:

    I needed several ceramic capacitors on the CLP/CLN rail to prevent problems, since this is the power supply rail for the LTC4006 - added C14, and moved C12-C13 from DCIN to CLN. C6 is required to damp transients from causing an over-voltage condition on DCIN when an AC-adapter is inserted into the DCIN jack.

    M6 was added to disable the buck and boost converters when the charger transitioned from constant current to constant voltage control -- effectively ending the charge cycle. 

    I added a few CYA components. R17 is just in case the FB input of U4 requires a resistive input to remain stable. There is already a resistor at the FB input of U3. 

    The finished PCB dimensions are 1"x1.2" -- pretty small. Here's the top layer:

    It's amazing how small L2 is! There are Kelvin connections from the GND pin of the LTC4006 to its associated low current control components. All of the ground connections in the lower current balancing circuitry are made using vias to the ground plane on the bottom side.

    Before ordering PCBs I opened the T16 case to make sure the charger would fit somewhere. I decided to mount the charger to the back case of the T16. The white patch in the middle of the case is a piece of paper that I cut to match the PCB dimensions. I'll probably just glue the charger at that location (the bottom of the battery case) then run the 12V power connections to a 5.5x2.5mm panel mount barrel jack on the lower left side, place the LED hole near the jack and run the thermistor through a hole in the battery case. The three wire connection to the battery terminals on the T16 will use a MR60 connector so that the back can be removed easily for future access. 

    I got tired of looking at the PCB after 2 days...ordered 2oz. copper 2-layer PCB boards for <$6 from OSH Park. They will be ready in about three weeks. Hopefully the parts I ordered for it will arrive before then.

  • Creeping Elegance

    Bud Bennett12/04/2019 at 06:05 0 comments

    My first approach to a balancing circuit is the schematic below.

    All it does is source or sink a current into the battery stack to attempt to equalize the voltage across each battery. R12-R13 limit the current into the batteries to about ±250mA. They are large 1W resistors to avoid smoking with the 0.75W max dissipation. I thought that there might be a better way. There are a couple of YouTube videos that talk about a small circuit that would equalize a battery stack with up to 1.2A, using a switched-mode circuit. You can get one from AliExpress for a few $$. The problem with that circuit is that it only balances errors greater than 100mV -- reducing them to 30mV.

    A crazy idea:

    After a couple of days of mulling it over in my head, and then another couple days simulating it on LTSpice, I came up with this concept of a switched-mode battery balancer.

    It's kinda brute force. The easiest way to think about how this circuit works is that the buck converter sources current through the inductor, and the boost converter sinks current through the inductor. If BAT1 has more voltage than BAT2 then the buck converter operates to take current from BAT1 and give it to BAT2 until the voltages equalize. Conversely, if BAT2 has more voltage, the boost converter operates to remove current from BAT2 and route it to BAT1. The opamp, U1, senses when the batteries are out of balance and directs the converters to source or sink current appropriately. Only one converter can be active at a time -- this is insured by the simple inverter using M1. This only works if there is an amount of resistance in the batteries, or added by R5, that will limit the current from the converters. 

    I was able to simulate the operation of the circuit using LTSpice. I used Analog Devices converters since they provided the models for them in LTSpice.

    The batteries are emulated with large capacitors -- C2 and C3. I offset the initial voltages on the batteries and unbalanced them by 10% in capacity. Initially, the lower battery has a lower voltage and also a lower capacity. The charger is just a 1A current source, I1. As the batteries charge the capacity imbalance will cause the voltage on the lower battery to exceed that of the upper. When the balancer begins operation it turns on the buck converter to take charge from the upper battery and put it on the lower. You can see the current through R1 (the upper trace) start out relatively high and then scale back as the batteries equalize. The buck converter goes into burst mode as the current decreases until it stops operation altogether when the batteries are equal. Eventually, the voltage on the lower battery gets bigger than the upper battery because it has the lower capacity and will charge faster than the upper battery. When this happens the boost converter turns on to remove about 50mA from the upper battery and send it to the lower battery to keep them charging evenly. You can see the two feedback inputs to the converters (the middle traces) switch over when this happens.

    Making it Real:

    I found several switched-mode converter ICs for a lot less than what Analog Devices wanted to do the job. Here's my first attempt at a real solution for a SMPS battery balancer:

    U3 and U4 are SOT23-6 switchers operating around 1.5MHz. L2 is a small, 2.0x1.6x1.2mm inductor that is shared between the two switchers. R9 sets the maximum current sourced/sunk by the switchers. I decided to use 0.1% tolerance resistors, R1-R2, to set the balancing voltage of the stack. If I were to use 1% tolerance resistors the error between the two battery voltages could be above 80mV. With the better tolerances, the balancing error should be below ±10mV.

    The last design consideration is the leakage current out of the batteries after the charging event. The LTC4006 specifies a current drain from the battery less than 15µA. Other leakage sources are R1-R2, R13, U3-U4 shutdown current, and the reverse leakage of D1, which is specified...

    Read more »

View all 6 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates