Abstract: CAN and RS485 are physical layers, not compatibility certificates. Two devices both speaking CAN 2.0B can still fail to talk if the battery register map, baud rate, firmware version, or inverter battery model list doesn't match — and this is the #1 reason "the battery shows on the inverter manual but won't charge on site."
f you've installed enough residential systems, you've seen it: the inverter manual lists "supported LiFePO4 battery," the battery datasheet says "CAN communication," and on commissioning day the inverter screen reads "no battery detected." Both devices speak CAN. Neither device is broken. They just don't speak the same language at the register level.
What CAN and RS485 Actually Do
Both are wired communication standards between the battery BMS and the hybrid inverter. They carry voltage, current, SoC, temperature, and fault data between the two.
| CAN | RS485 (Modbus) | |
|---|---|---|
| Physical layer | 2-wire twisted pair, differential | 2-wire twisted pair, differential |
| Typical baud rate | 250 kbps | 9600–115200 bps |
| Common in | Modern LFP batteries, hybrid inverters | Older inverters, multi-drop BMS |
| Wiring | CAN H + CAN L + GND | A (B+) + B (B-) + GND |
| Termination | 120Ω at both ends | Usually no termination resistor |
At the physical layer, they're similar. The problem is everything above the physical layer.
Why "Both Speak CAN" Still Means Nothing
Four things have to match for a Dawnice HZEB-LCT to talk to a Deye, Sunsynk, or Growatt inverter:
1. Register map / protocol version
Deye uses one Modbus register layout. Sunsynk uses another. Growatt uses a third. A battery designed to speak "Deye CAN" will not understand "Sunsynk CAN" even though both are CAN 2.0B at 250 kbps. The BMS firmware has to include the specific protocol stack for that inverter brand.
2. Baud rate
CAN is almost always 250 kbps on residential LFP — but not always. RS485 Modbus can run at 9600, 19200, or 115200. If the battery is set to 9600 and the inverter expects 19200, you get nothing.
3. Battery model list in the inverter
This is the one people miss. On a DWH hybrid inverter or a Deye unit, there's a menu called "Battery Type" or "Battery Model." It lists specific brands: Pylontech, BYD, Sungrow, etc. If your Dawnice HZEB-LCT isn't on that list — even with the right protocol — the inverter won't handshake.
Newer firmware adds new battery models. A Sunsynk unit from 2022 may not recognize a Dawnice BMS firmware from 2025. The fix is often a firmware update, not a hardware swap.
4. Wiring and termination
- CAN H and CAN L swapped = no communication, no fault code
- Missing 120Ω termination resistor = intermittent communication that drops at temperature extremes
- RS485 A and B reversed = same silent failure
Our UK 30kWh case — a Dawnice battery paired with an existing Sunsynk hybrid — required three on-site checks before handshake: confirm the Sunsynk firmware version supported the LFP battery profile, verify the CAN H/L wiring order, and set the battery model in the inverter menu. All three were settings, not hardware.
What to Verify Before You Quote
Don't ask "is it CAN or RS485 compatible?" Ask these four:
- Does the inverter's current firmware list the specific Dawnice battery model? (e.g., HZEB-LCT-10, not just "LiFePO4")
- Is the baud rate configurable on both sides?
- Do you have the correct wiring diagram for this exact inverter-battery pair?
- Has this exact combination been commissioned before?
The Romania 75kWh wall-mounted install paired Dawnice batteries with a Deye hybrid. That combination works — but only after confirming the Deye firmware supported the 51.2V LFP stack and the CAN wiring was per the Dawnice installation manual.
When to Just Use an All-in-One
If you're quoting a system and compatibility risk keeps coming up, the LumiSun-32K all-in-one or the 10kW/20kWh all-in-one solves the problem: inverter and battery come from the same factory, already handshake-tested, no CAN or RS485 wiring decisions on site. For installers who don't want to carry firmware files and protocol converters in the van, that's worth the premium.
The interface label on the datasheet (CAN, RS485, Modbus) is the starting point, not the answer. The answer is whether the specific inverter firmware, the specific battery BMS firmware, and the wiring all line up. If you're quoting a mixed-brand system and not sure the protocol handshake will work, send us the inverter brand and model — Ruibit Energy can confirm whether the Dawnice HZEB-LCT or BS06-S pair with it before you put it on the truck.
Frequently Asked Questions
Q1: Is CAN better than RS485 for home battery systems?
Not inherently. Both carry the same data (voltage, current, SoC, temperature). CAN is faster and more common in modern LFP batteries; RS485/Modbus is found in older inverters. Neither guarantees compatibility on its own — the register map and firmware matter more than the physical layer.
Q2: My inverter says it supports CAN LiFePO4. Why doesn't my Dawnice battery connect?
Check three things: (1) is the battery model listed in the inverter's battery type menu by name, (2) is the baud rate matching, and (3) are CAN H and CAN L wired correctly. A reversed pair or a firmware version that doesn't include the Dawnice protocol stack produces exactly one symptom: "no battery detected."
Q3: Do I need a 120Ω termination resistor?
On CAN bus, yes — one at each end of the daisy chain. Most Dawnice HZEB-LCT units have a built-in switchable termination resistor. RS485 networks usually don't need one. Missing termination causes intermittent communication that worsens in hot or cold weather.
Q4: Can I use a protocol converter to make incompatible systems work?
Sometimes. A CAN-to-Modbus gateway can bridge mismatched register maps, but it adds a point of failure and requires configuration. For production installs, it's cleaner to specify a battery model the inverter already supports natively — or use an all-in-one unit like the LumiSun-32K where inverter and battery are factory-matched.
Q5: Which Dawnice batteries use CAN vs RS485?
The HZEB-LCT wall-mounted series and BS06-S stack support both CAN and RS485, selectable via DIP switch or BMS setting. The default depends on the paired inverter — confirm with us which protocol to enable for your specific Deye, Sunsynk, Growatt, or DWH setup before commissioning.