uksa007
Solar Enthusiast
- Joined
- May 26, 2022
- Messages
- 252
After much searching I found the JK BMS, with it's 2A built-in active balancer it was just what I was looking for.
I wanted to connect my JK-BMS to my inverter like a commercial battery to ensure the inverter knows what the battery is up to in terms of Charging, Discharging, Alarms etc.
If you buy the CAN model, it does not support any standard battery protocol that energy storage inverters support.
All that changes now, as I have enabled CAN bus support for standard JK BMS RS485 models.
This will allow your JK BMS to communicate with any inverters that support Goodwe and Pylontech Low voltage batteries via CAN bus (Protocol compatible with Pylontech V1.3 and Goodwe V1.5)
New: iBMS: interface for BMS(plug and play) info here
Thought this may help some others who would like inverter comms with their JK BMS.
My work can be found here: jk-bms-can
Sends over CAN bus to inverter:
Early stages are under way to support multiple BMS, but need funding to purchase additional hardware, please consider supporting me if you would like to see this functionally, early access code with be made available in the Alpha testers membership once funding goals are reached:
see here for more info: Multi BMS info
NOTE: ESP32 has a bug that causes WDT reboot if no other devices on CAN bus to ACK the packets.
If you try to run without inverter it will not work as it will constantly WDT reboot!
There is an early access beta version available that works around no inverter(CAN bus requires 2 devices to work).
Home Assistant native integration via ESPHome:

I'm using it in my production environment which consists of:
Additional info will be published to "Be in the know" Pateron membership levels and above like:
What development is coming soon
Development that has been completed and is in Alpha/Beta testing
Get early access to Alpha/Beta code for testing (in those tiers)
Polls to determine future features etc.
Help fund goals to purchase additional hardware like multiple BMS support
I wanted to connect my JK-BMS to my inverter like a commercial battery to ensure the inverter knows what the battery is up to in terms of Charging, Discharging, Alarms etc.
If you buy the CAN model, it does not support any standard battery protocol that energy storage inverters support.
All that changes now, as I have enabled CAN bus support for standard JK BMS RS485 models.
This will allow your JK BMS to communicate with any inverters that support Goodwe and Pylontech Low voltage batteries via CAN bus (Protocol compatible with Pylontech V1.3 and Goodwe V1.5)
New: iBMS: interface for BMS(plug and play) info here
Thought this may help some others who would like inverter comms with their JK BMS.
My work can be found here: jk-bms-can
Sends over CAN bus to inverter:
- Battery Voltage
- Battery Current (+charge, -discharge)
- State of Charge (SOC)
- State of health (SOH)
- BMS Temperature
- Charging Voltage
- Charging Amps
- Discharge min Voltage
- Battery name
- Alarms: Cell over/under voltage, Charge/discharge over current, High/low Temp, BMS fault
- Charging logic: Charging logic, now charges with constant current(CC) to the absorption voltage, then has an absorption timer (Constant Voltage, user configurable time), with rebulk feature (user configurable offset from absorption voltage). The charging logic is designed to stop charging once absorption phase has completed (no keeping the battery on float) and reduce micro cycling.
Early stages are under way to support multiple BMS, but need funding to purchase additional hardware, please consider supporting me if you would like to see this functionally, early access code with be made available in the Alpha testers membership once funding goals are reached:
see here for more info: Multi BMS info
NOTE: ESP32 has a bug that causes WDT reboot if no other devices on CAN bus to ACK the packets.
If you try to run without inverter it will not work as it will constantly WDT reboot!
There is an early access beta version available that works around no inverter(CAN bus requires 2 devices to work).
Home Assistant native integration via ESPHome:
- Battery control switches to manage battery remotely
- Charging request status
- Absorption voltage (slider)
- Charging current max (slider)
- Charging enabled/disabled
- Discharging enabled/disabled
- Charging manually (top balancing)
- All BMS sensor values

I'm using it in my production environment which consists of:
- Goodwe GW5000S-BP 5kW inverter
- Goodwe GM3000 3 phase Smart meter cabled back to inverter (you can also use the GM1000 if you have single phase)
- 16 * EVE LF280K batteries in series for nominal 51.2v
- JK-BMS 150A model JK-B2A24S15P
- JK RS485 module (you don't need this if your ESP32 is near the JK-BMS)
- ESP32 model esp32doit-devkit-v1
- TJA1050 CAN bus to TTL module 4.7K resistor for 5V to 3.3v level shift.
- RS485 to TTL module (you don't need this if your ESP32 is near the JK-BMS)
- Various safety devices: Fuse and ZJ Beny125A DC circuit breaker etc.
Additional info will be published to "Be in the know" Pateron membership levels and above like:
What development is coming soon
Development that has been completed and is in Alpha/Beta testing
Get early access to Alpha/Beta code for testing (in those tiers)
Polls to determine future features etc.
Help fund goals to purchase additional hardware like multiple BMS support
Last edited: