

The HS-P03 is a compact and efficient module designed by HelloStem for charging and discharging 3.7V lithium-ion or lithium-polymer batteries. It integrates essential safety features such as overcharge, over-discharge, and short-circuit protection, ensuring the longevity and reliability of your battery. This module is ideal for applications requiring a stable and safe power supply, such as portable electronics, IoT devices, and DIY projects.








The following table outlines the key technical details of the HS-P03 module:
| Parameter | Value |
|---|---|
| Input Voltage (Charging) | 4.5V - 6V |
| Charging Current | 1A (maximum) |
| Battery Type Supported | 3.7V Lithium-ion/Lithium-polymer |
| Overcharge Protection | 4.2V ± 1% |
| Over-discharge Protection | 2.5V ± 1% |
| Output Current (Discharge) | 2A (maximum) |
| Efficiency | Up to 92% |
| Dimensions | 25mm x 19mm x 5mm |
The HS-P03 module has six pins, as described in the table below:
| Pin Name | Description |
|---|---|
| IN+ | Positive input terminal for charging voltage (4.5V - 6V). |
| IN- | Negative input terminal for charging voltage (GND). |
| B+ | Positive terminal for connecting the 3.7V lithium battery. |
| B- | Negative terminal for connecting the 3.7V lithium battery. |
| OUT+ | Positive output terminal for powering the load. |
| OUT- | Negative output terminal for powering the load (GND). |
Connect the Battery:
B+ pin. B- pin.Connect the Charging Source:
IN+ and IN- pins. Connect the Load:
OUT+ and OUT- pins. Monitor the Status:
OUT+ and OUT- pins to the Arduino's VIN and GND pins, respectively.Here is an example of using the HS-P03 module to power an Arduino UNO and read the battery voltage:
// Define the analog pin connected to the battery voltage divider
const int batteryPin = A0;
// Function to read and calculate battery voltage
float readBatteryVoltage() {
int sensorValue = analogRead(batteryPin); // Read the analog value
float voltage = sensorValue * (5.0 / 1023.0); // Convert to voltage
return voltage * 2; // Adjust for voltage divider (if used)
}
void setup() {
Serial.begin(9600); // Initialize serial communication
pinMode(batteryPin, INPUT); // Set the battery pin as input
}
void loop() {
float batteryVoltage = readBatteryVoltage(); // Get battery voltage
Serial.print("Battery Voltage: ");
Serial.print(batteryVoltage);
Serial.println(" V");
delay(1000); // Wait for 1 second before the next reading
}
Note: If using a voltage divider to measure battery voltage, adjust the multiplier in the
readBatteryVoltagefunction accordingly.
Module Overheating:
Battery Not Charging:
No Output Voltage:
LED Indicator Not Working:
Can I use this module with a 5V USB charger?
Yes, a 5V USB charger is suitable for powering the module's input.
What happens if I connect a battery with a voltage higher than 3.7V?
The module is designed specifically for 3.7V lithium batteries. Using a higher voltage battery may damage the module.
Can I charge and discharge the battery simultaneously?
Yes, the module supports simultaneous charging and discharging, but ensure the input and output currents do not exceed the module's ratings.
Is the module compatible with LiFePO4 batteries?
No, the HS-P03 is optimized for 3.7V lithium-ion and lithium-polymer batteries, not LiFePO4 batteries.
By following this documentation, you can safely and effectively use the HS-P03 module in your projects.