Arduino Battery SMBus Reader

Introduction: Arduino Battery SMBus Reader

A simple SMBus reader for most smart batteries
Reads the data from the TI chip set used in many smart battery packs

Step 1:

The 2x 1K resistors on data and clock inputs can be removed if you can’t get data
This was added for protection during testing other batteries with USB connection.

Step 2:

Original code was downloaded some time ago and heavily modified for formatting on Nokia display and getting data from larger battery packs (up to 8S)

Included the libraries that I used as these seem to change over time and the original code won't

More details are displayed via the Arduino Serial Monitor

Note the cell voltage displays 3 digits
Eg 356=3.56 volts
Cy = Cycles
CC = Current Capacity
DC = Design Capacity
DV = Design Voltage
V = Current Voltage

Step 3:

Build a Tool Contest

Participated in the
Build a Tool Contest

Be the First to Share


    • DIY Summer Camp Contest

      DIY Summer Camp Contest
    • Fandom Contest

      Fandom Contest
    • Fruit and Veggies Speed Challenge

      Fruit and Veggies Speed Challenge



    Question 1 year ago on Introduction

    Hi PB The board you gave me for the coffee, I managed to break the 5110 display and got one form ebay but when I run the arduino I get all pixels on.
    Is the code here the same as what I have on this nano?
    I want to try uploading the program again with different contrast values.


    Answer 1 year ago

    Yes . It’s the same code. It looks like the Arduino isn’t talking to the Nokia display properly. Recheck all connections.
    Edit - great to see you got it working again