Overview
The SHILLEHTEK 2x 18650 Battery Holder Box with 4 Wires is a dual-cell plastic holder designed for building 2S (7.4 V) lithium-ion packs with a balance tap. Two 18650 cells sit side-by-side, and the holder is pre-wired with four silicone leads: a main red (+) and black (-) for pack output, plus two balance leads that connect to the midpoint between the two cells. This is the standard wiring used to feed a 2S BMS or balance charger.
The holder is fully passive: no PCB, no protection circuit, no switch, and no cover. The cells are held by spring contacts at each end and a metal strap that ties the two cells in series internally. This makes it perfect for makers building 7.4 V e-bike accessories, motor-driven robots, RC builds, portable amplifiers, or any project needing more headroom than a single cell can provide.
Because the cells are wired in series, balancing during charge is essential to prevent one cell from drifting above 4.2 V while the other is still under-charged. SHILLEHTEK sells a matching 2S BMS with balance leads that drops directly onto these four wires.
At a Glance
Specifications
| Parameter | Value |
|---|---|
| Cell Type | 2x 18650 Li-ion in 2S |
| Nominal Pack Voltage | 7.4 V (2 x 3.7 V) |
| Full Charge Voltage | 8.4 V |
| Recommended Discharge Cutoff | 5.6 - 6.0 V (2.8 - 3.0 V per cell) |
| Output Wires | Red (+), Black (-) |
| Balance Wires | 2 leads to midpoint between cells |
| Max Continuous Current | ~3 A |
| Housing Material | ABS plastic, open top |
| Wire Gauge / Length | 22 AWG silicone / ~150 mm |
| Weight (empty) | ~22 g |
Wiring Guide
Insert two 18650 cells, following the + / - markings molded into each bay. Internally, the holder ties the two cells in series, so polarity must be observed on a per-bay basis - they do not all face the same direction.
| Bay | Polarity (top of holder) |
|---|---|
| Bay 1 (output +) | Cell + faces the red main wire |
| Bay 2 (output -) | Cell + faces the midpoint strap |
The four wires fall into two groups: a high-current output pair and a low-current balance pair. Only the main red/black pair carries load current.
| Wire | Function | Voltage (typ.) |
|---|---|---|
| Red (thick) | Pack + output | 7.4 - 8.4 V |
| Black (thick) | Pack - / GND | 0 V (reference) |
| Balance lead 1 | Midpoint (top of cell 1) | ~3.7 V |
| Balance lead 2 | Midpoint (bottom of cell 2) | ~3.7 V |
Connect the four leads to a 2S BMS or balance charger. Most 2S BMS boards expose three pads: B-, B1 (midpoint), and B+.
| Holder Wire | 2S BMS Pad |
|---|---|
| Red (+) | B+ |
| Black (-) | B- |
| Balance lead 1 | B1 (midpoint) |
| Balance lead 2 | JST-XH pin 2 (charger) |
Wire load and charger to the P+ / P- pads of the BMS. SHILLEHTEK's matching 2S BMS module is rated for 3 - 8 A continuous and includes both cell-balance and short-circuit protection.
Typical 2S projects:
- Small DC motor robots driving 6 - 9 V gear motors
- Buck-powered 5 V rails for Raspberry Pi or webcams (regulated down from 7.4 V)
- Portable audio amps using TPA3116 or PAM8403 class-D amps
- RC servo testers and small servo-driven mechanisms
- LoRa repeaters and outdoor sensor hubs needing longer runtime than 1S
Code Examples
For a 2S pack reaching 8.4 V, use a divider that scales down to your ADC range. A 100 kΩ / 22 kΩ divider (gain ~5.5) keeps 8.4 V under 1.6 V at the ADC - well within both 3.3 V and 5 V boards.
const int VBAT_PIN = A0;
const float DIVIDER = 5.5; // 100k / 22k
const float VREF = 5.0;
void setup() { Serial.begin(115200); }
void loop() {
int raw = analogRead(VBAT_PIN);
float vAdc = raw * (VREF / 1023.0);
float vBat = vAdc * DIVIDER;
Serial.print("Pack: ");
Serial.print(vBat, 2);
Serial.println(" V (2S)");
delay(1000);
}
#define VBAT_PIN 34
const float DIVIDER = 5.5;
const float VREF = 3.3;
void setup() {
Serial.begin(115200);
analogReadResolution(12);
analogSetAttenuation(ADC_11db);
}
void loop() {
int raw = analogRead(VBAT_PIN);
float vAdc = raw * (VREF / 4095.0);
float vBat = vAdc * DIVIDER;
Serial.printf("2S pack = %.2f V\n", vBat);
delay(1000);
}
from machine import ADC, Pin
import time
vbat = ADC(Pin(26))
DIVIDER = 5.5
VREF = 3.3
while True:
raw = vbat.read_u16()
vadc = raw * VREF / 65535
vpack = vadc * DIVIDER
print("2S pack = {:.2f} V".format(vpack))
time.sleep(1)