• Have you tried out dark mode?! Scroll to the bottom of any page to find a sun or moon icon to turn dark mode on or off!

diy solar

diy solar

CAN and RS485 BMS Interface with multiple emulated Inverter protocols for JkBms Jbd BMS Daly 123Smart

Would this work to get a Topband BMS to talk to Growatt SPA3000? If so would definitely pick up a kit!

I have a spare ESP32 here but it's one of the M5Stack canbus kits. I've got it to flash, might try to see if works with batt, could I have an app key?

ID: 9ddad4d4

Hi, i dont have the Topband bms protocol for input of data. First u need to ask for and pdf file with the comm protocol.
 
Hi, i dont have the Topband bms protocol for input of data. First u need to ask for and pdf file with the comm protocol.
It emulates various different protocols, Victron/Kodak/Sol-Ark/Solis/Goodwe/Luxpower/Growatt (supposedly - think the SPH supports Pylontech but not the SPA).

I suspect it's the Growatt SPA's protocol support that's the problem. Thanks though.
 
It emulates various different protocols, Victron/Kodak/Sol-Ark/Solis/Goodwe/Luxpower/Growatt (supposedly - think the SPH supports Pylontech but not the SPA).

I suspect it's the Growatt SPA's protocol support that's the problem. Thanks though.
So topband emulate growatt but not work?
 
Hello @mrconstantin
Can you support SRNE ASF48100U200-H Hybrid all in one inverter, I just flash the ESP 32 and I can not connect to BLE to JKBMS. my Chip is ID7467b4fc , can you please send me a app key?
 
Hi,

I will present my DIY CAN BMS emulator project , I work from some time to make this interface for integration of DIY battery with different brands of invertors with supported CAN or RS485 communication.

Interface use an esp32 with one or tow CAN ports and RS485 support, can handle multiple JK as inputs for data, and also cand handle LV or HV.

I use in this project all the data i can find online, i know am not the first on this road if u have documents of other BMS protocols u can share it with me.

If u want u can support my work to add more protocols to this project and buy the hardware components kit from my ebay or fallow on Patreon!

Hardware:

Esp32 DevKit 1
CAN : SN65HVD230
RS485: Max485
DC-DC: XL7015
RJ45 Breakout
Optional: Indicator LEDs

View attachment 156678

View attachment 156679
Connectivity:

WIFI Web Portal with Cell Info Data on local IP

View attachment 156673
View attachment 156676


Input BMS supported:

View attachment 156674
JK BMS - TTL, BT , CAN
JBD BMS - BT connection
Daly - work in progress


Protocol Emulated:
View attachment 156675
General BMS LV
Document V1.4 - 07.09.2020
CAN: 500Kbps
Transmission Cycle: 1s
Data Mode: Little Endian

Pylonthech LV
Document V1.2 - 08.04.2018
CAN: 500Kbps
Transmission Cycle: 1s
Data Mode: Little Endian

Seplos LV
Document V1.0 - 08.04.2018
CAN: 500Kbps
Transmission Cycle: 1s
Data Mode: Little Endian

LG Resu LV
Document
CAN: 500Kbps
Transmission Cycle: 1s
Data Mode: Little Endian

Growatt LV
Document V1.04 22,02,2019
CAN: 500Kbps
Transmission Cycle: 1s
Data Mode: Big Endian

SMA LV
Document V1.0 - 07.09.2020
CAN: 500Kbps
Transmission Cycle: 1s
Data Mode: Little Endian

Li LV
Document V1.0 06.01.2020
CAN: 500Kbps
Transmission Cycle: 1s
Data Mode: Little Endian


Victron Nemea200
Document V1.0 06.01.2020
CAN: 250Kbps
Transmission Cycle: 1s
Data Mode: Little Endian


Pylon HV
Document V1.18 30.05.2019
CAN: 500Kbps
Transmission Cycle: 1s
Data Mode: Little Endian


GoodWee HV
Document V1.3 31.03.2021
CAN: 250Kbps
Transmission Cycle: 1s
Data Mode: Little Endian

BYD HV
Document
CAN: 500Kbps
Transmission Cycle: 1s
Data Mode: Little Endian

Pylontec RS485
Document V2.0 15.10.2019
RS485: 9600bps MODUBUS ASCII
Transmission Cycle: 0.5s Timeout
Data Mode: Little Endian

Seplos RS485
Document V3.3 21.08.2018
RS485: 9600bps MODUBUS ASCII
Transmission Cycle: 0.5s Timeout
Inverter Replay:
Data Mode: Little Endian

Growatt RS485
Document V2.02 24.07.2019
RS485: 9600bps MODUBUS ASCII
Transmission Cycle: 0.5s Timeout
Data Mode: Little Endian

BYD RS485
Document
RS485: 9600bps MODUBUS RTU
Transmission Cycle: 1s Timeout
Data Mode: Little Endian

Inverter Tested LV

Victron: Gx Family - General LV have the most information displayed, this is an combination of more registry i find.
Growatt SPF 5000 ES - Pylon LV, Seplos LV, Li LV
Growatt SPH 5000 TL - Pylon Lv, Seplos LV, Li LV, Growatt LV
Solis S5-EH1P6k - Semplos LV, LI LV
Deye SUN12K-SG04 - Pylon LV, LI LV

Inverter Tested HV

Fronius Primo 6.0 Gen24 - BYD HV
SunGrow SH10RT - BYD HV
GoodWE GW10K - GoodWee HV, Pylon HV
ThinkPower S100TL - Pylon HV


MultiPack:

If u have 2 packs with 2 JkBms u can combine data by connected 1 to Serial Port and one on BT Port
If u have more then 2 u need to use more interfaces. The Rs485 will be use to communicate between interfaces and Master CAN port will rapport to bms.


Know Issue:

1 - When u use BT connection u can not connect with the phone app to the JkBMS.
U need to stop the interface power and after connect and make settings with ur phone app.

2 - Pylontech LV - if u use this protocol some inverter limit max charge voltage under 54V for 15S LFP battery.
Use Seplos LV or LI LV protocol is same as pylon with few data changed.

3 - From RS485 Protocols i tested only Fronius Gen24, The Pylon RS485 LV and Semplos RS485 LV are write from documentation for PC App -> Battery communication protocol.

Warranties:

The project is under develop NO WARRANTIES are provided ! USE on ur own RISK!

Software:

In this moment GitHub Repo under construction!

Download & Install:

U can download the bin file from my Google Drive Link and write it on ESP32.
For first install u need to be done with cable an pc, after that u can update the firmware OTA.
i will provide new update as soon i can!

JkBMSCan - Google Drive


drive.google.com

Support my Work:

If u like this project and want to support my work to add more protocols u can invest ur time and also if u can spare some $ will be great too!

Invest Time:

Test the interface on ur inverter and confirm what protocols are compatible to increase invertor compatibility list.
Provide documentation or data communication logs from ur Inverter and OEM battery for reverse engineering new protocols.
Share data if u all ready make some progress on reverse engineering new protocols.

Invest $:

Donate by PayPal and U will receive tech support for ur project : paypal.me/diyenergy
Fallow on Patreon for last updates.
Buy components kit from my ebay for ur projects.

Documentation:

I share my protocols documentation folder if u want to make ur own software.
if u have any other document of interest share it also with me.

JkBMSCan - Google Drive


drive.google.com

Other Projects :

WifiManager https://github.com/tzapu/WiFiManager
TeslaBMS https://github.com/collin80/TeslaBMS
JKEnuPylon https://github.com/botaneta/JKbms_Emu_Pylon
JKBmsToPylonCAN https://github.com/ArminJo/JK-BMSToPylontechCAN
VictronLibCan https://github.com/jmibk/BMS-LIB-CAN-Victron


Implementation of this interface on battery:

LV 14S 180A Li from Kona with JKBms 150A and Can interface

View attachment 160382

HV 23S / module 60A from Kona with JK Activ Balancer and Can interface

View attachment 160383

JK - Victron

View attachment 160384

JK - Growatt

View attachment 160385

JK - Sungrow

ONLY 10 Pics for post SORRY!

IF U WANT TECH SUPPORT JUST WRITE TO ME, OR WHATUP!
Hi,

looks nice currently have succeeded with another project but single battery

would this work for Solis 3kw hybrid inverter so i can connect 2 batteries through JK2A24s15P bms in parallel?

second question - would this work with the SP2000 Growatt controller?


regards
 
i have a question/discussion

So we should see current flow like water, right?
Water always finds its level
So storage charges should also find their level right?

Should this not mean if we have say for example a battery level to say 90%
and then we have another that is 50%
if we connect them in parallel current should flow from the 90 to the 50 to level it up

Let's call it Passive sleep mode balancing...if that's correct



View attachment 197079

Then why can't we have the above??

Just a simplified thought - don't bite me :)

# Question is mainly to the developers who already know some Maths to this

# and to any other technical-minded person out there on these kind of projects

Note: this is a High-Level Design.
in more detail, the Batt 2 wires actually connect to the Batt 1 before the BMS terminals....
I would install a breaker switch between them.
 
Hi,

looks nice currently have succeeded with another project but single battery

would this work for Solis 3kw hybrid inverter so i can connect 2 batteries through JK2A24s15P bms in parallel?

second question - would this work with the SP2000 Growatt controller?


regards
jkbms will work


sp200 controiller no
 
i have a question/discussion

So we should see current flow like water, right?
Water always finds its level
So storage charges should also find their level right?

Should this not mean if we have say for example a battery level to say 90%
and then we have another that is 50%
if we connect them in parallel current should flow from the 90 to the 50 to level it up

Let's call it Passive sleep mode balancing...if that's correct



View attachment 197079

Then why can't we have the above??

Just a simplified thought - don't bite me :)

# Question is mainly to the developers who already know some Maths to this

# and to any other technical-minded person out there on these kind of projects

Note: this is a High-Level Design.
in more detail, the Batt 2 wires actually connect to the Batt 1 before the BMS terminals....
I would install a breaker switch between them.
i am not Shure what u mean!

If u have more battery packs in parallel all packs will have same voltage on enads so in theory is same SOC, but if u have a cell on 3.5 and rest are on 4 V the pack is not 90 % because the cell from 3.5V will discharge to protection faster!

so in the end when use parallel packs u need to send to invertor CVL DVL CCL DCL and SOC as one battery
 
i am not Shure what u mean!

If u have more battery packs in parallel all packs will have same voltage on enads so in theory is same SOC, but if u have a cell on 3.5 and rest are on 4 V the pack is not 90 % because the cell from 3.5V will discharge to protection faster!

so in the end when use parallel packs u need to send to invertor CVL DVL CCL DCL and SOC as one battery
I have all the modules but not sure of the connections right now, can you help?

i have this working on another project but, now i want to connect more than 1 battery.

otherwise, i will end up just balancing them and paralleling them making just one talk to the inverter without the CVL DVL CCL DCL and SOC

Thes are controlled by the JKBMS anyway...

whats your thoughts?
 
Last edited:
I have all the modules but not sure of the connections right now, can you help?

i have this working on another project but, now i want to connect more than 1 battery.

otherwise, i will end up just balancing them and paralleling them making just one talk to the inverter without the CVL DVL CCL DCL and SOC

Thes are controlled by the JKBMS anyway...

whats your thoughts?


CVL DVL CCL DCL and SOC are the data send to invertor by bms to work

CVL - Charge voltage level
DVL - discgarge voltage level
CCL - charge curent level
DCL - discharge curent level

u can send only from on jk bms to invertor but will not have the real amp readings , also change the charge curent and discharge current as manual to be like ur pack.
 
Because of lot of project i support in same time i need to make some management of projects, is hard to me to re take all conversation from forum for each of u, and some contact me in viber or whatup or telegram and in this moment is a big mess with lot of info.
Sorry for that i try to give my time to every one i can.
I will ad in Gdrive a folder for each with setups, hardware, invertors, and an project status.
And also i think i respond to same people to tow different forums.

the identifier will be form nick name. if u are not there just remaind me:

1 - Battery Hardare Setup
2 - Invertor protocol u need
3 - status of ur project
4 - we talk on whatup / viber / telegram before


will be online this week from 1 - 8 march , best for all
 
Because of lot of project i support in same time i need to make some management of projects, is hard to me to re take all conversation from forum for each of u, and some contact me in viber or whatup or telegram and in this moment is a big mess with lot of info.
Sorry for that i try to give my time to every one i can.
I will ad in Gdrive a folder for each with setups, hardware, invertors, and an project status.
And also i think i respond to same people to tow different forums.

the identifier will be form nick name. if u are not there just remaind me:

1 - Battery Hardare Setup
2 - Invertor protocol u need
3 - status of ur project
4 - we talk on whatup / viber / telegram before


will be online this week from 1 - 8 march , best for all
and some contact me in viber or whatup or telegram and in this moment is a big mess with lot of info.

Lool...you made me laugh when I read this line....don't worry at all I completely understand that you guys are busy
I count myself lucky when I get a reply from anyone of you project leaders.

I was just informed of the solution you have already in place where one can have 2 CAN ports - I was just about to start searching for that information and develop on it.


1 - Battery Hardare Setup - Solis inverter connected to 2 batteries (solution is supposed to look like the below diagram, but i didn't know how to get the 2 JKBMS.s to talk so i have omitted the RS485 communication for now of which its working but i don't trust it)

2 - Invertor protocol u need - i am using Pylontech protocol, i do not mind other protocols as long as its one that is listed in the Solis inverter options

3 - status of ur project - I would say 95 % completed , - not sure if the GPIO will change if i find your solution which would mean reflashing of the ESP32 chips

4 - we talk on whatup / viber / telegram before - i don't mind if we can talk on WhatsApp or Discord that would be great

My objective

1709317820582.png
 
Because of lot of project i support in same time i need to make some management of projects, is hard to me to re take all conversation from forum for each of u, and some contact me in viber or whatup or telegram and in this moment is a big mess with lot of info.
Sorry for that i try to give my time to every one i can.
I will ad in Gdrive a folder for each with setups, hardware, invertors, and an project status.
And also i think i respond to same people to tow different forums.

the identifier will be form nick name. if u are not there just remaind me:

1 - Battery Hardare Setup
2 - Invertor protocol u need
3 - status of ur project
4 - we talk on whatup / viber / telegram before


will be online this week from 1 - 8 march , best for all
and i think you should open a discord channel - that way all comms is live and there and other users can help other users on your behalf that should lighten the load...
 
Because of lot of project i support in same time i need to make some management of projects, is hard to me to re take all conversation from forum for each of u, and some contact me in viber or whatup or telegram and in this moment is a big mess with lot of info.
Sorry for that i try to give my time to every one i can.
I will ad in Gdrive a folder for each with setups, hardware, invertors, and an project status.
And also i think i respond to same people to tow different forums.

the identifier will be form nick name. if u are not there just remaind me:

1 - Battery Hardare Setup
2 - Invertor protocol u need
3 - status of ur project
4 - we talk on whatup / viber / telegram before


will be online this week from 1 - 8 march , best for all
Right now - with the current setup - there is a 10% difference between both battery SOC while discharging

1709318848433.png
 
I gat to say this.

This is a Beautiful project...I mean we are taking this to a different level better than out-of-the-box manufactural specifications for the professionally released components :)

The functionality available to us are becoming way more advanced than the original product itself.

You guys are amazing.....
 
Looking for some help getting this up and running on my system. I have tried to connect with my JBD BMS on the NODEMCU serial (pins TXD, RXD), and Growatt LV on RS485 (D16, D17). On the web interface for JkBMS it says disconnected on both connections (see screen shot, and there is no actiity on the JBD BMS LED) so I am not sure if I have connected to the correct serial ports on NodeMCU chip. I am using the code JK_BMS_BLE_SERIAL_V4.2.partitions @0x8000, JK_BMS_BLE_SERIAL_V4.2.bootloader @0x1000
JK_BMS_BLE_SERIAL_V4.3 @0x10000.

JkBMS v2.0.15-rc.1 ; Arduino 2.0.9 ; Build Date Sep 11 2023 22:28:48

1709477443501.png

I read in a post about connection on serial 1 & 2, but the chip only has a hardware serial 0 and 1 (serial 2 is only TX) which is a bit confusing. Does it have SoftwareSerial on some other pins for JBD?

I have linked out the JDB on both SERIAL0 & SERIAL1 swapping the connection in case I had TX and RX the wrong way and it still does not work. I also tried the same on the JST connector from the original wiring diagram on pins D21 & D22, but it didn't work either.
Same goes for pins D19&D18 which seemed to be wired out to a terminal block on the wiring diagram, again didn't work.

I know the JBD port works as I have a butchered some arduino code to convert the JBD serial to pylontech CAN and I can use the serial monitor on Arduino software to see the values as text.

I also tried the blue tooth connection setting with the JBD BMS too but it does not connect on that either, for blue tooth do I need a seperate BT module connected to the NodeMCU or does it use the onboard one?

Thanks
 

diy solar

diy solar
Back
Top