

The MCP7384XX is a highly integrated Li-Ion/Li-Polymer battery charge management controller designed to provide a complete charging solution for single-cell batteries. It employs a linear charge management architecture, ensuring efficient charging with minimal external components. The device includes advanced features such as thermal regulation, automatic recharge, and charge status indication, making it ideal for portable and compact applications.








| Parameter | Value |
|---|---|
| Input Voltage Range | 3.75V to 6V |
| Battery Regulation Voltage | 4.2V (typical) |
| Charge Current | Programmable up to 1A |
| Thermal Regulation | 85°C (typical) |
| Automatic Recharge | Yes |
| Charge Termination | -0.7% of programmed current (typical) |
| Status Indication | Two open-drain outputs (charging, charged) |
| Package Options | SOT-23-5, DFN-10 |
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VDD | Input supply voltage (3.75V to 6V). |
| 2 | STAT | Open-drain status output (charging/charged). |
| 3 | PROG | Programs the charge current via resistor. |
| 4 | GND | Ground connection. |
| 5 | VBAT | Battery connection (to positive terminal). |
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VDD | Input supply voltage (3.75V to 6V). |
| 2 | STAT1 | Open-drain status output 1 (charging). |
| 3 | STAT2 | Open-drain status output 2 (charged). |
| 4 | PROG | Programs the charge current via resistor. |
| 5 | GND | Ground connection. |
| 6 | VBAT | Battery connection (to positive terminal). |
| 7-10 | NC | No connection (leave floating). |
Below is a basic circuit diagram for using the MCP7384XX to charge a single-cell Li-Ion battery:
VDD (5V) ----+---- MCP7384XX ----+---- VBAT (Battery Positive)
| |
R_PROG GND (Battery Negative)
The MCP7384XX can be monitored using an Arduino to read the status pins. Here's an example code snippet:
// Define pin connections for MCP7384XX status pins
const int stat1Pin = 2; // STAT1 connected to Arduino pin 2
const int stat2Pin = 3; // STAT2 connected to Arduino pin 3
void setup() {
pinMode(stat1Pin, INPUT); // Set STAT1 as input
pinMode(stat2Pin, INPUT); // Set STAT2 as input
Serial.begin(9600); // Initialize serial communication
}
void loop() {
int stat1 = digitalRead(stat1Pin); // Read STAT1 pin
int stat2 = digitalRead(stat2Pin); // Read STAT2 pin
// Check charging status
if (stat1 == LOW && stat2 == HIGH) {
Serial.println("Battery is charging...");
} else if (stat1 == HIGH && stat2 == LOW) {
Serial.println("Battery is fully charged.");
} else {
Serial.println("No battery detected or error.");
}
delay(1000); // Wait 1 second before checking again
}
Device Overheating
Battery Not Charging
Status LEDs Not Working
No Output on VBAT Pin
Q1: Can the MCP7384XX charge multiple cells in series?
A1: No, the MCP7384XX is designed for single-cell Li-Ion/Li-Polymer batteries only.
Q2: What happens if the input voltage exceeds 6V?
A2: Exceeding 6V can permanently damage the MCP7384XX. Always use a regulated power supply within the specified range.
Q3: Can I use the MCP7384XX without status LEDs?
A3: Yes, the STAT pins can be left unconnected if status indication is not required.
Q4: How do I calculate the charge termination current?
A4: The charge termination current is typically -0.7% of the programmed charge current. For example, if the charge current is 500mA, the termination current is approximately 3.5mA.