Files
claudetools/projects/wrightstown-solar/documentation/bms-comparison.md
Mike Swanson aaf4172b3c sync: Add Wrightstown Solar and Smart Home projects
New projects from 2026-02-09 research session:

Wrightstown Solar:
- DIY 48V LiFePO4 battery storage (EVE C40 cells)
- Victron MultiPlus II whole-house UPS design
- BMS comparison (Victron CAN bus compatible)
- EV salvage analysis (new cells won)
- Full parts list and budget

Wrightstown Smart Home:
- Home Assistant Yellow setup (local voice, no cloud)
- Local LLM server build guide (Ollama + RTX 4090)
- Hybrid LLM bridge (LiteLLM + Claude API + Grok API)
- Network security (VLAN architecture, PII sanitization)

Machine: ACG-M-L5090
Timestamp: 2026-02-09

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 18:44:35 -07:00

7.5 KiB

Wrightstown Solar - BMS Comparison (Victron CAN Bus Compatible)

Created: 2026-02-09 System: 16S5P, EVE C40 20Ah, 48V, Victron MultiPlus II + Cerbo GX


Quick Comparison

BMS Price Current Balancing Victron Method Complexity
JK BMS B2A8S20P $80-150 100-200A 2A Active dbus-serialbattery (USB) Moderate
SEPLOS V3/V4 $150-250 100-200A Passive Native CAN Easy
Overkill Solar (JBD) $280-320 100A Passive dbus-serialbattery (USB) Moderate
123SmartBMS Gen3 $300-400 Configurable 1A Active Native USB to Cerbo Easy
REC BMS Q16 $559 Varies 0.9A Passive Native CAN (plug & play) Easiest
Batrium WatchMon $650-850 High (shunt) 28Ah/day Native CAN Complex
Daly Smart BMS $80-150 100A/50A charge 30mA Passive dbus-serialbattery Moderate
Orion BMS $500+ Configurable Active options Native CAN Easy

Why This BMS for EVE C40 Cylindrical Cells

  • 2A active balancing -- Critical for cylindrical cells which have more cell-to-cell variation than prismatic. With 5P strings, mismatches multiply. Passive balancing at 30-200mA takes days; JK's 2A active balancing corrects in hours.
  • 150A rating -- 16S5P is 100Ah, so 150A provides headroom for inrush and peak loads
  • $80-150 -- Best value in the market
  • Huge DIY community -- Every problem already solved on forums

Specs

  • Current ratings: 100A, 150A, 200A options
  • Balancing: 2A active (best in class at this price)
  • Communication: Bluetooth, RS485, CAN, UART
  • Monitoring: Real-time via smartphone app
  • Temperature: Multiple sensor inputs

Victron Integration

JK BMS --[USB-UART cable ($15)]--> Cerbo GX
                                      |
                                 dbus-serialbattery
                                 (free open-source driver)
                                      |
                                 DVCC enabled
                                      |
                              Victron MultiPlus II

Required:

  1. USB-UART cable (~$15)
  2. dbus-serialbattery driver (free, install via SSH on Cerbo)
  3. DVCC enabled in Cerbo settings

[WARNING] Known Gotcha: Reversed CAN Pinout

JK BMS has CAN-H and CAN-L SWAPPED compared to Victron's RJ45 pinout. Solutions:

  • Buy pre-made JK-to-Victron cable (AliExpress)
  • Make your own cable and swap pins 7 & 8
  • Use USB-UART connection instead (avoids CAN entirely -- recommended path)

Known Issues

  • Firmware updates frequently with no changelog -- check forums before updating
  • SOC can jump from 85% to 100% prematurely during fast charge
  • Battery capacity/consumed Ah data may not transmit to Cerbo via some driver versions
  • Inconsistent quality control between batches -- test thoroughly on arrival

Where to Buy

  • AliExpress: $80-120 (multiple sellers)
  • Amazon: $120-180 (JKBMS official store)
  • EEL Battery, SeLian Energy (resellers)

Alternative: SEPLOS V3/V4 (Easiest Native CAN)

Why Consider

  • Native Victron CAN protocol -- no drivers needed
  • One CAN cable to Cerbo, auto-detects
  • Multiple units can chain on one CAN link (good for expansion to 4 packs)
  • $150-250 is reasonable mid-tier pricing

Drawbacks

  • Passive balancing only (slower than JK's active)
  • Less community documentation
  • Setup can be tricky initially

Where to Buy

  • Seplos.com (official)
  • AliExpress, Alibaba

Premium Option: REC BMS Q16 (Zero Hassle)

Why Consider

  • TRUE plug and play -- one CAN cable, auto-detected, DVCC works immediately
  • Most reliable Victron integration available
  • Professional-grade, excellent documentation
  • SOC/SOH calculation, cell resistance measurement

Drawbacks

  • $559 -- nearly 4x the JK price
  • Passive balancing only (0.9A) -- slower for cylindrical cells
  • No active balancing option

Where to Buy

  • Off Grid and Marine Energy (OGM Energy): $559
  • REC-BMS.com (official)

Why to Avoid for This Build

  • 100A discharge but only 50A charge -- will bottleneck solar charging
  • 30mA passive balancing -- useless for large cells (would take 200+ hours)
  • CAN speed mismatch: Daly defaults to 250kbit/s, Victron uses 500kbit/s
  • Developers of dbus-serialbattery specifically do NOT recommend Daly for new builds
  • Bad CAN communication implementation

Victron Side Configuration

Hardware Required

Cerbo GX ($320-350) -- Recommended

  • Native BMS-CAN port (500kbit/s)
  • 2x USB ports for dbus-serialbattery driver
  • Built-in display, Ethernet, WiFi
  • VRM remote monitoring portal

Budget Alternative: Venus OS on Raspberry Pi 4 (~$100)

  • No native CAN bus -- needs USB CAN adapter ($20-40)
  • More complex setup
  • Works for USB-UART BMS connection (JK, Overkill)

CAN Cable Pinout (Cerbo GX BMS-CAN RJ45)

Pin Function
3 GND
7 CAN-H
8 CAN-L

Only 3 wires needed. Always verify against your specific BMS datasheet.

Software Settings

  1. Update firmware on Cerbo GX, MultiPlus II, and any MPPTs to latest
  2. Battery Monitor: Set to BMS (not "Automatic")
  3. DVCC: Enable
  4. DVCC Sub-settings:
    • Limit managed battery charge voltage: OFF (let BMS control via CVL)
    • SVS (Shared voltage sense): ON
    • SCS (Shared current sense): OFF
    • STS (Shared temperature sense): Optional
  5. BMS-CAN speed: 500kbit/s (default, don't change)

dbus-serialbattery Driver (for JK/Overkill/Daly via USB)

DVCC Explained

DVCC allows the BMS to send real-time limits to the Victron system:

  • CVL (Charge Voltage Limit) -- max voltage the battery will accept
  • CCL (Charge Current Limit) -- max charge current right now
  • DCL (Discharge Current Limit) -- max discharge current right now

The Cerbo relays these to the MultiPlus and any solar chargers, preventing overcharge, over-discharge, and overcurrent dynamically.


Common Mistakes to Avoid

  1. CAN speed mismatch -- Victron is 500kbit/s, some BMS default to 250kbit/s
  2. JK pinout reversal -- CAN-H and CAN-L are swapped on JK BMS
  3. Enabling DVCC without setting battery monitor -- set monitor FIRST
  4. SVS with disconnect BMS -- if BMS disconnects on overvoltage, turn SVS OFF
  5. Multiple BMS on CAN -- only ONE BMS should control Victron via DVCC (use master/slave for multi-pack)
  6. Charging below 0C -- LFP cannot be charged below freezing; ensure BMS low-temp cutoff is configured
  7. Passive balancing on large cells -- 30mA on 20Ah cells takes forever; use active balancing

Sources