# 3S2P Solar-Charged Battery Pack — Handoff Document **Status as of:** 15 July 2026 **Location:** Mauke Island, Cook Islands **Purpose:** Solar-charged 3S2P Li-ion pack with MPPT charge control and BMS protection, intended to power a soil sensor (and potentially other low-draw payloads). --- ## 1. System Overview A 3-series, 2-parallel (3S2P) 18650 Li-ion pack, charged from a solar panel through a CN3722-based MPPT buck charge controller, protected by a 3S BMS. Output feeds a payload (currently bench-testing a soil sensor). ``` [Solar Panel] --> [CN3722 MPPT] --> [BMS] --> [3S2P Pack] | +--> [Payload: soil sensor] ``` Design intent throughout: gentle, safe charging; full BMS protection on both charge and discharge; MPPT and pack kept as separate serviceable units (connectorised), not wrapped together. --- ## 2. Pack Configuration **Cell identified (2026-07-23): Samsung SDI INR18650-32E.** Datasheet v2.0 in `hardware/18650-cells-INR18650-32E.pdf`. Everything below is from that document rather than from assumption — the numbers changed, see "What the datasheet corrected" beneath the table. | Item | Detail | |------|--------| | Topology | 3S2P (3 series groups, 2 cells each) | | Cell | **Samsung SDI INR18650-32E**, Li-ion, made in Korea | | Cell capacity | **3200 mAh typical / 3100 mAh minimum** (0.2C to 2.50 V) | | Cell nominal voltage | **3.65 V** (0.2C discharge) — *not* the 3.7 V usually assumed | | Full charge voltage | 12.6 V (4.2 V/cell) | | Nominal | **~10.95 V** (3.65 V/cell) | | Empty (BMS cutoff) | ~7.5–8.4 V — BMS-set. Cell's own cut-off is **2.50 V** (7.5 V pack) | | **Pack capacity** | **6.4 Ah** (2 × 3200 mAh) | | **Pack energy** | **~70 Wh** typical (~68 Wh at minimum capacity) | | Max continuous discharge | 6400 mA/cell → **12.8 A pack** | | Standard charge current | 960 mA/cell → **1.92 A pack** (max 3200 mA/cell = 6.4 A pack) | | Cell internal impedance | ≤35 mΩ each → **~53 mΩ pack** (3 × 35 ÷ 2) | | **Operating temperature** | **Charge 0–45 °C.** Discharge −20 to 60 °C | | Cell weight / size | 50 g max, Ø18.50 × 65.20 mm max | | Cell interconnect | Nickel strip, spot-welded; wire tails soldered | | Terminal insulation | Kapton tape over cell terminals | ### What the datasheet corrected | | Was assumed | Actually | |---|---|---| | Cell nominal | 3.7 V | **3.65 V** | | Pack nominal | 11.1 V | **10.95 V** | | Pack energy | ~55 Wh (back-derived) | **~70 Wh** | | Usable at 80 % DoD | 44 Wh | **56 Wh** | | Everyday usable (~55 %) | 28–33 Wh | **~38 Wh** | **27 % more pack than the docs were designed against.** Good news, and it improves every autonomy figure — but it does not change any *design* conclusion, because the binding constraint on this system is the 20 W panel's daily harvest, not the size of the bucket. Three further things the datasheet settles: - **Charging is only rated to 45 °C.** That turns the NTC charge-temperature cutoff already chosen in `project/pcb/DESIGN-BRIEF.md` (decision C2) from a general worry about tropical heat into a spec-backed requirement with a number on it. Discharge is fine to 60 °C — it is specifically *charging* a hot pack that the cell objects to, which is exactly what a solar box does at midday. - **The pack's sag to ~9.0 V is state-of-charge, not impedance.** At ~53 mΩ internal, a 1 A load costs only ~53 mV and a 2 A load ~105 mV. So when the valve question talks about "a pack that sags to 9.0 V", that is a discharged pack, not a pack pulled down by the solenoid. The solenoid's 0.5–1 A inrush is nothing to a cell rated 6.4 A continuous. - **The MPPT cannot overdrive these cells.** A 20 W panel through the CN3722 delivers at most ~1.6 A at 12.6 V, comfortably under the 1.92 A pack standard-charge current. No derating needed. **Construction notes:** - Nickel strip soldering required aggressive prep (scuff + appropriate flux, hot chisel tip, Sn63/Pb37) due to nickel oxide layer. If any strip is nickel-plated steel, spot-welding the strip and only soldering the wire tails is the cleaner path. - Kapton over terminals is correct (insulator, ~250 °C rated). Recommend pairing positive terminal with a fish-paper / fibre insulator ring for mechanical puncture resistance before final wrap. --- ## 3. BMS Wiring - **Balance/sense pads soldered in ascending order:** 0 V (B-) → 4.2 V → 8.4 V → 12.6 V. Ground first, then ascending. **Do not connect a higher tap while a lower one floats** — full stacked voltage across a single-cell-rated input network can destroy the BMS. - Verify tap voltages referenced to B-: should read ~0, 4.2, 8.4, 12.6 and climb monotonically. - Watch for solder bridges between adjacent pads — a bridge shorts a single cell (high-current fault). - **Payload must tap P- (not B-)** so discharge is routed through the protection FETs. The MPPT and any payload share the same protected output pads (pack+ / P-). --- ## 4. MPPT Charge Controller (CN3722) **Chip confirmed:** CN3722 (Consonance) — PWM buck-mode solar charger with constant-current / constant-voltage charging and MPPT via the constant-voltage method. Two 100k trimmers (marked W104): one sets **CV (output / full-charge voltage)**, the other sets **MPPT input voltage (Vmp setpoint)**. ### Key CN3722 behaviours (from datasheet) - MPPT works by holding the panel at a fixed input voltage (MPPT pin regulated to 1.04 V), set by the trimmer. It is **not** peak-hunting — it holds a programmed voltage. - Requires input voltage **above** the programmed MPPT point AND above battery voltage to charge. Rule of thumb: **panel/input ~2 V above charge voltage** (so ≥ ~15 V for a 12.6 V pack). > **This rule is why the pack is 3S and not 4S.** With a hot Vmp of ~16.5 V: > > | Pack | Full voltage | Input needed | Hot Vmp 16.5 V? | > |------|--------------|--------------|-----------------| > | **3S** | 12.6 V | ≥ ~14.6 V | ✅ ~1.9 V headroom | > | **4S** | 16.8 V | ≥ ~18.8 V | ❌ short by 2.3 V | > > **Precise failure mode — "cannot charge" is too strong.** A 4S pack *will* partially charge in cool > morning light (Vmp ~18 V) and will sit around 15–15.5 V looking healthy. What it can never do is > **complete the CV phase in hot midday sun — which is exactly when the energy is.** And since the BMS > only balances at the top of a full charge, a pack that never completes CV **never balances**: cells > drift apart over months, the weakest hits cutoff early, capacity collapses. It works on the bench, > reads plausible in the field, and destroys itself over a year. > `the Module 1 page on the site` originally specified 4S2P; corrected to 3S2P. > ⚠️ **The 3S trade-off, documented.** 3S nominal is 10.95 V and sags to ~9.6 V near BMS cutoff. A 12 V > solenoid typically pulls in at 75–80 % of rating (9–9.6 V) *before* wiring and MOSFET drop, with > 2–3× inrush. **The valve becomes unreliable in the bottom ~15 % of pack SoC — i.e. during exactly the > cloudy stretch when irrigation matters.** 4S would have suited the solenoid better; we traded that > away for chargeability, correctly, but the cost is real. **Bench-verify pull-in at 10 V**, or spec a > latching valve, or boost the solenoid rail. Not yet tested. ⚠️ - **No battery-detection function.** With no battery on the output, the output charges to the setpoint then decays/re-charges in a ripple → this is the **fast red/green LED flicker seen with no battery connected. Normal, not a fault.** - "Not good practice to connect a battery while the charger is running" — it can surge current briefly. **Always: cover panel → connect battery → uncover panel.** - Charge current set by sense resistor (board marked R100 = 0.1 Ω region; board also shows paralleled sense resistors). Ics ≈ 200 mV / Rcs. ### Connection order (operation) 1. **Cover the panel** (a panel has no off switch — cover it to kill input). 2. Connect battery (through BMS) to output **first**. 3. Uncover panel. On teardown, reverse: disconnect/cover PV first, then battery. ### Output vs input - **Output = BAT+ / GND** (battery side). - **Input = PV+ / GND** (panel side). --- ## 5. Calibration Procedure ### CV pot (safety-critical) — set FIRST, no battery 1. Panel (or any source ~15–18 V) on the input, **no battery** on output. 2. Meter on output (BAT+ to GND). 3. Turn the pot that moves the output; set to **12.6 V exactly**. 4. Confirm it holds 12.6 V steady as input varies slightly (not tracking input). 5. Confirm output polarity (BAT+ positive to GND) before ever connecting the pack. **Status: CV set to 12.6 V. ✅** ### MPPT / Vmp pot — set under real load, strong steady sun **Target: ~16.5 V, not 18.6 V.** Vmp is a 25 °C specification. In Mauke midday sun the cells sit at 55–60 °C, and Vmp falls with temperature at roughly −0.35 %/°C: ``` 18.6 V × (1 − 0.0035 × 33 °C) ≈ 16.5 V ← the real setpoint, hot, in the field ``` Tune to the cold 18.6 V figure and you drag the hot panel up toward Voc, off the knee, and lose most of your current. **Tune hot, at midday, in situ — never on the bench.** The MPPT setpoint only engages when the panel can supply more power than the charger draws. > **Re-read the 14–14.4 V observation.** It was originally logged as the panel drooping in weak light. > That reading is *below even the hot Vmp of ~16.5 V*, which means the charger was pulling the panel > past its knee — either the setpoint is genuinely too low, or the light really was too weak to > support the demanded current. Both are possible; the Voc/Isc test below distinguishes them. > Either way, **the pot cannot be set meaningfully on a cloudy day.** #### Before tuning: is it the charger or the panel? (60-second test) > **⚠️ Do not assume the trimmer is the culprit — the numbers argue against it.** > > 5.5 W at 14.2 V means the panel was delivering **0.39 A**. Isc for this panel is ~1.1 A. Here's the > problem with blaming the trimmer: below the knee, a panel's current is roughly **constant at Isc**. > So a trimmer set too low would drag the voltage down but the current would *stay near 1.1 A* — you'd > measure ~15 W, not 5.5 W. > > **Low voltage AND low current together does not fit a mis-set trimmer.** It fits partial shading, > soiling, a cracked cell, a failed bypass diode — or the reading was simply taken under cloud. > Diagnose before tuning. Tuning cannot fix a panel that isn't delivering current. Measure the panel **alone, disconnected from the charger**, in full midday sun: | Measurement | How | Healthy 20 W panel, **hot** | |-------------|-----|-----------------------------| | **Voc** (open circuit) | Meter on volts, straight across PV+ / PV− | ~19.5–20 V (≈22 V at 25 °C) | | **Isc** (short circuit) | Meter on **10 A DC**, probes ARE the short | ~1.1–1.2 A | | Reading | Diagnosis | |---------|-----------| | Voc ~19.5–20 V **and** Isc ~1.1 A | Panel is fine → problem is downstream. Tune the trimmer. | | Voc normal, **Isc ≪ 1 A** | Shading / soiling / cell damage / not actually full sun | | **Voc ~12–13 V** | Bypass diode or substring failure | **Record time-of-day and sky conditions with every reading.** The original 5.5 W has neither, so it cannot be interpreted — it may simply have been a cloudy-day measurement. **Also confirm the panel faces NORTH**, tilted ~35–40° for July. Mauke is 20.1° S — the midday sun is in the *northern* sky at ~48° elevation. South-facing is the classic hemisphere-flip error and would explain most of a 2.5× gap on its own. #### Also check: is the NTC / battery temp-sense pin populated? If the CN3722's thermistor input has no NTC fitted, the pack gets charged with no temperature limit — off-spec and life-shortening at >45 °C, which a sealed tropical enclosure will reach. **Not yet verified.** ⚠️ Method (needs battery charging + strong steady sun): 1. Meter inline reading **DC amps** on the output (charge current). 2. Turn the MPPT pot in small steps; pause to let it settle. 3. Current up → keep going that direction. Current down → reverse. 4. **Peak = position where turning either direction lowers current.** Usually a broad plateau; park in the middle. 5. Cross-check: at peak, PV+ to GND should sit near the panel's **hot** Vmp (**~16.5 V**), not its 25 °C nameplate Vmp of 18.6 V. **Status: MPPT/Vmp pot NOT yet finalised — was awaiting sustained strong sun. Panel Vmp = 18.6 V @ 25 °C (≈ 16.5 V hot). ⚠️** --- ## 6. Measuring Charge Current (reference) Current is measured **in series** (meter becomes part of the wire), on the **output/battery side**, using the connector between MPPT and pack — **no desoldering needed**, just unplug the connector and bridge it. 1. Cover the panel. 2. **Keep the negative (blue) pair joined**; break only the **positive (red)** line at the connector. 3. Meter in the red gap: red probe → MPPT-output side, black probe → pack side. (Negative rail stays intact — this was the cause of an earlier 0.00 reading: both rails had been separated.) 4. Uncover panel; read DC amps. 5. When done, remove meter and **restore a solid connection** — do not leave the meter inline (auto-power-off can open the circuit; the 10 A socket on the Digitech QM1524 is **unfused**). **Meter settings:** - Digitech QM1524: red → **10A** socket, black → COM, dial → **≈A**, press **SELECT** until display shows **DC** (not AC). - ProsKit MT-1217 (for volts/continuity): red → **VΩHz** socket, dial firmly on the range detent. To monitor charge progress without the meter inline: just measure **pack voltage** across the terminals periodically (DC volts). Rising over the day = charging. --- ## 7. Current Status (15 July 2026) | Parameter | Reading | |-----------|---------| | Pack voltage | **11.48 V** (~3.83 V/cell) — partly charged, healthy | | Charge current (in good sun) | **0.47–0.50 A** measured — confirmed real charge | | CV setpoint | Set to 12.6 V ✅ | | MPPT/Vmp pot | Not yet finalised ⚠️ | | BMS balancing | Not yet verified through a full charge ⚠️ | | Enclosure | Not wrapped (correctly deferred until first full cycle proven) | **Interpretation:** The full charge chain works — a genuine ~0.5 A charge current was measured in good sun. At ~0.5 A into ~4–5 Ah of cells, a full charge takes **many sun-hours**; 11.48 V simply means the pack is partly charged and needs more sustained direct sun. This is a slow-charge situation, not a fault. Confirm by checking that current is flowing (0.3–0.5 A) in strong direct sun and that pack voltage rises over time. --- ## 8. Outstanding Tasks (in order) 1. **Full charge in strong sun** — let the pack charge all the way to 12.6 V. Watch current taper (0.5 A → 0.3 → 0.1 → trickle) as it enters CV; taper confirms CV working. 2. **Finalise MPPT/Vmp pot** — first run the Voc/Isc test (Section 5) to confirm the panel itself is healthy and pointed north. Then, during a real charge, tune for peak current; confirm PV+ ≈ **16.5 V** (hot Vmp) at peak — *not* 18.6 V. Then leave the pot alone. 3. **Verify cell balance** near full — if BMS exposes per-cell voltages, confirm the three cells are close (ideally within tens of mV). 4. **Only then wrap:** - Pack: one clean PVC heatshrink sleeve over cells + BMS, leads exiting one end. - MPPT: keep **separate** (it runs warm — inductor/FETs). Put in a small vented enclosure, or heatshrink with the two pots left accessible (knife nick over each trimmer). Do not marry MPPT to the pack. 5. **Payload integration** — soil sensor is DC 4.5–30 V, so it taps the pack output directly (no regulator needed). Tap the same protected pads (pack+ / P-). If RS485/Modbus, the A/B data pair needs a USB-to-RS485 adapter to read; power draw is negligible (<50 mA). --- ## 9. Safety Reminders - **Charging sequence always:** cover panel → connect battery → uncover panel. Reverse on teardown. - **Soldering on a live pack:** cover panel (and ideally unplug pack from MPPT) first; quick dabs per pad; never bridge pack+ to pack−; one pad at a time, inspect between. - **Amps mode:** meter goes *in series* (in the broken wire), never *across* a voltage. The QM1524 10 A socket is unfused. Return red probe to the volts socket immediately after. - **Don't leave the meter inline** to wait for sun — restore a solid connection. - Confirm output **polarity** before the pack ever touches the charger — reversed into Li-ion is unrecoverable. - If any tap/pad reads out of order or wildly off, **stop** before soldering into it. - If aggressive/zinc-chloride flux was used anywhere, clean residue thoroughly with isopropyl, especially near the BMS — it's corrosive. --- ## 10. Component Reference | Component | Detail | |-----------|--------| | Charge controller | CN3722 (Consonance) MPPT buck, 3–25 V CV range, 5 A max, CC/CV | | CV trimmer | W104 (100 kΩ) → 12.6 V | | MPPT trimmer | W104 (100 kΩ) → panel hot Vmp ~16.5 V (tune in situ at midday) | | Sense resistor | R100 region (0.1 Ω) — sets charge current | | Panel | 20 W, **Vmp = 18.6 V @ 25 °C** (≈ 16.5 V at field temperature), Voc ≈ 22 V | | Pack | 3S2P 18650 Li-ion, 12.6 V full | | Payload | Soil sensor, DC 4.5–30 V | | Meters | Digitech QM1524 (current, 10 A unfused), ProsKit MT-1217 (volts/continuity) |