I want to build a robot based on Raspberry Pi with Raspberry Camera. It will use tracked car chassis to move around my flat. I'd decided to use 3-cells Li-Po battery to power this robot (because of requirement of high current for chassis motors) but it's very inconvenient to extract battery and use my IMax B6 charger to charge batteries. So I want to implement some kind of BMS which will allow me to charge battery without extraction and even without turning Raspberry Pi off.

I've found such open source solution for Li-ion batteries http://libre.solar/devices/bms-5s/ but unfortunately I can't find something like this for Li-Po batteries (I've found bq25708 chip which does exactly what I want but there are no open source power management projects for Li-Po batteries). I've found such boards on aliexpress https://aliexpress.com/item/6A-3S-12V-18650-Lithium-Battery-Protection-Board-3-Packs-Li-ion-11-1V-12-6V/32821150469.html but as it is said in a description this board for Li-Ion chemistry.

So what is the best decision in this situation? Should I use Li-ion batteries instead? Is there some solutions for Li-Po batteries? Should I use some special chip from TI or ST or maybe there is some open source project based on avr/stm32? Why BMS for Li-Po chemistry are so unpopular? May be I just can't google it?


1 Answer 1


You should consider using off the shelf R/C batteries and charging equipment from a website such as hobbyking as the most straightforward route to your goal.

Li-ion and Li-poly are generic terms that don't convey the actual chemistry of the cell but are often used informally to differentiate physically between cylindrical and pouched cells.

Many lithium types share the same charging voltage; so, as long as you aren't trying to charge very fast they can be used across various chemistry's. The aliexpress link you provided will likely work with your cells, just check the cell manufacturers charge voltage matches the protection PCBs.

  • \$\begingroup\$ My Hobbyking charger uses 4.1v for Li-ion and 4.2v for LiPo, so may be there is more information in those terms than your casual dismissal of any difference warrants. \$\endgroup\$
    – Neil_UK
    Commented Apr 14, 2018 at 8:17
  • \$\begingroup\$ To quote battery university, "Li-polymer can be built on many systems, the likes of Li-cobalt, NMC, Li-phosphate and Li-manganese, and is not considered a unique battery chemistry." "what is the difference between a normal Li ion and Li ion polymer? As far as the user is concerned, lithium polymer is essentially the same as lithium-ion. Both systems use identical cathode and anode material and contain a similar amount of electrolyte." "Charge and discharge characteristics of Li-polymer are identical to other Li-ion systems and do not require a dedicated charger. " \$\endgroup\$
    – lucky bot
    Commented Apr 14, 2018 at 8:36
  • 1
    \$\begingroup\$ ... so perhaps the best and most cautious advice is 'notwithstanding any apparent meaning ascribed to the terms Li-ion and LiPo by any particular manufacturers, read the specific battery charging requirements, and read the specific charger charging profile, before charging any Li-xxx battery'. \$\endgroup\$
    – Neil_UK
    Commented Apr 14, 2018 at 8:50
  • \$\begingroup\$ I agree as stated above. "check the cell manufacturers charge voltage matches the protection PCBs." \$\endgroup\$
    – lucky bot
    Commented Apr 14, 2018 at 8:56
  • \$\begingroup\$ I'm not sure that off the shelf charging equipment can tell my raspberry pi that charging is finished. Is it possible? I want my robot be a bit autonomous, so it should detect low voltage level and goes to charging station (I can do this), later it should detects charging has finished. If I'm not mistaken only custom solutions using BMS chips can do this. \$\endgroup\$
    – ft232r
    Commented Apr 14, 2018 at 10:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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