-
Notifications
You must be signed in to change notification settings - Fork 310
Inverter: Sungrow
Caution
Working with high voltage is dangerous. Always follow local laws and regulations regarding high voltage work. If you are unsure about the rules in your country, consult a licensed electrician for more information. DC ARC is a REAL THING - ENSURE NO LOAD is on any DC wires before working on the system.
- Compatible Inverters
- Protocol Selection
- Hardware Setup
- Inverter Configuration
- Operation
- Troubleshooting
| Model | BYD CAN | Sungrow SBRXXX CAN | Notes |
|---|---|---|---|
| SH5.0/6.0/8.0/10RT | ✅ | ✅ | |
| SH3.0/3.6/4.0/5.0/6.0RS | ✅ | ✅ | |
| SH3.0/3.6/4.0/5.0/6.0RS (Australia) | ❌ | ✅ | No BYD support. Old firmware may work with BYD |
| SH8.0RS/SH10RS (Australia) | ❌ | ✅ | No BYD support |
| SH15T/SH20T/SH25T | ✅ | ✅ | Some regions dropping BYD support |
| SH15T/SH20T/SH25T (Australia) | ❌ | ✅ | No BYD support |
Note
Sungrow is promoting their own battery systems and dropping third-party battery support in some regions. As of June 2024, Australia has officially dropped all support for non-Sungrow batteries. If your inverter lacks BYD support, use the Sungrow SBRXXX protocol instead.
Use "BYD Battery-Box Premium HVS over CAN Bus" for inverters with BYD support.
Use "Sungrow SBRXXX battery over CAN bus" for inverters without BYD support (e.g., Australian models).
When using this protocol, select the battery model that best matches your actual battery capacity:
| Model | Capacity | Modules | Min V | Max V |
|---|---|---|---|---|
| SBR064 | 6.4 kWh | 2 | 108 V | 146 V |
| SBR096 | 9.6 kWh | 3 | 162 V | 219 V |
| SBR128 | 12.8 kWh | 4 | 216 V | 292 V |
| SBR160 | 16.0 kWh | 5 | 270 V | 365 V |
| SBR192 | 19.2 kWh | 6 | 324 V | 438 V |
| SBR224 | 22.4 kWh | 7 | 378 V | 511 V |
| SBR256 | 25.6 kWh | 8 | 432 V | 584 V |
See the SBR battery datasheet for full specifications.
Note
The Sungrow SBRXXX protocol uses 250 kbps CAN bitrate, which differs from most battery protocols. This means you cannot have an EV battery on the same CAN channel as the Sungrow
Important
The emulator sends your actual battery's minimum and maximum voltage limits to the inverter. Before connecting, verify that your battery's voltage range is compatible with your Sungrow inverter's supported battery voltage range (check your inverter's datasheet).
Sungrow inverters have the wiring diagram on the side of the unit. Check your specific model. Example for SHxxRS inverters:

Note
Sungrow inverters have an inbuilt fuse on the battery terminals. Check the data spec sheet for details.

- Battery case is connected to protective earth (PE)
- CAN twisted pair shield is connected to PE
Failing to ground properly will result in CAN errors.
When the LilyGo board connects to both a CAN battery and CAN inverter on the same pins, and both ends have termination resistors, remove the terminating resistor from the board. See CAN troubleshooting for details.
ℹ️ To verify wiring: With inverter powered on and CAN wires connected only to the inverter, you should measure over 1V (e.g., 1.38V).
Caution
Safety Warning: If using a single CAN channel and the LilyGo board disconnects while the system is running (wire break or hardware failure), the inverter will continue charging/discharging the battery. The Sungrow inverter interprets automotive CAN messages as the system being alive, which can lead to dangerous over/under-charge conditions.
For maximum safety and stability, use a dedicated CAN channel for the inverter. Options:
- Add an isolated MCP2515 CAN channel
- Add an isolated MCP2518 CAN-FD channel in classic CAN mode
- Use Stark CMR hardware
- Use a CAN filter between inverter and the rest of the system
Note
Some Sungrow inverters (e.g., SH5.0RS with Leaf battery) have CAN communication issues when battery and inverter share the same LilyGo channel. A dedicated channel resolves this.
To limit grid export (feed-in), you need a Sungrow Smart Meter (e.g., DTSU666 included with SH10RT) to measure consumption and generation.
Configure via Winet-S local web interface, iSolarCloud app, or isolarcloud.com:
Winet-S local web interface:

iSolarCloud.com:

Note
iSolarCloud takes 10-15 minutes to update inverter settings.
The Sungrow inverter is sensitive to startup timing. If the inverter shows "battery not detected":
- Start the complete system (inverter → battery emulator → battery) in quick succession
- If the emulator complains about missing inverter, reboot the emulator
- Repeat 2-3 times until inverter and emulator sync up
Once synchronized, they will communicate reliably.
- Start the Sungrow inverter via AC switch
- Turn on the Solar DC switch
- Turn on the Battery DC switch
- Start the Leaf battery BMS with 12V
- Start the LilyGo hardware with 5V
- Handle precharge/contactor closing (manually or automatically via LilyGo)
- Turn off the Leaf BMS (cut 12V supply). Wait 60 seconds.
- LilyGo status LED will turn red. Inverter will stop using the battery within 30 seconds.
- After 30 seconds, turn off contactors (if not handled automatically)
- Turn off the Sungrow inverter via AC switch
- Turn off the Battery DC switch
- Turn off the Solar DC switch
User report: SH10RT firmware upgrade from SAPPHIRE-H 03011.95.01 to .95.07 caused data loss. Downgrading to 95.01 restored functionality.
To factory reset a Sungrow WiNet-S module, press and hold the small button on the dongle for over 30 seconds until the RUN indicator blinks fast. This restores default settings, resets the password to the default ("pw8888"), and clears Wi-Fi configurations.
If you experience these errors (common on SH10RT(AU)):
- Clear all faults, error codes, and battery emulator events
- Wait for the system to complete automatic handshake
- Communication should restore automatically
BYD CAN Protocol:
- Battery Emulator firmware: 8.0
Sungrow SBRXXX Protocol:
- Battery Emulator firmware: 9.1.4
- Inverter: SH10RS (AU)
- LCD (ARM) firmware: SUNSTONE-H_01011.02.55
- MDSP firmware: SUNSTONE-H_03021.01.09
- SDSP firmware: SUNSTONE-H_04011.02.03
- AFCI firmware: AFCI_06002.10.11
Hardware configuration example: RJXZS BMS → CAN NATIVE (LilyGo) → Battery Emulator → MCP2515 CAN module (J1 header jumped) → Inverter PIN5 and PIN7