Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use MCP7384XX: Examples, Pinouts, and Specs

Image of MCP7384XX
Cirkit Designer LogoDesign with MCP7384XX in Cirkit Designer

Introduction

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.

Explore Projects Built with MCP7384XX

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Wi-Fi Controlled Relay Module with ESP8266 and MCP23017
Image of smart home: A project utilizing MCP7384XX in a practical application
This circuit is a WiFi-enabled relay control system using an ESP8266-01 module and an MCP23017 I/O expander. The ESP8266 communicates with the MCP23017 via I2C to control an 8-channel relay module based on the state of 8 rocker switches, allowing for remote and manual control of connected devices.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based I2C Communication Hub with Multiplexer and Expander
Image of Lights: A project utilizing MCP7384XX in a practical application
This circuit features an Olimex ESP32-EVB microcontroller unit (MCU) for processing and connectivity, interfaced with an MCP23017 I/O expander and an Adafruit TCA9548A I2C multiplexer to expand the number of I/O lines and allow multiple I2C devices to communicate with the MCU over the same bus. Pull-up resistors are connected to the I2C lines for proper bus operation, and both the MCP23017 and TCA9548A have their reset lines pulled high, likely for normal operation without external reset control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Wi-Fi Controlled Smart Relay Switch with ESP8266 and MCP23017
Image of Bed Room: A project utilizing MCP7384XX in a practical application
This circuit is designed to control an 8-channel relay module via an ESP8266 microcontroller, which interfaces with an MCP23017 I/O expander over I2C. The ESP8266 connects to a WiFi network and subscribes to MQTT topics to receive commands for toggling the relays. Additionally, there are toggle switches connected to the MCP23017 that allow manual control of the relays, with the system's state being reported back via MQTT.
Cirkit Designer LogoOpen Project in Cirkit Designer
STM32 and ESP32 CAN Bus Communication System with MCP2515
Image of CAR HACKING: A project utilizing MCP7384XX in a practical application
This circuit integrates multiple microcontrollers (STM32F103C8T6, ESP32, and Raspberry Pi Pico W) with MCP2515 CAN controllers to facilitate CAN bus communication. The microcontrollers are connected to the MCP2515 modules via SPI interfaces, and the circuit includes USB-to-serial converters for programming and debugging purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with MCP7384XX

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of smart home: A project utilizing MCP7384XX in a practical application
Wi-Fi Controlled Relay Module with ESP8266 and MCP23017
This circuit is a WiFi-enabled relay control system using an ESP8266-01 module and an MCP23017 I/O expander. The ESP8266 communicates with the MCP23017 via I2C to control an 8-channel relay module based on the state of 8 rocker switches, allowing for remote and manual control of connected devices.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Lights: A project utilizing MCP7384XX in a practical application
ESP32-Based I2C Communication Hub with Multiplexer and Expander
This circuit features an Olimex ESP32-EVB microcontroller unit (MCU) for processing and connectivity, interfaced with an MCP23017 I/O expander and an Adafruit TCA9548A I2C multiplexer to expand the number of I/O lines and allow multiple I2C devices to communicate with the MCU over the same bus. Pull-up resistors are connected to the I2C lines for proper bus operation, and both the MCP23017 and TCA9548A have their reset lines pulled high, likely for normal operation without external reset control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Bed Room: A project utilizing MCP7384XX in a practical application
Wi-Fi Controlled Smart Relay Switch with ESP8266 and MCP23017
This circuit is designed to control an 8-channel relay module via an ESP8266 microcontroller, which interfaces with an MCP23017 I/O expander over I2C. The ESP8266 connects to a WiFi network and subscribes to MQTT topics to receive commands for toggling the relays. Additionally, there are toggle switches connected to the MCP23017 that allow manual control of the relays, with the system's state being reported back via MQTT.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of CAR HACKING: A project utilizing MCP7384XX in a practical application
STM32 and ESP32 CAN Bus Communication System with MCP2515
This circuit integrates multiple microcontrollers (STM32F103C8T6, ESP32, and Raspberry Pi Pico W) with MCP2515 CAN controllers to facilitate CAN bus communication. The microcontrollers are connected to the MCP2515 modules via SPI interfaces, and the circuit includes USB-to-serial converters for programming and debugging purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Smartphones and tablets
  • Wearable devices
  • Portable medical equipment
  • Power banks
  • Wireless sensors and IoT devices

Technical Specifications

Key Technical Details

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 Configuration and Descriptions

SOT-23-5 Package

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).

DFN-10 Package

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).

Usage Instructions

How to Use the MCP7384XX in a Circuit

  1. Power Supply: Connect the VDD pin to a regulated DC power supply (3.75V to 6V). Ensure the supply voltage is within the specified range to avoid damage.
  2. Battery Connection: Connect the positive terminal of the Li-Ion/Li-Polymer battery to the VBAT pin. The negative terminal should be connected to GND.
  3. Programming Charge Current: Use a resistor between the PROG pin and GND to set the desired charge current. The charge current can be calculated using the formula: [ I_{CHARGE} = \frac{1000}{R_{PROG}} ] where ( R_{PROG} ) is in kΩ and ( I_{CHARGE} ) is in mA.
  4. Status Indication: Connect LEDs (with appropriate current-limiting resistors) to the STAT pins for visual charge status indication:
    • STAT1: Charging
    • STAT2: Fully charged
  5. Thermal Considerations: Ensure proper heat dissipation by placing the MCP7384XX on a PCB with adequate thermal vias and copper area.

Example Circuit

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)

Arduino Integration

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
}

Best Practices

  • Use a decoupling capacitor (e.g., 1µF ceramic) close to the VDD pin to stabilize the input voltage.
  • Avoid exceeding the maximum input voltage (6V) to prevent damage to the device.
  • Ensure the battery is within the supported chemistry (Li-Ion/Li-Polymer) and voltage range.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Device Overheating

    • Cause: Insufficient thermal dissipation.
    • Solution: Increase the PCB copper area around the MCP7384XX or add thermal vias.
  2. Battery Not Charging

    • Cause: Incorrect resistor value on the PROG pin.
    • Solution: Verify the resistor value and recalculate the charge current.
  3. Status LEDs Not Working

    • Cause: Missing or incorrect current-limiting resistors.
    • Solution: Add appropriate resistors (e.g., 1kΩ) in series with the LEDs.
  4. No Output on VBAT Pin

    • Cause: Faulty battery connection or damaged MCP7384XX.
    • Solution: Check the battery connection and replace the MCP7384XX if necessary.

FAQs

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.