How is this SparkFun charger capable of charging a LiPo at the same time as powering other devices? The Set up would look like this:

enter image description here

This is what the schematic looks like. Basically, my confusion is that the MCP73831 needs to provide current to the battery to charge it, but if you look at the schematic, the VBAT output of the chip is directly connected to the SYS_OUT and BATT_IN headers. This is confusing because it means that the chip is technically providing current to BOTH the device connected to SYS_OUT and the battery? Isn't this a bad thing? Why would I want to provide current to my output device with a LiPo charging profile? Couldn't this ruin things? Also, doesn't it take away from the battery being charged?


The 100/500mA maximum that the MCP73831 will provide can be used by the battery, or the load, or both sharing it, which means @ the 500mA setting & if your load is operating at its maximum ~300mA, there'll only be ~200mA available to charge your battery, so it'll take longer to charge.

This arrangement is only appropriate to power electronics that can operate between 4.2V (LiPo fully charged) to around 3.0V (LiPo dead flat), and within the 100/500mA charge current capability. So the load will get whatever voltage is determined by the LiPo's state of charge. The load could potentially draw more than 500mA, in which case up to 500mA is coming from the 73831, and the rest from the LiPo. This isn't necessarily a bad thing, it all depends on what the 'load' is, and it can be a valid design decision.

If you're powering, for example, an AVR8 MCU (e.g. ATmega328p, to choose the most common example, but many others are similar), this is fine, although the 'Safe Operating Area' (search for 'Speed Grades' in the '328 datasheet) for that chip won't let you reliably operate down to that low of a Vcc at the usual 16MHz, you'll need to set the pre-scaler to operate the CPU (F_CPU) at 8 or 10 MHz (with the normal 16MHz crystal).

Lastly, if you're being powered from USB, keep in mind that some computer USB ports are truly designed to USB spec, and will only let you draw 100mA without enumerating onto the USB bus (which neither that chip nor the SparkFun PCB do, you need an entire USB-capable MCU to do that), although most smartphone/etc chargers will happily let you draw 500mA or more without enumeration.

  • 1
    \$\begingroup\$ Nice answer, this helped me confirm my thoughts. The part where you said that the load could, technically, draw more than 500mA without destroying the 73831 is what I needed to know. The device I am designing should not draw more than 304mA worst case, but I wanted to know just "in-case". Thanks! \$\endgroup\$ – John August May 17 '15 at 6:41

[first things first: read the MCP73831 datasheet, of you haven't done so already]

This is a fairly simple charge controller. The load (SYS_OUT, aka SYSTEM_LOAD) is wired directly to the battery, so it draws current from both the battery and charger.

  • "Couldn't this ruin things?" That alone shouldn't ruin things. The charger is current-limited. Of course, it also depends on the specific nature of your things, which we don't know enough about.
  • Max voltage that MCP73831 outputs is 4.20V. The load has to be designed to accept such voltage (that's not difficult to achieve).
  • If the battery is completely discharged, then the load will not power-up until the battery gets some charge.
  • The battery will be charging more slowly when the load is consuming part of the charge current.
  • Why hard-wire the load to the battery? Because that's simpler.
    More sophisticated charge controllers have a feature called PowerPath, where the load is not hard-wired directly to the battery. (STNS01 is an example. See block diagram on p.4 of the STNS01 datasheet.)
  • \$\begingroup\$ In my application, my load is a 4.2V load with a maximum current draw of 304mA and low draw of 71mA. Assuming maximum current draw, this would make charging times increase correct? (assume charge current is set to 500mA by selecting the correct Rprog) \$\endgroup\$ – John August May 17 '15 at 0:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.