Smart battery
Smart Battery System (SBS) is a specification for determining accurate battery capacity readings, usually for a laptop. It allows operating systems to perform power management operations based on remaining estimated run times. Through this communication, the system also controls the amount the battery is charged. Communication is carried over an SMBus two-wire communication bus. The specification originated with the Duracell and Intel companies in 1994, but was later adapted by several battery and semiconductor makers.
The Smart Battery System defines the SMBus connection, the data that can be sent over the connection (Smart Battery Data or SBD), the Smart Battery Charger, and a computer BIOS interface for control. In principle, any battery operated product can use SBS, but in practice only laptop computers use the system.
A special chip in the battery pack monitors the battery and reports information to the SMBus. This information might include battery type, model number, manufacturer, characteristics, discharge rate, predicted remaining capacity, an almost-discharged alarm so that the PC or other device can shut down gracefully; temperature and voltage to provide safe fast-charging.
Resetting the EEPROM
Many batteries stop working after a predefined number of charge/discharge cycles, but instead of replacing the battery, it's possible to reset this counter as the battery's data is stored in an EEPROM. There is software available that gives easy access to the information in many models of battery, for example here's a screenshot from SBWorkshop2. There's also some free utilities for Linux such as this one.
Most of the complexity in these devices is actually in enabling the computer to communicate over an SMB two-wire channel which isn't available on a normal laptop, desktop, server or handheld device. But the very basic devices like the Arduino and Raspberry Pi are designed for hardware-oriented projects and come with SMB communications as standard since that's how most chips and cards communicate.
See also
- SBS Forum, including SBS specification
- Things yo do with your dead laptop battery
- SBWorkshop - a device and application for reading and writing battery data
- Free version of the application for Linux