Tag Archives: arduino

DIY Programmable Lithium Ion Charger Shield

Update:  According to this comment on Dangerous Prototypes, the charger chip’s support for lithium ion charging is quite primitive, and so this project depends on the Arduino to properly manage the charging. Too bad.

ElectroLabs has published a nicely documented programmable single/multi cell lithium battery charger shield for Arduino. It is based on the LT1510 Constant Current/Constant Voltage Battery charger IC.

Features include:

  • Display for battery/charge status and configuring charging parameters
  • 50mA 10 1.1A charging current.
  • 2-10V charge cut-off voltage

Those voltages don’t make a whole lot of sense for Lithium Ion, but it appears the charger IC they are using also works with other chemistries.

I don’t know the BOM cost, but an assembled version is $75 on Tindie (ouch).

I don’t think I’ll be building one of these, but I am very interested in having examples of using commercial charger ICs outside their default configurations.

[via Hack-a-Day]

The humble Smart Battery reveals its secrets

It took me a little longer than I’d hoped, but I’m able to get most of the information I want out of most of the laptop batteries I’ve tested.

ASUS AL32-1005

Manufacturer Name: AS085NJ35E
Device Name: 1005-28
Chemistry LGC0
Design Capacity (mAh): 5400
Design Voltage: 11250
Manufacture Date (Y-M-D): 2009-6-21
Serial Number: 937
Specification Info: 49
Cycle Count: 254
Voltage: 10.28
Full Charge Capacity (mAh): 1680
Remaining Capacity (mAh): 0
Relative Charge PCT: 0
Absolute Charge: 0
Minutes remaining for full charge: -1
Cell 1 Voltage: 2642
Cell 2 Voltage: 3820
Cell 3 Voltage: 3817
Cell 4 Voltage: 0
State of Health: 0
Charging Current: 0
Charging Voltage: 0
Temp: 20.25
Current (mA): 0

You’ll see that this pack is 5 years old, and has had 254 cycles, which probably puts it near the end of its useful life. Looking at the individual cell voltages (actually banks of parallel cells), you’ll see that that one of them is quite a bit lower than the others, suggesting those cells are closer to failing.
I’m still having trouble with the Dell packs I’ve tested. I can get most of the information I want from them, but they don’t report the capacity of the individual cells properly. The individual cell data isn’t part of the official smart battery standard, but it seems pretty standardized. It may be the Dell packs don’t report that information at all, or it may be that they use a different set of commands to reveal it.

Dell 9T48V

Dell 9T48V
Manufacturer Name: SMP-SDI2.8
Device Name: DELL YXVK234J
Chemistry LION
Design Capacity (mAh): 8400
Design Voltage: 11100
Manufacture Date (Y-M-D): 2013-4-19
Serial Number: 181
Specification Info: 49
Cycle Count: 44
Voltage: 10.03
Full Charge Capacity (mAh): 8428
Remaining Capacity (mAh): 0
Relative Charge PCT: 0
Absolute Charge: 0
Minutes remaining for full charge: -1
Cell 1 Voltage: -1
Cell 2 Voltage: -1
Cell 3 Voltage: -1
Cell 4 Voltage: -1
State of Health: -1
Charging Current: 4214
Charging Voltage: 12900
Temp: 23.25
Current (mA): 0

HP Packs have been a mixed bag. I’ve been able to get a full compliment of data out of some of them, and none at all out of others. I’ll work on fixing it after the initial release.

The code runs on an arduino Yun now, and should be easily adapted to any arduino compatible. I’m going to write a little documentation and release it while I continue to work on it.  If you are interested in getting early access, leave a comment here.

Notes: Smart Battery Hacking 2014-08-27

I’m trying to read out information from three different laptop batteries by taking advantage of the smart battery system interface.

The batteries are:

So far, I haven’t had any success in reading out data from any of the batteries, but I have figured out the pinout of the connectors:

MacBook Pro Battery ConnectorIMG_6028

From left to right, inside the wide guide slots on either side:

  • P-
  • Temperature
  • Data (SMBus)
  • Clock (SMBus)
  • Unused
  • P+

 Acer Battery Connector

IMG_6026

From left to right, inside the wide guide slots on either side:

  • P-
  • P-
  • Data (SMBus)
  • Clock (SMBus)
  • Temperature
  • Battery Activate / Enable
  • P+
  • P+

The MacBook Pro battery packs make power available all the time, while the acer batteries require a short or low resistance connection between the P- (system ground) and the Battery Activate pin in order to “wake” the battery so it will present voltage, or receive charging current. Furthermore, the Acer packs only wake up briefly if the overall pack voltage is below ~9v or so.

I’m currently using an arduino and using this post as a starting point on how to (try) to talk to a smart battery.