

The BQ24022 is a highly integrated Li-Ion battery charger with power path management, designed and manufactured by Texas Instruments. This component is ideal for portable applications requiring efficient battery charging and seamless power management. It features a built-in high-efficiency switching regulator, supports both USB and AC adapter inputs, and includes advanced safety features such as thermal regulation, overvoltage protection, and battery temperature monitoring.








| Parameter | Value |
|---|---|
| Input Voltage Range | 4.35 V to 16 V |
| Charge Voltage | 4.2 V (typical) |
| Charge Current | Programmable up to 1.5 A |
| Input Current Limit | Programmable up to 1.5 A |
| Efficiency | Up to 95% |
| Operating Temperature Range | -40°C to +125°C |
| Package Type | DRC-10 (3 mm × 3 mm VSON) |
| Safety Features | Thermal regulation, overvoltage protection, |
| battery temperature monitoring, and timers |
The BQ24022 is available in a DRC-10 package with the following pinout:
| Pin No. | Pin Name | Type | Description |
|---|---|---|---|
| 1 | IN | Power | Input power supply (USB or AC adapter). |
| 2 | OUT | Power | System output voltage. Connect to the load. |
| 3 | BAT | Power | Battery connection. Connect to the positive terminal of the Li-Ion battery. |
| 4 | ISET | Analog | Charge current programming pin. Connect a resistor to set the charge current. |
| 5 | TS | Analog | Battery temperature sensing input. Connect to an NTC thermistor. |
| 6 | CE | Digital In | Charge enable pin. Active low to enable charging. |
| 7 | STAT1 | Digital Out | Open-drain status output 1. Indicates charging status. |
| 8 | STAT2 | Digital Out | Open-drain status output 2. Indicates charging status. |
| 9 | PG | Digital Out | Power good indicator. Active low when input power is valid. |
| 10 | GND | Ground | Ground connection. |
The BQ24022 can be used to power an Arduino UNO while charging a Li-Ion battery. Below is an example code to monitor the charging status using the STAT1 and STAT2 pins.
// Arduino UNO example to monitor BQ24022 charging status
const int STAT1_PIN = 2; // Connect STAT1 to digital pin 2
const int STAT2_PIN = 3; // Connect STAT2 to digital pin 3
void setup() {
pinMode(STAT1_PIN, INPUT); // Set STAT1 as input
pinMode(STAT2_PIN, INPUT); // Set STAT2 as input
Serial.begin(9600); // Initialize serial communication
}
void loop() {
int stat1 = digitalRead(STAT1_PIN); // Read STAT1 pin
int stat2 = digitalRead(STAT2_PIN); // Read STAT2 pin
if (stat1 == LOW && stat2 == HIGH) {
Serial.println("Charging in progress...");
} else if (stat1 == HIGH && stat2 == LOW) {
Serial.println("Charge complete.");
} else if (stat1 == HIGH && stat2 == HIGH) {
Serial.println("No battery connected or fault condition.");
} else {
Serial.println("Unknown status.");
}
delay(1000); // Wait for 1 second before checking again
}
Device Overheating
Battery Not Charging
Power Good Indicator Not Active
Fault Condition Indicated
Q1: Can the BQ24022 charge other types of batteries?
A1: No, the BQ24022 is specifically designed for single-cell Li-Ion or Li-Polymer batteries.
Q2: What happens if the input power is removed?
A2: The BQ24022 seamlessly switches to battery power to supply the load via the OUT pin.
Q3: Can I disable charging while still powering the load?
A3: Yes, you can disable charging by pulling the CE pin high while the load remains powered through the OUT pin.
Q4: How do I calculate the resistor value for the ISET pin?
A4: Refer to the formula in the datasheet: R_ISET = 1000 / I_CHG, where I_CHG is the desired charge current in amperes.