Battery Connection

PackProbe communicates with battery packs that adhere to the Smart Battery Standard, which includes almost all battery packs for laptops made in the last decade or so.

Before connecting to the battery pack, you should educate yourself on the risks of lithium ion batteries, including but not limited to:

  • The potential for damaging the electronics of the pack, your Arduino, or even if your computer if you wire things incorrectly.
  • The potential for burns or even fire in the event of a low-reistance connection between the positive and negative terminals of the battery pack.

To use PackProbe, first connect the Arduino ground to the pack’s negative terminal, and then connect the appropriate pins to the data (SDA) and clock (SCL) pins. You may also need to make a second connection between the ground and the Battery Enable/System Present pin.

That may sound easy, unfortunately, the standard doesn’t describe the connector pinout for battery packs. Connectors vary among manufacturers and even models from the same manufacturer.

To help you get started, we provide pinouts for packs we’ve encountered below. Please note, these pinouts should be verified with a multimeter before making connections to the pack in order to prevent escape of magic smoke, and other undesirable outcomes.

Determining the pinout for an unknown pack is relatively easy by checking voltages and resistances between pins with a multimeter to narrow things down, and then a little trial and error using PackProbe.

Some guidelines:

  • Most packs use the outermost slots for the positive and negative connections to the system.
  • Some packs label the negative and positive sides of the connector.
  • Many packs, particularly those for larger/more powerful laptops, double-up the positive and negative connections on the outer slots, with adjacent slots for more contact area.
  • Some packs present the full pack voltage on the appropriate pins at all times, as long as the voltage is over ~3v/cell. Others need to be turned on by connecting the battery enable pin to ground.
  • The slots exposing the SMBus data (SDA) and clock (SCL) signals are usually  next to one another.
  • The SMBus connections usually have ~0.5-1MOhm resistance to the ground/negative pin.
  • The Battery Enable (BE) pin, if present, will have infinite resistance to ground.
  • Every pack has one slot that provides a separate safety signal. This signal is carried on the “T-pin.” Under normal conditions, this pin will actually be tied to a thermistor to provide a reading of pack temperature, but under temporary or permanent fault conditions, the circuitry may alter the resistance.
  • Once you’ve definitively identified the negative/ground pin and connected it to the ground on your arduino, you can safely probe for the clock and data pins.

Known Pack Pinouts

WARNING:  The information below is provided as a starting point for establishing a data connection to your battery pack.

You must verify these pinouts with a multimeter, using the guidance above before connecting .

Key

    • Negative power / charging contact (ground)
  • ++
    • Positive power / charging contact
  • SDA
    • I2C/SMBus serial DAta line
  • SCL
    • I2C/SMBus serial CLock line
  • T
    • Temperature / safety signal
  • BE
    • Battery Enable (System Present)
  • gap
    • A break in the spacing of pins/slots with no contacts present
  • ??
    • Unknown function

Acer

UM09B7D, UM09F36

From left to right, looking at connector from the narrow side of the pack, with the open edge of the slots facing up:

–, –, SDA, SCL, T, BE, ++, ++

Asus

PL32-1005 (AS035MD33E), AL32-1005 (AS085NJ35E)

From left to right, looking at connector from the narrow side of the pack, with the open edge of the slots facing up:

–, –, ??, SDA , SCL , ??, T, ++, ++

Dell

9T48V (YXVK234J)

From left to right, looking at connector from the narrow side of the pack, with the open edge of the slots facing up:

–, –, ??, BE, –, SDA, SCL, ++, ++

9T119 (8T533 8BN)

–, ??, ??, BE, ??, SDA, SCL, ++

XX327

–, ?, ?, ?, –, SDA, SCL ,? , ++

TC030

Compatible types: PD685, RD301, TD117 or UD088

–. ??, BE?, ?? ,SDA, SCL, ++, ++

Gateway

8MSBG SQU-517 (MAL42ab)

–, –, SDA, SDC, T, ++, ++

HP

HSTNN-DB75

NOTE: This packs connector is in the opposite orientation from mo

From left to right, looking at connector from the narrow side of the pack, with the open edge of the slots facing up:

++, ++, SDA, SCL, ??, T, –, —

TD06

PackProbe can’t currently obtain any data from the HP TD06 battery packs we’ve tested.

–, –, T, BE, SCL, SDA, ++, ++

HPZ PP2171M

–, ??, SDA, SCL, gap, ++

Lenovo / IBM

IBM-92P1087

From left to right, looking at connector from the narrow side of the pack, with the bottom surface of the pack facing down:

–, T, SDA, SCL, gap, ++

IBM-42T4619

From left to right, looking at connector from the narrow side of the pack, with the bottom surface of the pack facing down:

++, ++, gap, SCL, SDA, T, –, —

Samsung

PackProbe can’t currently obtain any data from the Samsung battery packs we’ve tested, but we can get an acknowledgement from the appropriate SMBus address using the pinout below.

AA-PL2NC8B

–, gap, –, T, SDA, SCL, ++, ++

 

13 thoughts on “Battery Connection”

    1. Yes, without it battery voltage is not provided to +/- pins and no charge is accepted. It is safeguard against shorted terminals.
      For some models BE can be more than simple switch and requires proper communication to enable.

  1. Lenovo model L11P6R01 have the same pinout as mentioned IBM-42T4619, ie.:

    ++, ++, gap, SCL, SDA, T, –, —

    Manufacturer Name: SANYO
    Device Name: L11P6R01
    Chemistry LION
    Design Capacity: 6271
    Design Voltage: 10800

  2. Dell T54FJ – pin out is the same as 9T48V (YXVK234J)
    –, –, ??, BE, –, SDA, SCL, ++, ++

    However the device respond as Samsung:
    Manufacturer Name: Samsung SDI
    Device Name: DELL JYPJ12AN
    Chemistry LION
    Design Capacity: 5600
    Design Voltage: 11100

    and it doesn’t shows cell voltages:

    Cell 1 Voltage: -1
    Cell 2 Voltage: -1
    Cell 3 Voltage: -1
    Cell 4 Voltage: -1
    State of Health: -1

    1. Thanks for sharing these details. I’m not working on PackProbe any more. Unfortunately I never figured out how to get individual cell values from Thinkpad or Dell packs.

  3. Works with older Macbook Pro battery. (model A1281)
    -, ?, SDA, SCL, ++

    It read a Lenovo 45N1037, but have odd values for Cell Voltages. (1: 16756, 2: 97, 3: 5911, 4: 19472)
    ++, ++, gap, SCL, SDA, T, -, –

    Couldn’t get a response from a Lenovo 42T4861 battery though, but I think it’s completely drained. I’ll have to charge it a bit first…

    Excellent project. Thanks

  4. Can anyone help with HP Elitebook 820? My laptop got wet. I thought it was okay, but it turns out it was running from the battery, which the laptop won’t charge anymore. I want to manually charge the battery a bit, so I can finish a work project.

Leave a Reply

Your email address will not be published. Required fields are marked *