Your battery wants to talk to your inverter, but they might speak different languages. In this protocol analysis, we decode the difference between the robust CAN Bus and the versatile RS485, explain why "Closed Loop" communication is the holy grail of solar storage, and provide a pinout survival guide for Victron, Growatt, and Pylontech connections.
The Silent Conversation
In the early days of off-grid solar, batteries were dumb. Lead-acid blocks sat in the corner, and the inverter guessed their state of charge based on voltage. If the voltage dropped, the inverter cut power. It was simple, but inefficient.
Today, with Lithium Iron Phosphate (LiFePO4), voltage is a terrible indicator of capacity because the discharge curve is so flat. To manage a modern energy system efficiently, the battery needs to talk. It needs to tell the inverter: "I am at 45% capacity. My cells are slightly cold, so please limit charging to 30 Amps. And stop discharging at 48V."
This is called Closed Loop Communication. It happens over a data cable, usually an ethernet patch cable (RJ45). But just because the plug fits doesn't mean it works. Beneath the plastic connector lies a war of protocols, baud rates, and pinouts. The two main contenders are CAN Bus and RS485.
1. CAN Bus (Controller Area Network)
Originally developed by Bosch for the automotive industry to let ECUs talk to ABS modules without a mile of wiring, CAN is the gold standard for battery-to-inverter communication.
The Physics of CAN
CAN uses Differential Signaling. It has two wires: CAN-High and CAN-Low.
When a "1" is sent, the voltage on High goes up, and Low goes down. When a "0" is sent, they stay equal.
The receiver measures the difference between the two wires. If a massive electrical motor starts up nearby and induces noise on the cable, the noise affects both wires equally. The difference remains the same. This makes CAN incredibly immune to electrical interference (EMI), which is critical inside a house filled with high-power switching inverters.
Why Inverters Prefer CAN
- Speed: Typically 500 kbps (Kilobits per second). Fast enough for real-time current throttling.
- Robustness: It doesn't care about ground loops as much as other protocols.
- Standardization: Most high-end inverters (Victron, SMA, Sol-Ark, DEYE) prioritize CAN for the main battery connection.
2. RS485 (Modbus)
RS485 is an older industrial standard. Like CAN, it is differential, but it uses a Master/Slave architecture. It is generally slower (9600 or 19200 bps) and less robust against collisions, but it is cheaper to implement.
The Daisy Chain Master
RS485 is primarily used for Inter-Battery Communication.
If you have a rack of 6 server batteries, you don't run 6 cables to the inverter. You link Battery 1 to Battery 2, 2 to 3, and so on.
They talk to each other over RS485. Battery 1 acts as the "Master." It collects data from all the "Slave" batteries, sums up the total capacity (e.g., 6 x 100Ah = 600Ah), and then reports that aggregate number to the inverter via CAN Bus.
Note: Some budget inverters (Growatt, Voltronic) use RS485 for the main inverter connection, using specific protocols like the "Pylontech RS485" standard.
3. The Pinout Nightmare
This is where 90% of DIYers fail. Just because it is an RJ45 jack doesn't mean it uses standard Ethernet wiring.
Victron CAN Pinout:
- Pin 7: CAN-H
- Pin 8: CAN-L
- Pin 3: Ground
SMA / Sunny Island CAN Pinout:
- Pin 4: CAN-H
- Pin 5: CAN-L
Growatt CAN Pinout:
- Pin 4: CAN-H
- Pin 5: CAN-L (But sometimes Pin 1 & 2 depending on the model!)
If you plug a standard cable between a Victron GX device and a battery wired for SMA, it won't work. You must crimp a custom cable that swaps the pins (e.g., Pin 4 on Battery side goes to Pin 7 on Inverter side). Always consult the manual for both the BMS and the Inverter.
4. Protocol Dialects: Pylontech vs. Victron
Even if the wiring is correct, they need to speak the same language.
Think of CAN Bus as the telephone line. The "Protocol" is the language spoken (English vs. Spanish).
- Pylontech Protocol: The most common dialect in the DIY solar world. Almost every server rack battery supports this. It sends specific "Hex" messages for Voltage, Current, and Alarms.
- Victron (VE.Can) Protocol: A specific NMEA2000-based standard used by blue equipment.
When you buy a Smart BMS (like Seplos or JK), you usually have to connect it to a PC and select the protocol emulation mode. "Emulate Pylontech" is usually the safest bet for broad compatibility.
5. Why Open Loop (No Comms) Sucks
If you can't get comms working, you fall back to "Open Loop" or "Lead Acid Mode."
You manually set the Bulk and Cutoff voltages on the inverter.
The Risk:
1. SOC Drift: The inverter guesses SOC based on voltage. Since LFP voltage is flat, the inverter might think the battery is 50% full when it is actually empty, leading to sudden blackouts.
2. No Throttle: If the battery gets cold (2°C), a communicating BMS would tell the inverter "Charge at 0 Amps." In Open Loop, the inverter doesn't know it's cold and blasts 100A, plating the lithium and ruining the pack.
Summary
Communication is the difference between a "Battery Bank" and an "Energy Storage System." While crimping custom ethernet cables and fiddling with dip switches is frustrating, the result—a system that manages its own health, optimizes charging speed, and protects itself from weather—is the hallmark of a professional installation. Don't settle for voltage control.