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

How to Use MCP73833 (MSOP-10): Examples, Pinouts, and Specs

Image of MCP73833 (MSOP-10)
Cirkit Designer LogoDesign with MCP73833 (MSOP-10) in Cirkit Designer

Introduction

The MCP73833 is a highly integrated Li-Ion battery charge management controller designed for space-constrained applications. It implements a constant current/constant voltage (CC/CV) charging algorithm, ensuring safe and efficient charging of single-cell Li-Ion or Li-Polymer batteries. The MCP73833 is available in a compact MSOP-10 package, making it ideal for portable devices such as smartphones, wearable electronics, and other battery-powered systems.

Explore Projects Built with MCP73833 (MSOP-10)

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-C3 Mini and MCP4725 DAC Controlled Analog Output Circuit
Image of pp: A project utilizing MCP73833 (MSOP-10) in a practical application
This circuit features an ESP32-C3 Mini microcontroller that interfaces with an Adafruit MCP4725 DAC via I2C for analog output, which is then fed into an OPA2333 operational amplifier. Power management is handled by a 5V step-down voltage regulator that receives power from a 2000mAh battery and supplies the ESP32-C3 and a 3.3V AMS1117 voltage regulator. Additionally, the circuit includes user input through buttons and electro pads, with debouncing provided by resistors.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based I2C Communication Hub with Multiplexer and Expander
Image of Lights: A project utilizing MCP73833 (MSOP-10) 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
I2C-Controlled Relay Switching with ESP32 and MCP23017 for Home Automation
Image of Vloerverwarming: A project utilizing MCP73833 (MSOP-10) in a practical application
This circuit appears to be a control system utilizing two MCP23017 I/O expanders interfaced with an Olimex ESP32-EVB microcontroller via I2C communication, as indicated by the SDA and SCL connections with pull-up resistors. The MCP23017 expanders control an 8-channel relay module, allowing the microcontroller to switch various loads, potentially for home automation or industrial control. Additionally, there is an Adafruit ADS1115 16-bit ADC for analog signal measurement, and several heating actuators and a thermostat are connected, suggesting temperature control functionality.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Vibration Motor Controller with I2C IO Expansion
Image of VIBRATYION: A project utilizing MCP73833 (MSOP-10) in a practical application
This circuit features an ESP32 Wroom Dev Kit microcontroller interfaced with an MCP23017 I/O expansion board via I2C communication, utilizing GPIO 21 and GPIO 22 for SDA and SCL lines, respectively. A vibration motor is controlled by an NPN transistor acting as a switch, with a diode for back EMF protection and a resistor to limit base current. The ESP32 can control the motor by sending signals to the MCP23017, which then interfaces with the transistor to turn the motor on or off.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with MCP73833 (MSOP-10)

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 pp: A project utilizing MCP73833 (MSOP-10) in a practical application
ESP32-C3 Mini and MCP4725 DAC Controlled Analog Output Circuit
This circuit features an ESP32-C3 Mini microcontroller that interfaces with an Adafruit MCP4725 DAC via I2C for analog output, which is then fed into an OPA2333 operational amplifier. Power management is handled by a 5V step-down voltage regulator that receives power from a 2000mAh battery and supplies the ESP32-C3 and a 3.3V AMS1117 voltage regulator. Additionally, the circuit includes user input through buttons and electro pads, with debouncing provided by resistors.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Lights: A project utilizing MCP73833 (MSOP-10) 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 Vloerverwarming: A project utilizing MCP73833 (MSOP-10) in a practical application
I2C-Controlled Relay Switching with ESP32 and MCP23017 for Home Automation
This circuit appears to be a control system utilizing two MCP23017 I/O expanders interfaced with an Olimex ESP32-EVB microcontroller via I2C communication, as indicated by the SDA and SCL connections with pull-up resistors. The MCP23017 expanders control an 8-channel relay module, allowing the microcontroller to switch various loads, potentially for home automation or industrial control. Additionally, there is an Adafruit ADS1115 16-bit ADC for analog signal measurement, and several heating actuators and a thermostat are connected, suggesting temperature control functionality.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of VIBRATYION: A project utilizing MCP73833 (MSOP-10) in a practical application
ESP32-Based Vibration Motor Controller with I2C IO Expansion
This circuit features an ESP32 Wroom Dev Kit microcontroller interfaced with an MCP23017 I/O expansion board via I2C communication, utilizing GPIO 21 and GPIO 22 for SDA and SCL lines, respectively. A vibration motor is controlled by an NPN transistor acting as a switch, with a diode for back EMF protection and a resistor to limit base current. The ESP32 can control the motor by sending signals to the MCP23017, which then interfaces with the transistor to turn the motor on or off.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Portable consumer electronics (e.g., smartphones, tablets, and cameras)
  • Wearable devices
  • Power banks and battery packs
  • IoT devices
  • Medical instruments

Technical Specifications

Key Technical Details

Parameter Value
Input Voltage Range 3.75V to 6V
Battery Regulation Voltage 4.2V (typical)
Maximum Charge Current Programmable up to 1A
Charging Algorithm Constant Current/Constant Voltage (CC/CV)
Package Type MSOP-10
Operating Temperature Range -40°C to +85°C
Status Indicators Charging and Fault Status Outputs
Thermal Regulation Integrated for safe operation

Pin Configuration and Descriptions

The MCP73833 is housed in a 10-pin MSOP package. Below is the pin configuration and description:

Pin Number Pin Name Description
1 VDD Input supply voltage (3.75V to 6V).
2 PROG Programs the charge current via an external resistor.
3 VSS Ground reference for the IC.
4 VBAT Battery connection pin. Connect directly to the positive terminal of the battery.
5 STAT1 Open-drain status output 1 (indicates charging status).
6 STAT2 Open-drain status output 2 (indicates fault or charge complete).
7 CE Charge enable input (active low).
8 THERM Monitors battery temperature via an external thermistor.
9 VREG Regulated output voltage for internal circuitry.
10 NC No connection (leave unconnected).

Usage Instructions

How to Use the MCP73833 in a Circuit

  1. Power Supply: Connect a regulated DC power supply (3.75V to 6V) to the VDD pin. Ensure the supply voltage is within the specified range.
  2. Battery Connection: Connect the positive terminal of the Li-Ion/Li-Polymer battery to the VBAT pin and the negative terminal to VSS.
  3. Programming Charge Current: Use an external resistor on the PROG pin 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 Indicators: Connect LEDs to the STAT1 and STAT2 pins (with appropriate current-limiting resistors) to monitor charging status and fault conditions.
  5. Thermal Monitoring: Connect a 10kΩ NTC thermistor to the THERM pin for battery temperature monitoring. If not used, connect THERM to VDD.
  6. Charge Enable: Use the CE pin to enable or disable charging. Pull the pin low to enable charging or high to disable it.

Important Considerations

  • Thermal Management: Ensure proper heat dissipation by using a PCB with adequate thermal vias and copper area around the IC.
  • Battery Safety: Always use a battery with built-in protection circuitry to prevent overcharging or deep discharge.
  • Input Voltage: Avoid exceeding the maximum input voltage of 6V to prevent damage to the IC.

Example Arduino Code for Monitoring Status

The MCP73833 can be interfaced with an Arduino to monitor the charging status via the STAT1 and STAT2 pins. Below is an example code snippet:

// Define pin connections for STAT1 and STAT2
const int STAT1_PIN = 2; // Connect STAT1 to Arduino digital pin 2
const int STAT2_PIN = 3; // Connect STAT2 to Arduino digital pin 3

void setup() {
  // Initialize serial communication for debugging
  Serial.begin(9600);

  // Configure STAT1 and STAT2 as input pins
  pinMode(STAT1_PIN, INPUT);
  pinMode(STAT2_PIN, INPUT);
}

void loop() {
  // Read the status of STAT1 and STAT2
  int stat1 = digitalRead(STAT1_PIN);
  int stat2 = digitalRead(STAT2_PIN);

  // Interpret the charging status
  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 or fault condition.");
  } else {
    Serial.println("Unknown status.");
  }

  // Add a small delay to avoid flooding the serial monitor
  delay(500);
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Charging Occurs:

    • Cause: The CE pin is not pulled low.
    • Solution: Ensure the CE pin is connected to ground to enable charging.
  2. Overheating of the IC:

    • Cause: Insufficient thermal dissipation.
    • Solution: Improve PCB layout with larger copper areas around the IC and thermal vias.
  3. Fault Condition Indicated:

    • Cause: Battery temperature out of range or input voltage too high/low.
    • Solution: Verify the battery temperature and ensure the input voltage is within the specified range.
  4. LEDs on STAT1 and STAT2 Not Lighting:

    • Cause: Incorrect resistor values or open connections.
    • Solution: Check the connections and use appropriate current-limiting resistors for the LEDs.

FAQs

Q1: Can the MCP73833 charge a 2-cell Li-Ion battery?
A1: No, the MCP73833 is designed for single-cell Li-Ion or Li-Polymer batteries only.

Q2: What happens if the input voltage exceeds 6V?
A2: Exceeding 6V can damage the IC. Always use a regulated power supply within the specified range.

Q3: Can I disable the thermal monitoring feature?
A3: Yes, if thermal monitoring is not required, connect the THERM pin to VDD.

Q4: How do I calculate the resistor value for programming the charge current?
A4: Use the formula ( R_{PROG} = \frac{1000}{I_{CHARGE}} ), where ( I_{CHARGE} ) is in mA and ( R_{PROG} ) is in kΩ. For example, for a 500mA charge current, ( R_{PROG} = 2kΩ ).