JK BMS serial comm protocol if you don't want to use Bluetooth/App

I just setup a JK BMS and noticed it had a comm port on it so I decided to look to see if anyone has tried ‘talking’ to the BMS over these comm links instead of through the JK phone app. They have.

It seems the port labelled GPS is really a 3.3V TTL serial comm link and this group has it connected to an ESP32 board which also connects via CAN bus to some inverters for power control or something.
But that stuff can be removed and there it is.

And interesting project might be to setup a web page on the ESP32, have it connect to your home WiFi(the ESP32 has both WiFi and Bluetooth builtin ) So you can have your Alexa device turn on the GEM outlet and start a charge cycle. Or something like that.

Or just buy this, plug the car into it and say “Alexa, baby you can charge my car”

https://a.co/d/ejNmCQj

True, you can always just plug it in at any time and start a charge cycle or put it on some form of timer, etc. Maybe a better example would be knowing when your solar system was generating more power than your home was consuming and only then turning on the vehicle charging system. Utilities are more often than not only paying you for wholesale rate of excess electricity so unless you are putting your excess into a battery of some sort, you’re missing out on getting more value from your PV generating system.

Another option might be having an indicator in your house which shows you the current range of the GEM and a push of a button starts the charge cycle if you remembered to plug it in( having the extension cord plugged into a MQTT controllable outlet ).

Yet another possibility is the BMS Discharge disconnect. the ESP32 has bluetooth so it can turn off discharge automatically when the bluetooth interface on your phone is out of range or the SSI of the signal is below a threshold.

Any other ideas as to how having programmatic access to a Jk BMS might be useful?

How about for those that have multiple cars in their house. You could set a higher priority to charge your car over the other.

1 Like

that’s a good use case and I’m guessing it has to do with access to only a single outlet which would be overloaded if both were charging?

Do know if the newer chargers than the Zivan will start charging if they are connected to AC but the BMS Charge FETs are off and later the FETs are turned on?

The new JK come with CAN or rs 485 I was able to read some data from them using some of my software and the CAN adapter. I havent had time to mess with sending commands yet. Interesting functions and they are easy to code.

Not sure how old this one is but it seems the GPS/RS485 port is really a 3.3v UART so any 3.3v microcontroller or FTDI cable can connect with it.

What I saw online for RS485 was an adapter with a plug for the GPS/RS485 port. Meaning it’s an adapter from 3.3v UART to RS484.

THE CAN interface is likely what it says.

the new ones have a toggle switch in the app where you can select Can Vs rs485 however due to the fact that is chinese I have my doubts that is rs485.
I used CAN as I my goal is to to integrate it with 2016+ cars.

I’ll have to look into this as it can lead to a bunch of display options to put on the dashboard, charge control and theft prevention.

The github repo I linked shows the software’s been written for access to the JK and if done well it might be easily split out for stand-alone use as opposed to being integrated with an Inverter system. Here you can see the JK BMS is wired directly to the ESP32 UART pins. Very cool.

If you notice the 2 connectors are both 4 wire connectors so the switch might just toggle the two data lines. The docs I saw showed the need for a CAN interface adapter or a RS485 interface adapter

yup, not hard to do tbh, I still need to test if I can send commands, so far receiving them and decoding them was easy. but I have a lot of fishes to fry and this went to the back burner

yup, that’s why I always look to see if someone hasn’t already invented some or all of it already.