Steve T - IoW UK
New Member
For anyone remotely interested ! , I thought I would post yet another JK BMS to CAN interface project......
I really wanted some local 'at a glance' display of my battery status. I'm into Arduino but have Zero grasp of YAML & ESPHome... I'm no coding expert!. I like the Lilygo T-Display S3 and have used them in numerous projects, its a fantastic module but just NEVER place pressure on the display when insering or removing the module from a socket!!
I'm pleased to say this interface has been working 100% reliably for 10+ weeks now. It's currently sitting between my old trusted JK-B2A24S15P BMS (Version 10) and my new Solis S5 EH1 3.6kw Hybrid inverter (configure to use Pylon LV or User Defined battery types - I prefer 'User Defined' to provide more sense of what's going on).
It's a very simple, minimal parts circuit based on easily available modules and can easily be built on vero board, however I created a PCB to fit inside a clear lidded multicomp enclosure. A small copper foil plate on the inner left side of the enclosure connects to a touch input for moving around different displays.
I've currently implemented only a very basic charge current limiting strategy to reduce the inverters charge current to 2Amps at high SOC or if the cell delta V is too high to aid cell balancing and to maximise the cycle lifetime. Crude, but it seems to work well.
The PCB supports a couple of DC-DC regulator module options for powering the circuit from the battery....alternatively, you could simply power the interface directly from a USB power socket - (although then the CAN link will fail during a grid power fail and your inverter wont provide a back-up!).
The PCB circuit includes many superflous, un-populated component positions to support some possible future ideas (i.e CAN/Modbus connection to the Inverter or a power meter, A HC-12 433MHz transceiver providing comms to distant power controlling devices or displays, plus extra I/O ...to possibly control battery heating??)
Note: Currently this has only been tested to work on a JK-B2A24S15P with Hardware / Software version 10. It is very likely some small tweaks may be required to work with a Version 11 BMS model (any feedback or code fixes are welcomed!). I've also only been able to test the CAN functionality on a Solis S5 EH1, however the CAN code (which i changed to TWAI for the S3) is reported to work OK on other inverter types.
For more info, i have dumped the Arduino code, circuit diagrams etc to Github and also uploaded a video to Youtube
Perhaps someone can pick something useful out of it!
Cheers, Steve
I really wanted some local 'at a glance' display of my battery status. I'm into Arduino but have Zero grasp of YAML & ESPHome... I'm no coding expert!. I like the Lilygo T-Display S3 and have used them in numerous projects, its a fantastic module but just NEVER place pressure on the display when insering or removing the module from a socket!!
I'm pleased to say this interface has been working 100% reliably for 10+ weeks now. It's currently sitting between my old trusted JK-B2A24S15P BMS (Version 10) and my new Solis S5 EH1 3.6kw Hybrid inverter (configure to use Pylon LV or User Defined battery types - I prefer 'User Defined' to provide more sense of what's going on).
It's a very simple, minimal parts circuit based on easily available modules and can easily be built on vero board, however I created a PCB to fit inside a clear lidded multicomp enclosure. A small copper foil plate on the inner left side of the enclosure connects to a touch input for moving around different displays.
I've currently implemented only a very basic charge current limiting strategy to reduce the inverters charge current to 2Amps at high SOC or if the cell delta V is too high to aid cell balancing and to maximise the cycle lifetime. Crude, but it seems to work well.
The PCB supports a couple of DC-DC regulator module options for powering the circuit from the battery....alternatively, you could simply power the interface directly from a USB power socket - (although then the CAN link will fail during a grid power fail and your inverter wont provide a back-up!).
The PCB circuit includes many superflous, un-populated component positions to support some possible future ideas (i.e CAN/Modbus connection to the Inverter or a power meter, A HC-12 433MHz transceiver providing comms to distant power controlling devices or displays, plus extra I/O ...to possibly control battery heating??)
Note: Currently this has only been tested to work on a JK-B2A24S15P with Hardware / Software version 10. It is very likely some small tweaks may be required to work with a Version 11 BMS model (any feedback or code fixes are welcomed!). I've also only been able to test the CAN functionality on a Solis S5 EH1, however the CAN code (which i changed to TWAI for the S3) is reported to work OK on other inverter types.
For more info, i have dumped the Arduino code, circuit diagrams etc to Github and also uploaded a video to Youtube
Perhaps someone can pick something useful out of it!
Cheers, Steve
Last edited: