diy solar

diy solar

JBD BMS Wi-Fi Module

Thanks Ian for looking into that. I wonder if my 14s bmss have this issue. They all work fine with the bluetooth dongle, but no luck yet with the ESP01/ESP2866 wifi dongles. Two other 10s bmss are working good over wifi. I have a scope but not so familiar with it, so I should give that a shot.

Next step, level shifter on the tx from bms to bump it up to 3.3v?
yes, interestingly looking at the protocol document from LLT it says the uart in the bms is 5v, it certainly doesnt look that way to me! I will be digging in my box of bits and building a level shifter based on BSS138, and a 317 variable regulator to produce the 1.7v reference needed. then with the level shifted to 3v3 see if it works then. it turns out 1v7 is in the grey area for the esp2866 chip - neither 1 or 0 so little wonder it didnt work, the ftdi must be more tolerant. I looked at the BLE module, there is a voltage regulator on there... 12v-> whatever, and then a chip with its' legend removed. it to must be tolerant.

Will report back when I have more news
 
Thanks Ian for looking into that. I wonder if my 14s bmss have this issue. They all work fine with the bluetooth dongle, but no luck yet with the ESP01/ESP2866 wifi dongles. Two other 10s bmss are working good over wifi. I have a scope but not so familiar with it, so I should give that a shot.

Next step, level shifter on the tx from bms to bump it up to 3.3v?
I wonder were the 2 x BMS that work and the other 10 from different sources?
 
yes, interestingly looking at the protocol document from LLT it says the uart in the bms is 5v, it certainly doesnt look that way to me! I will be digging in my box of bits and building a level shifter based on BSS138, and a 317 variable regulator to produce the 1.7v reference needed. then with the level shifted to 3v3 see if it works then. it turns out 1v7 is in the grey area for the esp2866 chip - neither 1 or 0 so little wonder it didnt work, the ftdi must be more tolerant. I looked at the BLE module, there is a voltage regulator on there... 12v-> whatever, and then a chip with its' legend removed. it to must be tolerant.

Will report back when I have more news
And another thought, if you make too much current demand from a circuit, typically the voltage will drop, so maybe a simple buffer would work, that is another avenue I will be exploring I think. just seen a couple of posts, on on reddit max current draw from UART and also a reference here to a special cable for connecting arduino to uart port. sadly the link here is dead :( will as James at LLT if this was his.
 
I'm considering going the same route as Steve (not only because we have the same name), as my ESP8266s have proven to be a bit flakey from time to time (drop wifi connection when they are literally ~10ft from the AP, which is a Unifi Lite). They always come back after a while but I had to stop monitoring them (the adapters) because of it.
 
Thanks Ian for looking into that. I wonder if my 14s bmss have this issue. They all work fine with the bluetooth dongle, but no luck yet with the ESP01/ESP2866 wifi dongles. Two other 10s bmss are working good over wifi. I have a scope but not so familiar with it, so I should give that a shot.

Next step, level shifter on the tx from bms to bump it up to 3.3v?
Update, it works! I tried als sorts of different bufferening methods, assuming incorrectly the issue lay in the current draw on the BMS tx line by the ESP, no, that was not it. I got out a buck converter (3A) to take the battery output down to 3v3, this a large current available to the esp-01. the positive from the battery, and the switched negative output of the BMS now feed the buck converter, rather than trying to use an AL3v3 type from the 12v out from the usart out from the BMS. the ground on the UART is common with the ground at the output of the battery.

suddenly it came to life!

Now to make use of this new toy...
 
I have some JBD bms's that I wanted to use esp-link on. I purchased several esp-01s modules. Doesn't matter what version of esp-link I try to program on the devices, they all reset after starting the dhcp server.

Using the arduino IDE, any sketch I've tried works, wifi or not.

I've followed any Youtube example that I have found exactly.
I've tried programming in both linux and windows.
The modules I have are 30Mbit flash and that is confirmed by the programmers.
I've programmed using the bin file in the beginning of this thread as well as different versions on jeelabs github.
I've programmed using the exact settings recommended in Flashing.md.
I'm using a 10A 3.3V regulated supply so it's not a power issue.

Can anyone offer some suggestion that I've not tried?

Thanks in advance.
 
Anyone knows if this BMS is compatible with the JBD Tool ?
BMS on eBay

Or please point me to where to ask, or maybe a link to a JBD BMS on eBay?

Yes, I wrote the JBDTOOL for this adapter

See Post #9:

 
This has been very useful for me @melkier, great work.

Would anyone be willing to share parameters that are working for them, for LiFePO4 chemistry?
I played with some settings and now can't get the BMS to balance at all - currently some cells are at 3.37v while a few are 3.61 and only dropping very slowly (and the Balance bitmask is all zeros)

This is what I've got (happy to provide full list if that helps)
FullChargeVol 3650
CellOverVoltage 3650
CellOVRelease 3500
BalanceStartVoltage 3400
BalanceWindow 15
BatteryConfig BALANCE_EN,CHG_BALANCE,LED_EN,RTC [21340]

BatteryConfig was set in the app, with Open Balance=open, and Balance Mode=charge. I admit these settings don't make much sense to me.

UPDATE: changed to Balance Mode=static (BatteryConfig BALANCE_EN,LED_EN,RTC [21332]), and it's saying it's balancing but balance bitmask is switching between 0001010101010101 and 0010101010101010 (16s battery), which seems very strange.

P.S. does anyone else use Heltec balance boards? I have this but it doesn't actually do anything - can anyone recommend a different one to try?
 
Last edited:
Anyone knows if this BMS is compatible with the JDB Tool ?
BMS on eBay
Or maybe
This has been very useful for me @melkier, great work.

Would anyone be willing to share parameters that are working for them, for LiFePO4 chemistry?
I played with some settings and now can't get the BMS to balance at all - currently some cells are at 3.37v while a few are 3.61 and only dropping very slowly (and the Balance bitmask is all zeros)

This is what I've got (happy to provide full list if that helps)
FullChargeVol 3650
CellOverVoltage 3650
CellOVRelease 3500
BalanceStartVoltage 3400
BalanceWindow 15
BatteryConfig BALANCE_EN,CHG_BALANCE,LED_EN,RTC [21340]

BatteryConfig was set in the app, with Open Balance=open, and Balance Mode=charge. I admit these settings don't make much sense to me.

UPDATE: changed to Balance Mode=static (BatteryConfig BALANCE_EN,LED_EN,RTC [21332]), and it's saying it's balancing but balance bitmask is switching between 0001010101010101 and 0010101010101010 (16s battery), which seems very strange.

P.S. does anyone else use Heltec balance boards? I have this but it doesn't actually do anything - can anyone recommend a different one to try?
Will Prowse always had bad experience with those active balancers. He doesn't recommend them at all.
I don't have experience with them
 
It should start pinging at the IP address it had before (or the static ip you set).

If on Linux, you can now connect to it using my jbdtool:


OR if you're on windows, you can use HW Virtual Serial port from the hw-group


Use the IP address of the ESP and port 23.

View attachment 34101

Once connected, you can use the windows version of JBDTools to connect to it ... Simply select the same COM port you used in HW VSP and click start. All functions should work great - all using WiFI

View attachment 34102


Any questions just message me
Can you connect to multiple BMS by using the same rs485 adapter? Can you change the address of the BMS?
 
This has been very useful for me @melkier, great work.

Would anyone be willing to share parameters that are working for them, for LiFePO4 chemistry?
I played with some settings and now can't get the BMS to balance at all - currently some cells are at 3.37v while a few are 3.61 and only dropping very slowly (and the Balance bitmask is all zeros)

This is what I've got (happy to provide full list if that helps)
FullChargeVol 3650
CellOverVoltage 3650
CellOVRelease 3500
BalanceStartVoltage 3400
BalanceWindow 15
BatteryConfig BALANCE_EN,CHG_BALANCE,LED_EN,RTC [21340]

BatteryConfig was set in the app, with Open Balance=open, and Balance Mode=charge. I admit these settings don't make much sense to me.

UPDATE: changed to Balance Mode=static (BatteryConfig BALANCE_EN,LED_EN,RTC [21332]), and it's saying it's balancing but balance bitmask is switching between 0001010101010101 and 0010101010101010 (16s battery), which seems very strange.

P.S. does anyone else use Heltec balance boards? I have this but it doesn't actually do anything - can anyone recommend a different one to try?
I have a pair of Heltec 4s boards but haven't used them. My 2 4s 280Ah packs have stayed pretty well balanced. They will drift apart slightly during charge but then settle back to a few mV range difference lowest to highest.

I have my cell ov @ 3.65, under @ 2.75 and the MPPT is set to stop @ 13.75

balance turnon is 3.2 and precision is 0.03
 
Hello guys, I am a really newbie on all this stuff and need some help, please.
I am working with a 4S battery with a JBD BMS; all it seems to be working fine.
I can connect to the BMS UART with a USB TTL adapter using the JBD Windows application, reading the parameters and changing them just fine.
two days ago I connected it to the pi 4 and used the Melkier tool on serial; it was extremely slow but it worked.
Now it is not working anymore and if I launch "jbdtool -t serial:/dev/ttyUSB0,9600 -r -a it ends immediately without any data.
I have tried to download again the jbdtool static for pi, copied it, made it executable, checked that under windows all is still fine... no luck.:cry:
As said I am a newbie and cannot figure out what is wrong now and worked few days ago
 
Hello guys, I am a really newbie on all this stuff and need some help, please.
I am working with a 4S battery with a JBD BMS; all it seems to be working fine.
I can connect to the BMS UART with a USB TTL adapter using the JBD Windows application, reading the parameters and changing them just fine.
two days ago I connected it to the pi 4 and used the Melkier tool on serial; it was extremely slow but it worked.
Now it is not working anymore and if I launch "jbdtool -t serial:/dev/ttyUSB0,9600 -r -a it ends immediately without any data.
I have tried to download again the jbdtool static for pi, copied it, made it executable, checked that under windows all is still fine... no luck.:cry:
As said I am a newbie and cannot figure out what is wrong now and worked few days ago
I had a similar problem.
I have a daemon running that polls the bms in a loop.
It worked reliably for many months.
I stopped the daemon to develop some new features and then noticed this command was returning "{}".
`jbdtool -t serial:/dev/ttyUSB0 -J`
Changing to this `jbdtool -d2 -t serial:/dev/ttyUSB0 -J` made it work.
Its a "jiggle the handle" workaround but it makes the util return a json object :)
Can you try adding -d2 and report back?
tagging @melkier .
 
Last edited:
I had a similar problem.
I have a daemon running that polls the bms in a loop.
It worked reliably for many months.
I stopped the daemon to develop some new features and then noticed this command was returning "{}".
`jbdtool -t serial:/dev/ttyUSB0 -J`
Changing to this `jbdtool -d2 -t serial:/dev/ttyUSB0 -J` made it work.
Its a "jiggle the handle" workaround but it makes the util return a json object :)
Can you try adding -d2 and report back?
tagging @melkier .
I figured it out why it was not working anymore :)
yesterday I tried to implement a NodeRed flow using jbdtool and forgot it; it was continuosly keeping jbdtool busy :(
Now it remains the issue that it is damn slow, could it be the USB-TTL adapter?
It requires more than 2 minutes to display the full parameters list using -r -a
 
I figured it out why it was not working anymore :)
yesterday I tried to implement a NodeRed flow using jbdtool and forgot it; it was continuosly keeping jbdtool busy :(
Now it remains the issue that it is damn slow, could it be the USB-TTL adapter?
It requires more than 2 minutes to display the full parameters list using -r -a
`jbdtool -t serial:/dev/ttyUSB0 -J` takes a very consistent 6 seconds here.
Using this module https://overkillsolar.com/product/usb-module-for-bms/
 
Running your command takes just 7 seconds to me, but running 'jbdtool -t serial:/dev/ttyUSB0 -r -a' takes 2 minutes.
Would you mind trying and reporting how long it takes to you, please?
I got 2 minutes and 21 seconds.
 
I got 2 minutes and 21 seconds.
All right, thank you so much for your kind help and taking the time to answer and give it a try, much appreciated.
So it seems all is working fine, it is just a matter of how the '-r -a' works then.
I thought it could be an issue with the USB TTL converter or something else, I am encouraged that it is the same for you. :)
;)
 
Back
Top