Let's Make Robots!

Max713 NiCad/NiMH smart charger.

I made a battery charger with some free samples of the maxim max713 chip.

Maxim home page.

Chip details.


Search for samples.

The 713 supports both NiMH and NiCad while the 712 is for NiMH. Both can fast charge up to 16 cells and support V/T, temperature and time out charge cut off. It can charge the battery while still powering the load. If you don`t need NiCad support get the 712, it`s better for charging NiMH safely because of the way it measures the cut off voltage.

The basic linear circuit is fairly easy to make up, you must use the formulas here to find the values for R1 and Rsense though. Do this with the biggest battery pack you want to use.

  1. Choose how many cells to charge. Minimum Input Voltage = Number of cells x 1.9 + 1.5
  2. Find out R1. R1 powers the chip. R1 in ohms = (Minimum Input Voltage - 5) / 0.005
  3. Decide on a fast charging current. Ifast in mA = Battery capacity in mA / Charge time in hours
  4. Find the Rsense resistor. Rsense in ohms = 0.25 / Ifast in A
  5. Set PG0 and PG1 to the cell number according to datasheet Table 2.
  6. Set PG2 and PG3 to set the cut off time according to datasheet Table 3. Cut off should be slightly higher than charge time.
  7. PNP power dissipation. PDpnp =(Maximum Input Voltage - Minimum Battery Voltage) x Charge current in A Check this against the PNP datasheet. This is wasted heat and depending on your cell count range you will need a heatsink and/or fan.

For my charger I chose up to 6 cells (the picture shows jumpers up to 8 cells but it`s not wired up yet). Fast charge current and Rsense aren`t set in stone because they can change if you charge different capacity battery packs.

  1. Minimum input voltage = 6 x 1.9 + 1.5 = 12.9v
  2. R1 = (12.9 - 5) / 0.005 = 1600. I picked the next lowest resistor at 1.2k.
  3. Ifast = 2500mAh / 2 hours = 1250mA.
  4. Rsense = 0.25v / 1.25A = 0.2 ohms.
  5. PG1 and PG0 both unconnected.
  6. PG2 connected to BATT-, PG3 connected to REF pin. With a charge time of 2 hours, the timeout is the next highest at 132 minutes. There will be losses through heat so it`s fine. Also voltage slope cut off is enabled to turn off automagically when the voltage stops rising.
  7. PDpnp = (13 - 4) x 1.25A = 11.25W. 2N6109 maximum PD is 40W but it gets lower as it gets hotter. For every degree C above 25 minus 0.32W from 40. If I think it could get up to 60 degrees.. 40W - (60-25) x 0.32 = 28.8W max power dissipation. Well over 11.25W.


Actual charge current above is about 900mA because the fan sucks up a bunch. The jumpers and resistors are really fiddly, I still have to get around to putting the temperature probes on it, changing the jumpers to dip switches or rotary switches, adding 8 cell battery support, and mounting it in a box. The current charge labels on the right are only accurate for a 1000mAh battery but it gives me an idea of what kind of charge rate to expect.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Yep that was the plan, but we are still waiting for her visa to be processed so we can`t leave until that happens. I hate moving house.. well I hate packing and deciding what to toss and what not to. I collected so much great junk from scavenging printers that will only end up in a landfill now. /sob My wife is ruthless.

If you don`t want the max713 to do temperature monitoring you could just have the charging circuit in the dock with 2 direct contact points to the battery. Even with the charger on the dock it wouldn`t be hard to use a thermistor and monitor the battery temperature with the onboard micro.

Ah - and I just realised why I am not getting the same numbers as you - my batteries seem to be uber-bats; they have a capacity of 2.3Ahrs.

Hmm, It seems that an external mounting is the only way to go -probably that's a good thing anyhow, I'm a bit space limited in the vacboks.

Right - add a whopping heatsink and another fan to the shopping list...



I finished the PCB layout and sent it off. I am going through Sparkfun's service so it will take up to 6 weeks to get them back... I'll know then. I checked and rechecked my work, I think i got it right. As soon as it is working, you will know!

Awesome! Can`t wait to get my grubby little paws on one :)

Just got my samples a few days ago! 

I will study the circuit a bit more before I try anything with them but the more I look at it the more confusing it becomes... Will really have to study the PDF to understand as much as I can.

If I can get this to work with different battery packs it will be incredibly useful!  


I was wondering how much current goes through the PGM0,PGM1,PGM2,PGM3 and would a transistor used as a switch be able to handle it?

I believe a possible 30V max can go thought those pins and using a transistor that can handle 40V would work but could they handle the current?   


Im trying to use this chip/circuit to recharge 4 AA 2500mAh batteries, I figured the Rsense to be .3 ohm does that sound about right?

How does a person know how long the charge time should be set to?

Should I expect a good about of heat off the transistor? I hoping that with just the 4 cells it wont be too bad...

Thanks for any advice and thanks for the write up! 

Any help would be greatly appreciated. thanks.

Hi birdofprey. Sorry for not replying, I have very flaky internet service right now.

There really is no *wrong* Rsense because it depends on how fast you want to charge your batteries which is totally up to you. An Rsense of 0.3 ohms for a 2400mAh battery makes it a charge current of 833mAh. With that charge curent they should be fully charged in about 2.8 hours.

Thanks for the info.

What would a Rsense of 0.5 ohms do to the charge time?

also, Im using 4 AA batteries, each 1 is  2500 mAh, (I know this is a novice question) -so with 4 does it stay at 2500 or does it jump up to 10,000mAh?