Documentation

351015 500mAh 3.7V Lithium Rechargeable Battery (3.5 x 10 x 15mm) | ShillehTek Product Manual
Documentation / 351015 500mAh 3.7V Lithium Rechargeable Battery (3.5 x 10 x 15mm) | ShillehTek Product Manual

351015 500mAh 3.7V Lithium Rechargeable Battery (3.5 x 10 x 15mm) | ShillehTek Product Manual

351015-500mah-3-7v-lithium-rechargeable-battery-3-5-x-10-x-15mmBatteryDIYLiPoLithiummanualRechargeableshillehtek

Overview

The 351015 500mAh 3.7V Lithium Polymer Rechargeable Battery is a compact, pre-wired LiPo pouch cell designed for ultra-small portable electronics. With dimensions of just 3.5mm thick by 10mm wide by 15mm long (the "351015" name follows the standard LiPo dimensional convention), it is one of the smallest off-the-shelf cells that still delivers a usable 500mAh capacity at 3.7V nominal. Each cell ships with pre-soldered red (+) and black (-) lead wires so you can drop it into your project without any battery-tab welding.

This single-cell (1S) LiPo is the go-to power source for wearables, tiny IoT sensor nodes, smart cards, Bluetooth tags, mini drones, GPS trackers, and ultra-low-power ESP32 deep-sleep designs where every gram and millimeter matters. Pair it with a low-quiescent-current boost converter or LDO and you can run an MCU, BLE radio, and a small sensor for weeks between charges when sleep modes are used aggressively.

Important: this cell ships without a built-in protection circuit (no PCM/BMS). That keeps the package size tiny but means you are responsible for over-charge, over-discharge, and over-current protection. ShillehTek strongly recommends pairing this battery with a TP4056-style 1S Li-ion CC/CV charger module and a small 1S BMS board to handle charging safely and prevent the cell from being driven outside its 3.0V - 4.2V safe window.

At a Glance

Chemistry
Lithium Polymer (LiPo)
Nominal Voltage
3.7V
Capacity
500mAh
Dimensions
3.5 x 10 x 15 mm
Protection
None (BMS required)
Connection
Pre-soldered wires

Specifications

Parameter Value
Cell Chemistry Lithium Polymer (Li-Po)
Nominal Voltage 3.7V
Fully Charged Voltage 4.20V (+/- 0.05V)
Cut-off (Empty) Voltage 3.00V
Rated Capacity 500mAh
Standard Charge Current 0.5C (250mA)
Max Charge Current 1.0C (500mA)
Max Continuous Discharge 1.0C (500mA)
Charge Method CC/CV (constant current / constant voltage)
Internal Resistance <= 250 mΩ
Cycle Life 500+ cycles to 80% capacity
Operating Temperature Charge 0℃ to 45℃ / Discharge -20℃ to 60℃
Dimensions (T x W x L) 3.5 x 10 x 15 mm
Weight ~ 10 g
Leads Pre-soldered red (+) and black (-) wires

Wiring Guide

Connecting the Cell

The battery ships with two thin pre-soldered lead wires. Polarity is fixed and must be respected on every connection.

Wire Color Polarity Notes
Red Positive (+) Connects to B+ on a BMS / charger or VBAT on a project board
Black Negative (-) Connects to B- on a BMS / charger or GND on a project board
Warning: Never let the red and black wires touch each other. A short circuit on a bare LiPo cell can draw tens of amps in milliseconds, causing rapid heating, swelling, venting, and in extreme cases fire. Insulate exposed copper with heat-shrink or Kapton tape before installing.
Tip: If you need a more rugged connector, solder a JST-PH 2-pin pigtail onto the existing leads. Cut and tin one wire at a time so the positive and negative ends are never exposed at the same moment.

Charging the Cell

A 1S LiPo cell must be charged with a dedicated CC/CV charger configured for 4.20V and a current of 0.5C or less. The ShillehTek TP4056 charger module is the easiest match for this cell - set the charge current resistor for ~250mA (the standard 0.5C rate for a 500mAh cell).

TP4056 Pin Connection Details
B+ / BAT+ Battery Red wire Positive terminal of the cell
B- / BAT- Battery Black wire Negative terminal of the cell
IN+ 5V USB Vbus From USB-C / micro-USB input
IN- USB GND From USB ground
Charge profile: A healthy charge cycle starts at constant current (~250mA), then transitions to constant voltage at 4.20V, tapering to a few mA when the cell is full. Total charge time from empty is roughly 2 to 2.5 hours.
Warning: Never charge above 4.2V per cell. Even a small over-voltage (4.3V+) plates lithium metal inside the cell and permanently degrades it - and at higher voltages it can lead to thermal runaway. Always use a regulated 1S Li-ion charger IC such as the TP4056. Do NOT trickle-charge a LiPo from a bare bench supply.

Powering Your Project

The cell's terminal voltage will sit between 3.0V (empty) and 4.2V (full) during normal use. Most 3.3V MCUs (ESP32, RP2040, nRF52) include an onboard LDO that accepts this range directly, so the cell can often be wired straight to the VBAT input of a dev board.

Target Board Where to Connect Notes
ESP32 / ESP32-S3 dev board VBAT or 5V input pad Many ShillehTek ESP32 boards accept 3.0 - 5.5V directly on 5V
Raspberry Pi Pico VSYS (pin 39) VSYS accepts 1.8 - 5.5V; cell connects directly
Arduino Pro Mini 3.3V RAW pin RAW pin feeds the onboard LDO
5V logic project Through boost converter Use a 3.7V to 5V boost module (e.g., MT3608)
Tip: For long battery life with an ESP32, use deep sleep between sensor reads. At 500mAh and a 10uA sleep current, the cell can last weeks - the wake/transmit bursts dominate the energy budget.

Safety + Protection Stack

Because this cell has no built-in protection circuit, the recommended safety stack adds an external 1S BMS between the cell and your load/charger. The BMS protects against over-charge, over-discharge, and over-current.

Stage Module Function
1. Cell 351015 500mAh LiPo Bare cell with red/black leads
2. Protection 1S BMS (DW01 + 8205A or HX-1S equivalent) Over-charge / over-discharge / over-current cutoff
3. Charging TP4056 1S charger CC/CV charge at 4.2V, 250mA
4. Regulation Boost / LDO (if needed) Converts cell voltage to project rail
Warning - Hard Safety Rules:
  • Never exceed 4.2V per cell on charge.
  • Never discharge below 3.0V per cell - the cell may be unrecoverable, and recharging an over-discharged LiPo is unsafe.
  • Never short the red and black leads together.
  • Never puncture, crush, or pierce the pouch.
  • Never expose to temperatures above 60℃ (storage above 45℃ ages the cell rapidly).
  • Stop using the cell immediately if it swells, smells sweet/chemical, or feels hot at rest.
Storage: If storing for more than a month, leave the cell at ~3.8V (about 50% state of charge). Storing fully charged accelerates capacity loss; storing fully empty risks dropping below 3.0V and damaging the cell.

Code Examples

The following examples read the cell's terminal voltage through a simple 2-resistor divider so you can estimate state of charge from any project's MCU. Wire the divider as: cell (+) -> 100k -> ADC pin -> 100k -> GND. This gives a 1/2 ratio so a 4.2V cell reads ~2.1V at the ADC input.

Arduino (5V / ATmega328P)

battery_monitor.ino
// 351015 LiPo cell voltage monitor for Arduino Uno / Nano (5V, 10-bit ADC)
// Wiring: Cell (+) -- 100k -- A0 -- 100k -- GND
// Divider ratio = 0.5, so multiply ADC voltage x 2 to get cell voltage.

const int BAT_PIN   = A0;
const float VREF    = 5.0;     // 5V Arduino reference
const float DIVIDER = 2.0;     // (R1 + R2) / R2 with R1 = R2 = 100k

float readCellVoltage() {
  long sum = 0;
  for (int i = 0; i < 16; i++) {       // average 16 samples to reduce noise
    sum += analogRead(BAT_PIN);
    delay(2);
  }
  float adc = sum / 16.0;
  float vpin = (adc / 1023.0) * VREF;
  return vpin * DIVIDER;
}

int stateOfCharge(float v) {
  // Rough linear SoC map for 1S LiPo (3.0V empty, 4.2V full)
  float pct = (v - 3.0) / (4.2 - 3.0) * 100.0;
  if (pct < 0)   pct = 0;
  if (pct > 100) pct = 100;
  return (int)pct;
}

void setup() {
  Serial.begin(9600);
}

void loop() {
  float v = readCellVoltage();
  int   soc = stateOfCharge(v);
  Serial.print("Cell: ");
  Serial.print(v, 2);
  Serial.print(" V  (");
  Serial.print(soc);
  Serial.println("%)");

  if (v < 3.1) Serial.println("WARNING: cell near empty - stop discharge.");
  delay(2000);
}

ESP32 (3.3V ADC)

battery_monitor_esp32.ino
// 351015 LiPo cell voltage monitor for ESP32
// Wiring: Cell (+) -- 100k -- GPIO34 -- 100k -- GND
// GPIO34 is an input-only ADC1 pin (safe for use during Wi-Fi).
// ESP32 ADC is nonlinear - we use analogReadMilliVolts() for a calibrated reading.

const int BAT_PIN   = 34;
const float DIVIDER = 2.0;     // R1 = R2 = 100k

float readCellVoltage() {
  uint32_t sumMv = 0;
  for (int i = 0; i < 32; i++) {
    sumMv += analogReadMilliVolts(BAT_PIN);  // returns calibrated mV
    delay(2);
  }
  float vpin = (sumMv / 32.0) / 1000.0;       // average, convert to volts
  return vpin * DIVIDER;
}

void setup() {
  Serial.begin(115200);
  analogSetPinAttenuation(BAT_PIN, ADC_11db); // ~0 - 3.3V input range
}

void loop() {
  float v = readCellVoltage();
  float soc = (v - 3.0) / 1.2 * 100.0;
  if (soc < 0)   soc = 0;
  if (soc > 100) soc = 100;

  Serial.printf("LiPo: %.2f V  (%.0f%%)\n", v, soc);
  if (v < 3.1) Serial.println("Low battery - going to deep sleep");
  delay(2000);
}

Raspberry Pi Pico (MicroPython)

battery_monitor_pico.py
# 351015 LiPo cell voltage monitor for Raspberry Pi Pico (MicroPython)
# Wiring: Cell (+) -- 100k -- GP26/ADC0 -- 100k -- GND
# Pico ADC is 12-bit, 3.3V reference, exposed via machine.ADC().read_u16()

from machine import ADC, Pin
import time

adc = ADC(Pin(26))            # ADC0 on GP26
VREF    = 3.3
DIVIDER = 2.0                 # R1 = R2 = 100k

def read_cell_voltage():
    total = 0
    for _ in range(32):
        total += adc.read_u16()  # 0..65535
        time.sleep_ms(2)
    raw = total / 32
    vpin = (raw / 65535) * VREF
    return vpin * DIVIDER

def state_of_charge(v):
    pct = (v - 3.0) / 1.2 * 100
    return max(0, min(100, pct))

while True:
    v = read_cell_voltage()
    soc = state_of_charge(v)
    print("LiPo: {:.2f} V  ({:.0f}%)".format(v, soc))
    if v < 3.1:
        print("WARNING: cell near empty - stop discharge.")
    time.sleep(2)

Frequently Asked Questions

Does this battery have built-in over-charge or over-discharge protection?
No. The 351015 ships as a bare cell with only the pre-soldered leads - there is no protection PCB. You must add a 1S BMS in line between the cell and your load/charger, or use a charger module (such as the TP4056 with DW01) that integrates protection. Without a BMS, the cell can be over-charged above 4.2V or over-discharged below 3.0V, both of which permanently damage it and can create a fire hazard.
What charger should I use with this cell?
Use a dedicated 1S Li-ion / LiPo CC/CV charger set to 4.20V. The TP4056 charger module is the standard, affordable choice and pairs perfectly with this 500mAh cell at the default 0.5C (~250mA) charge rate. Do NOT charge directly from a USB port, a bench supply, or any "smart" multi-chemistry charger that is not specifically rated for a single Li-Po cell.
How long will it power an ESP32 project?
Runtime depends entirely on the duty cycle. An always-on ESP32 transmitting Wi-Fi draws 80 - 200mA, so 500mAh gives roughly 3 - 6 hours. If you use deep sleep and wake the chip for short bursts (e.g., every few minutes), the average current can drop below 100uA, which means runtimes of weeks to months are possible. LoRa, BLE-only, or ESP-NOW projects fit nicely on this cell.
Can I solder directly to the wires or trim them shorter?
Yes - cut and solder one wire at a time. Use a fine-tip iron at 320 - 350℃, work quickly, and never apply heat for more than a couple of seconds. Most importantly, never let the red and black ends touch each other or any conductive surface during the operation. A short on a bare LiPo can release tens of amps almost instantly.
What does "351015" mean?
It is the standard LiPo dimensional code: 3.5mm thickness, 10mm width, 15mm length. Many cell vendors share this naming convention, so a 351015 from any reputable supplier should fit in the same enclosure. Capacity (500mAh here) varies slightly between manufacturers, but the physical footprint is interchangeable.
The cell is swollen / hot / pillow-shaped - is it still safe to use?
No. Stop using it immediately. Swelling, heating at rest, a sweet/chemical smell, or a torn pouch are all signs of internal damage. Place the cell in a fireproof container (a metal tin or a LiPo-safe bag) away from flammable materials and dispose of it at a local battery recycling drop-off. Do not throw lithium cells in normal household trash.