Overview
The SHILLEHTEK 4x 18650 Battery Holder Box is a four-cell plastic enclosure that wires four standard 18650 lithium-ion cells in series (4S) to produce a 14.8 V nominal pack. It comes pre-soldered with two output leads only - a thick red (+) and a thick black (-) - and no balance taps. Each holder measures roughly 145 x 76 x 21 mm, with four bays arranged side by side and metal jumpers tying the cells in alternating polarity for a clean series chain.
This holder is built for higher-voltage projects: small drone payloads, robotics platforms, e-bike accessories, portable amplifiers, LED light bars, 12 V DC tools, and bench experiments where you want a 14.8 V nominal lithium pack without committing to a hard-case battery. There is no PCB, no protection circuit, no switch, and no cover - just a mechanical mount and the two output wires.
Because all four cells are series-wired and there are no balance leads exposed, you must pair this holder with a 4S BMS that has balance leads soldered or clipped directly to the internal cell junctions, or - far easier - use SHILLEHTEK's matching 4S BMS module which includes pre-cut balance leads designed to tap the holder's busbars.
At a Glance
Specifications
| Parameter | Value |
|---|---|
| Cell Type | 4x 18650 Li-ion in 4S |
| Nominal Pack Voltage | 14.8 V (4 x 3.7 V) |
| Full Charge Voltage | 16.8 V |
| Recommended Discharge Cutoff | 11.2 - 12.0 V (2.8 - 3.0 V per cell) |
| Output Wires | Red (+) / Black (-), 20 AWG silicone |
| Balance Wires | None (4S BMS required) |
| Max Continuous Current | ~5 A |
| Housing Material | ABS plastic, open top |
| Dimensions | 145 x 76 x 21 mm |
| Weight (empty) | ~55 g |
Wiring Guide
Insert four 18650 cells. The bays alternate polarity (+ - + - top-down) because the holder uses a serpentine series connection. Match each cell's flat (+) end to the spring marked + in its bay.
| Bay | + orientation |
|---|---|
| 1 (red wire end) | + faces the red lead |
| 2 | + faces opposite to Bay 1 |
| 3 | + faces opposite to Bay 2 |
| 4 (black wire end) | + faces opposite to Bay 3 |
The two thick silicone leads are the only electrical interface. Strip and tin them, or solder to XT60 / Deans / screw terminals for a clean connection to your load.
| Wire | Polarity | Voltage Range |
|---|---|---|
| Red (thick) | + (pack positive) | 11.2 - 16.8 V |
| Black (thick) | - (pack negative / GND) | 0 V reference |
This holder ships with only the main pair of wires, so a 4S BMS needs four balance taps attached at the cell junctions. The cleanest method is to add four short pigtails (B0, B1, B2, B3, B4) from the busbars to a JST-XH-5 connector that mates to your BMS.
| 4S BMS Pad | Tap Point on Holder |
|---|---|
| B- | Black wire / negative end |
| B1 | Top of cell 1 |
| B2 | Top of cell 2 |
| B3 | Top of cell 3 |
| B+ | Red wire / positive end |
SHILLEHTEK sells a matching 4S BMS rated for 8 - 20 A with a pre-built balance harness sized for this holder.
14.8 V projects you can power from this holder:
- Mid-size mobile robots with 12 V DC motors and buck regulators
- 12 V LED light bars for camping and emergency lighting
- Portable amplifiers running 12 - 18 V class-D chips like the TPA3116
- Drone & UAV payload power separate from the main flight pack
- Bench test rigs simulating 12 V SLA battery loads
Code Examples
A 4S pack tops out at 16.8 V, so you need a higher divider ratio. A 100 kΩ / 10 kΩ divider (gain ~11) drops 16.8 V to about 1.53 V at the ADC, well inside both 3.3 V and 5 V input ranges.
const int VBAT_PIN = A0;
const float DIVIDER = 11.0; // 100k / 10k
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("4S pack: ");
Serial.print(vBat, 2);
Serial.println(" V");
delay(1000);
}
#define VBAT_PIN 34
const float DIVIDER = 11.0;
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("4S pack = %.2f V\n", vBat);
if (vBat < 12.0) Serial.println("WARNING: low pack voltage");
delay(1000);
}
from machine import ADC, Pin
import time
vbat = ADC(Pin(26))
DIVIDER = 11.0
VREF = 3.3
while True:
raw = vbat.read_u16()
vadc = raw * VREF / 65535
vpack = vadc * DIVIDER
print("4S pack = {:.2f} V".format(vpack))
if vpack < 12.0:
print("WARNING: low pack voltage")
time.sleep(1)