Recommended: ESP32-S3 or Atom S3
- M5Stack Atom S3
- PVbrain2 with ESP32-S3 (up to 11 BMS monitored with
UART
) - Build your own PCB with ESP32 or ESP32-S3
- All
JK-B
BMS models with software version>=6.0
, see esphome-jk-bms JK-PB
BMS, see esphome-jk-bmsJBD
BMS, see esphome-jbd-bmsSeplos V1 V2
BMS, see esphome-seplos-bms
Note: other BMS brands already integrated with ESPhome can be added easily.
Victron Smartshunt
(UART), see VictronMPPT-ESPHOMEVictron Smartshunt
(BLE), see esphome-victron_bleJunctek KH-F
(UART/RS485), see esphome-junctek_khf
Note: other Shunt brands already integrated with ESPhome can be added easily.
Note: some inverters only accept a CAN bus at 3.3V in this case please choose the SN65HVD230 chip.
TJA1050 | TJA1051 | SN65HVD230 |
---|---|---|
M5Stack Atomic CAN Base (isolated) | M5Stack CAN Unit (isolated) | MCP2515 |
---|---|---|
M5Stack RS485 unit (isolated) | RS485 isolated board (high speed dual) | RS485 Two-way Converter |
---|---|---|
Inverters supporting CAN PYLON/Goodwe/SMA/Victron Low Voltage protocol should work, check your inverter manual to confirm.
The following are confirmed and known to work:
Brand | Model | Satus | Reported by | Inverter bat. mode | BMS | BMS protocol | ESP32 board | CAN name | CAN protocol | CAN transceiver | RS485 board | Multi-BMS | Remarks |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Deye | SUN-3.6K-SG03LP1-EU | Working | @Der_Hannes | Lithium 00 | JK-B | UART | ESP32 DevKit V1 | PYLON | PYLON 1.2 | SN65HVD230 3.3V | --- | no | --- |
Deye | SUN-5K-SG03LP1-EU | Working | @vdiex | Lithium 00 | JK-B | UART | ESP32 DevKit V1 | PYLON | PYLON 1.2 | --- | no | --- | |
Deye | SUN-5K-SG03LP1-EU | Working | @arzaman | Lithium 00 | JK-B | BLE | Atom S3 | PYLON | PYLON 1.2 | Atomic CAN base (SKU:A103) | --- | no | --- |
Deye | SUN-5K-SG03LP1-EU (3) | Working | @widget4145 | Lithium 00 | JK-PB (7) | RS485 | Atom S3 Lite | PYLON | PYLON 1.2 | Atomic CAN base (SKU:A103) | RS485 (talk pin) | yes | --- |
Deye | SUN-6K-SG03LP1-EU | Working | @Sleeper85 | Lithium 00 | JK-B | UART | ESP32 DevKit V1 | PYLON | PYLON 1.2 | TJA1051T | --- | no | --- |
Deye | SUN-6K-SG03LP1-EU | Working | @Imanol82 | Lithium 00 | JK-PB (2) | RS485 | ETH01-EVO POE | PYLON | PYLON 1.2 | SN65HVD230 | Isolated RS485 (high speed dual) | yes | ESP32 wired without WiFi, all ok. |
Deye | SUN-12K-SG04LP3-EU | Working | @lucize | Lithium 00 | JK-B | UART | ESP32 DevKit V1 | PYLON | PYLON 1.2 | --- | --- | no | --- |
Deye | SUN-12K-SG04LP3-EU | Working | @luckylinux | Lithium 00 | JK-B | BLE | Atom S3 Lite | PYLON | PYLON 1.2 | CANBus Unit (CA-IS3050G) | --- | no | --- |
Deye | SUN-12K-SG04LP3-EU | Working | @virus100b | Lithium 00 | JK-PB (2) | RS485 | ESP32 DevKit V1 | PYLON | PYLON 1.2 | TJA1050 | --- | yes | --- |
Deye | SUN-12K-SG04LP3-EU | Working | @b1ggi | Lithium 00 | JK-PB (2) | BLE | Atom S3 Lite | PYLON | PYLON 1.2 | Atomic CAN base (SKU:A103) | --- | yes | Used for Inverter Offset Setting 0.5v because of Deye bug |
Goodwe | 3648-ES (GW5048-ES) | Working | @jirdol | --- | JK-B | UART | ESP32 DevKit V1 | GOODWE | PYLON + | --- | --- | no | --- |
Goodwe | GW5000S-BP | Working | @Uksa007 | Goodwe LX U5.4-L | JK-B | UART | ESP32 DevKit V1 | GOODWE | PYLON + | --- | --- | no | --- |
Goodwe | GW5000S-BP & GW3600S-BP | Working | @OselDusan7 | --- | JK-B | UART | ESP32 DevKit V1 | GOODWE | PYLON + | --- | --- | no | --- |
Sofar | ME 3000-SP | Working | @starman | --- | JK-B | UART | ESP32 DevKit V1 | --- | --- | --- | --- | no | --- |
Sofar | HYD 5000-ES | Working | @Paulfrench35 | --- | JK-B | UART | ESP32 DevKit V1 | --- | --- | --- | --- | no | --- |
Sofar | HYD 5000-EP | Working | @tonystrullu | --- | JK-B | UART | ESP32 DevKit V1 | --- | --- | --- | --- | no | --- |
Sofar | HYD 3600-ES | Working | @chaosnature | Automatic | JK-PB (2) | BLE | Atom S3 (display) | PYLON | PYLON 1.2 | Atomic CAN base (SKU:A103) | --- | yes | DIY Li-ion Growatt GBLI5001 converted. A 120 Ohm resistor had to be added on the Sofar side. Prefared over original BMS Manufacture's Management System. |
Growatt | SPF 5000ES | Working | @Paulfrench35 | CAN L52 | JK-B | UART | ESP32 DevKit V1 | PYLON | PYLON 1.2 | --- | --- | no | --- |
Growatt | SPF 5000ES | Working | @cjdell | CAN L52 | JK-B | UART | ESP32 DevKit V1 | PYLON | PYLON 1.2 | --- | no | --- | |
Growatt | SPF 5000ES | Working | @cinusik | CAN L52 | JK-PB (2) | BLE | Atom S3 (display) | PYLON | PYLON 1.2 | Isolated CAN Unit (SKU:U085) | Atomic RS485 Base (SKU:A131) | yes | Best solution for the incomplete/wrong protocols implementation on JK Inverter BMSes and some inverters. |
Solis | RHI-3.6K-48ES-5G | Working | @cjdell | Pylon LV | JK-B | UART | ESP32 DevKit V1 | PYLON | PYLON + | SN65HVD230 3.3V | --- | no | --- |
Solis | S5-EH1P4.6K-L | Working | @Baker0052 | Pylon LV | JK-B | UART | ESP32 DevKit V1 | PYLON | PYLON + | SN65HVD230 3.3V | --- | no | --- |
Solis | S5-EH1P6K-L | Working | @MrPabloUK | AoBo | JK-B | UART | ESP32 DevKit V1 | SMA | SMA | Adafruit CAN Pal | --- | no | --- |
Solis | RHI-3.6K-48ES-5G | Working | @MrPabloUK | AoBo | JK-B | UART | ESP32 DevKit V1 | SMA | SMA | Adafruit CAN Pal | --- | no | --- |
Solis | RHI-3K-48ES | Working | @chaosnature | AoBo | JK-B (2) | BLE | Atom S3 Lite | SMA | SMA | Atomic CAN base (SKU:A103) | --- | yes | DIY Li-ion Growatt GBLI5001 converted. |
LuxPower | LXP SNA 5K | Working | @shvmm | Lithium 6 | JK-B | UART | ESP32 DevKit V1 | Automatic | LuxPower | SN65HVD230 / TJA1050 | --- | no | --- |
LuxPower | LXP SNA 5K | Working | @yur43 | Lithium 6 | JK-PB (1) | RS485 | ESP32 DevKit V1 | Automatic | LuxPower | SN65HVD230 | Isolated RS485 (high speed dual) | no | --- |
LuxPower | LXP-LB-US 10K | Working | @Henny101 | Lithium 6 | JK-PB (2) | RS485 | ESP32-S3 DevKitC-1 | Automatic | LuxPower | SN65HVD230 | Isolated RS485 (high speed dual) | yes | --- |
EG4 | 6000XP | Working | @ChrisG | Lithium 2 | JK-B (2) | BLE | ESP32 DevKit V1 / ESP32-S3 DevKitC-1 | PYLON | PYLON 1.2 | MCP2515 | --- | yes | --- |
EG4 | 6000XP (2) | Working | @SGB | Lithium 6 | JK-B (1) JK-PB (1) | BLE | Atom S3 (display) | Automatic | LuxPower | Atomic CAN base (SKU:A103) | --- | yes | --- |
Victron | MultiPlus-II 48/10000/140 | Working | @cali-clim | CAN-bus BMS LV (500 kbit/s) | JK-PB (2) | RS485 | Atom S3 (display) | Automatic | Victron | Atomic CAN base (SKU:A103) | Isolated RS485 Unit (SKU:U094) | yes | --- |
Victron | Multiplus 24/1200/25-16 | Working | @dmsims | CAN-bus BMS LV (500 kbit/s) | JK-B (1) | BLE | Atom S3 Lite | Automatic | Victron | Atomic CAN base (SKU:A103) | --- | no | Plugged into Cerbo Can port (must use supplied Victron terminator in the other port) |
MidNite Solar | MN15-12KW-AIO | Working | @goldserve | PYLON | JK-B | BLE | ESP32-S3 | Automatic | PYLON 1.2 | MCP2515 | --- | no | Stable with Victron Smartshunt, MQTT, BLE, Neopixel LED, Display also working. |
MidNite Solar | MN15-12KW-AIO | Working | @jahyde | PYLON | JK-PB | BLE | ESP32-S3 | Automatic | PYLON 1.2 | MCP2515 | --- | yes | --- |
SMA | Sunny Island | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |