CorruptDB
New Member
After watching Will's video on the new cheap EcoFlow battery ($200 Ecoflow 12V Battery?! It's shiny!) I decided to pull the trigger and get one. I have been looking for a second 100Ah LFP to add to my RV. This one seemed perfect for a bunch of reasons:
My new battery looks pretty much like the one in the video on the outside and the inside. One odd thing is that the $199 battery on the EcoFlow site (https://us.ecoflow.com/products/lithium-12v-100ah-deep-cycle-lifepo4-battery) the specs say "Max Discharge Current 30 Seconds" is 110A where on Will's video the top panel of the battery says "300A@30s Instantaneous Load Capacity" which seems to be the specs of their $269 battery (https://us.ecoflow.com/products/lithium-12v-100ah-deep-cycle-marine-trolling-motor-battery). I ordered the $199 battery and the battery I received says the same as the one in the video, 300A@30s so they might be shipping the more expensive one for both SKUs, other than the instantaneous output I don't see the difference between the two batteries so maybe I just got lucky with a free upgrade.
The BMS board has some QR codes on it that encoded long (part?) numbers starting with "SP04S". I worked on the assumption that it was a JBD BMS because their part numbers follow that pattern and they had very similar BMSes on their site, but I couldn't find the exact BMS. I was able to access the UART in the BMS via the unmarked port next to the sensor port. If you look through the glue behind the port you can see the PCB silkscreen says "TXD", "RXD" and "VCC" next to 3 of the 4 pins. The TXD pin measured at 3.3v and the VCC pin measured at 12.8v vs. pin 1, which has continuity to pack ground.
I hooked a USB to serial converter up to the port and wrote a python script to send a query to the BMS using the JBD BMS protocol (send 0xDD, 0xA5, 0x03, 0, 0xFF, 0xFD, 0x77). That statement sounds simple but in actuality it was hours of probing, debugging, rewiring, trying different hardware, trying different bauds, etc.) but that's typical for me with any project like this. After I finally was able to get the BMS to return data in response to my query, I investigated what other people have done for parsing the output since I didn't want to write everything from scratch. I found https://github.com/sshoecraft/jbdtool which can connect to JBD BMSes, parse the battery/cell data and output to JSON or CSV. Querying the BMS information it reports it is manufactured by "Zetara" and the model is ZT_SP04S0457 but I'm not seeing it on their site. Whatever the case, it speaks the JBD protocol so I should be able to accomplish what I want.
I added a bluetooth module to the mix, an HM-10 clone module from Amazon. It has been less than successful. The modules I got don't seem very good, I can establish a link and data sent from its UART to bluetooth appears to work but if you try to send BT->serial it flips out and disconnects and often just disconnects for no reason.
I might try with a different bluetooth module but after seeing other people on this forum are using WiFi instead I decided to go that route since other people on this forum have already done that: https://diysolarforum.com/threads/jbd-bms-wi-fi-module.17252/ and I have a spare ESP8266 lying around. I got that up and working as expected but then I ran into the next difficulty. The pin marked VCC on the UART port doesn't seem to support any current. I was testing a DC/DC converter to test everything on battery power only and couldn't figure out why everything kept glitching out. My converter output was dropping from its set 3.3v once I connected any device even though it's way bigger than what's actually going into the battery long-term (rated for 5A). Even adjusting the converter adjustment pot up I couldn't get it back to 3.3v. I finally looked at the source voltage and found that it immediately dropped whenever anything is connected to it. I found the VCC pad on the LCD port appears to be pack voltage so I soldered a lead onto it and I'm using it for my power supply. Unfortunately since I had adjusted my DC/DC converter up when troubleshooting I now supplied WAY TOO MUCH voltage (probably close to pack voltage) to my ESP8266 and fried it. Literally fried it, I could hear it sizzle. I have let a lot of magic smoke out of a lot of parts in my time but that sizzle was the loudest I have ever heard, maybe the RF shield on that part amplifies it. That was my only spare so I am currently waiting on some ESP-01 boards and I'll get it working over WiFi, for now I am logging battery data over a direct serial connection.
For other people who are using JBD-style BMSes, what are you using to visualize/monitor your data? Right now I am just inserting the data (battery state, voltage, amps, temps, cell volts, etc) into a database and generating graphs with Python, are there any existing projects that consume data like this into a more cohesive solar system picture or do most people just install another app on their phone, occasionally look at some cell voltages and leave it at that? I would love to hear what other people are doing with BMS/inverter/MPPT charger data from their systems.
- It's SUPER cheap! I bought my current 100 Ah LFP RV battery (VATRER, also torn down by Will at
- Prices are going to spike soon because of tariffs being added to Chinese batteries
- EcoFlow makes good products, but I always associated them with the overpriced "solar generator" kits and the like where I prefer a more DIY/inexpensive route. I was surprised to see them offer a battery at this price point.
- The build quality looked great on the teardown video and it passed all of Will's tests
- Most of all, you can open the case, making it DIY friendly. I don't want to spend the extra money for the fancy batteries with bluetooth and displays when I can DIY it for a lot less and actually have access to the data instead of having to install a random app on my phone. Having a case I can open (then seal again) is way better than having to cut into one of the other batteries on the market then trying to seal it again when I was done.
My new battery looks pretty much like the one in the video on the outside and the inside. One odd thing is that the $199 battery on the EcoFlow site (https://us.ecoflow.com/products/lithium-12v-100ah-deep-cycle-lifepo4-battery) the specs say "Max Discharge Current 30 Seconds" is 110A where on Will's video the top panel of the battery says "300A@30s Instantaneous Load Capacity" which seems to be the specs of their $269 battery (https://us.ecoflow.com/products/lithium-12v-100ah-deep-cycle-marine-trolling-motor-battery). I ordered the $199 battery and the battery I received says the same as the one in the video, 300A@30s so they might be shipping the more expensive one for both SKUs, other than the instantaneous output I don't see the difference between the two batteries so maybe I just got lucky with a free upgrade.
The BMS board has some QR codes on it that encoded long (part?) numbers starting with "SP04S". I worked on the assumption that it was a JBD BMS because their part numbers follow that pattern and they had very similar BMSes on their site, but I couldn't find the exact BMS. I was able to access the UART in the BMS via the unmarked port next to the sensor port. If you look through the glue behind the port you can see the PCB silkscreen says "TXD", "RXD" and "VCC" next to 3 of the 4 pins. The TXD pin measured at 3.3v and the VCC pin measured at 12.8v vs. pin 1, which has continuity to pack ground.
I hooked a USB to serial converter up to the port and wrote a python script to send a query to the BMS using the JBD BMS protocol (send 0xDD, 0xA5, 0x03, 0, 0xFF, 0xFD, 0x77). That statement sounds simple but in actuality it was hours of probing, debugging, rewiring, trying different hardware, trying different bauds, etc.) but that's typical for me with any project like this. After I finally was able to get the BMS to return data in response to my query, I investigated what other people have done for parsing the output since I didn't want to write everything from scratch. I found https://github.com/sshoecraft/jbdtool which can connect to JBD BMSes, parse the battery/cell data and output to JSON or CSV. Querying the BMS information it reports it is manufactured by "Zetara" and the model is ZT_SP04S0457 but I'm not seeing it on their site. Whatever the case, it speaks the JBD protocol so I should be able to accomplish what I want.
I added a bluetooth module to the mix, an HM-10 clone module from Amazon. It has been less than successful. The modules I got don't seem very good, I can establish a link and data sent from its UART to bluetooth appears to work but if you try to send BT->serial it flips out and disconnects and often just disconnects for no reason.
I might try with a different bluetooth module but after seeing other people on this forum are using WiFi instead I decided to go that route since other people on this forum have already done that: https://diysolarforum.com/threads/jbd-bms-wi-fi-module.17252/ and I have a spare ESP8266 lying around. I got that up and working as expected but then I ran into the next difficulty. The pin marked VCC on the UART port doesn't seem to support any current. I was testing a DC/DC converter to test everything on battery power only and couldn't figure out why everything kept glitching out. My converter output was dropping from its set 3.3v once I connected any device even though it's way bigger than what's actually going into the battery long-term (rated for 5A). Even adjusting the converter adjustment pot up I couldn't get it back to 3.3v. I finally looked at the source voltage and found that it immediately dropped whenever anything is connected to it. I found the VCC pad on the LCD port appears to be pack voltage so I soldered a lead onto it and I'm using it for my power supply. Unfortunately since I had adjusted my DC/DC converter up when troubleshooting I now supplied WAY TOO MUCH voltage (probably close to pack voltage) to my ESP8266 and fried it. Literally fried it, I could hear it sizzle. I have let a lot of magic smoke out of a lot of parts in my time but that sizzle was the loudest I have ever heard, maybe the RF shield on that part amplifies it. That was my only spare so I am currently waiting on some ESP-01 boards and I'll get it working over WiFi, for now I am logging battery data over a direct serial connection.
For other people who are using JBD-style BMSes, what are you using to visualize/monitor your data? Right now I am just inserting the data (battery state, voltage, amps, temps, cell volts, etc) into a database and generating graphs with Python, are there any existing projects that consume data like this into a more cohesive solar system picture or do most people just install another app on their phone, occasionally look at some cell voltages and leave it at that? I would love to hear what other people are doing with BMS/inverter/MPPT charger data from their systems.