

The BQ76925 is a battery monitor and protection integrated circuit (IC) manufactured by Texas Instruments. It is specifically designed for lithium-ion battery packs and provides essential features such as cell voltage monitoring, temperature sensing, and integrated cell balancing. This IC is ideal for applications requiring precise battery management, such as electric vehicles (EVs), energy storage systems, and uninterruptible power supplies (UPS).








The BQ76925 ensures safe and efficient operation of lithium-ion battery packs by monitoring individual cell voltages, detecting faults, and balancing cells to maintain optimal performance.
| Parameter | Value |
|---|---|
| Operating Voltage Range | 2.5 V to 26 V (supports up to 6 series-connected cells) |
| Cell Voltage Measurement | 0 V to 5 V per cell |
| Temperature Sensing | Supports external thermistors (NTC or PTC) |
| Cell Balancing | Integrated passive balancing with external resistors |
| Communication Interface | I²C-compatible interface |
| Power Consumption | Low-power operation: < 10 µA in shutdown mode |
| Fault Detection | Overvoltage, undervoltage, and overtemperature protection |
| Package Type | TSSOP-16 (Thermally Enhanced Thin Shrink Small Outline Package) |
The BQ76925 is available in a 16-pin TSSOP package. Below is the pin configuration and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VC1 | Cell 1 voltage input |
| 2 | VC2 | Cell 2 voltage input |
| 3 | VC3 | Cell 3 voltage input |
| 4 | VC4 | Cell 4 voltage input |
| 5 | VC5 | Cell 5 voltage input |
| 6 | VC6 | Cell 6 voltage input |
| 7 | VSS | Ground connection |
| 8 | TS1 | Temperature sensor input 1 |
| 9 | TS2 | Temperature sensor input 2 |
| 10 | SDA | I²C data line |
| 11 | SCL | I²C clock line |
| 12 | ALERT | Fault alert output (active low) |
| 13 | REGOUT | Regulated output voltage (3.3 V) for powering external circuits |
| 14 | BAL1 | Cell balancing control for Cell 1 |
| 15 | BAL2 | Cell balancing control for Cell 2 |
| 16 | BAL3 | Cell balancing control for Cell 3 |
Below is an example of how to interface the BQ76925 with an Arduino UNO using the I²C protocol to read cell voltages:
#include <Wire.h> // Include the Wire library for I²C communication
#define BQ76925_ADDRESS 0x18 // Default I²C address of the BQ76925
void setup() {
Wire.begin(); // Initialize I²C communication
Serial.begin(9600); // Initialize serial communication for debugging
// Configure the BQ76925 (example: enable cell voltage monitoring)
Wire.beginTransmission(BQ76925_ADDRESS);
Wire.write(0x01); // Write to configuration register (example address)
Wire.write(0x0F); // Example configuration value
Wire.endTransmission();
}
void loop() {
// Read cell voltage (example for Cell 1)
Wire.beginTransmission(BQ76925_ADDRESS);
Wire.write(0x02); // Address of Cell 1 voltage register
Wire.endTransmission();
Wire.requestFrom(BQ76925_ADDRESS, 2); // Request 2 bytes (16-bit voltage data)
if (Wire.available() == 2) {
uint16_t cellVoltage = Wire.read() << 8 | Wire.read(); // Combine MSB and LSB
Serial.print("Cell 1 Voltage: ");
Serial.print(cellVoltage * 0.001); // Convert to volts (example scaling)
Serial.println(" V");
}
delay(1000); // Wait 1 second before the next reading
}
No Communication via I²C:
Incorrect Cell Voltage Readings:
Fault Alert Triggered:
Excessive Heat During Cell Balancing:
Q: Can the BQ76925 monitor more than 6 cells?
Q: What type of thermistors are compatible with the BQ76925?
Q: Is the BQ76925 suitable for high-current applications?
Q: Can I use the BQ76925 with a 3.3 V microcontroller?
This concludes the documentation for the BQ76925. For further details, refer to the official Texas Instruments datasheet.