• 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

EG4 FlexBoss/GridBoss and Basen Green battery communication?

geordi

Bunsen Honeydew testing electricity on Beaker
Joined
Apr 7, 2025
Messages
225
Location
Connecticut
Learning to crawl before I can walk here, so please bear with me a bit. I'm not a newbie to power or solar, but this interconnected communication stuff isn't doing what I expect it to - and as many here have mentioned, the documentation from some of these manufacturers is..... lacking.

The setup:
Grid Boss / FlexBoss 21 installed and operating with (at the moment) 4.5kw of solar attached, and two 15kWh Basen Green (or BasenGreen for the search tool) DIY battery boxes. The system is set up for ZERO export because the power company won't pay doodly for generation, so why bother.

The primary issue right now: Communication between the two BMS units in the boxes with each other and with the FB21. The batteries are installed in parallel with each other (50v system) via 4/0 cable that are equal length between the two boxes, and (not that I think it matters) the cables to the FB21 are opposite - positive is on the bottom box and negative is on the top.

I DID top balance the batteries before building the packs, but I'm not sure that I know what I'm doing all the way with that either. I understand that there is a possibility of the SoC numbers being wrong anyway, at least initially. But I don't know how to see / trigger the balancing function (or do I even need to worry about this?) but the inverter seemed to receive a stop-charging from the boxes last night and was reporting 98% charge but only 53.3v. My math says that's 3.33v per cell, and only slightly over the 3.20 that they came out of the shipping boxes with? I charged them to showing 3.55 after balancing to 3.6v before building.

The two boxes report WILDLY different SoC numbers in use, and often have different current readings displaying. The voltage showing on each box is the same however.

This MAY be my misunderstanding of how the BMS functions and communicates and / or how it was not really programmed right to start with. I spent DAYS trying to get the RS485-USB to work (the BasenGreen supplied adapter and drivers are hot garbage) and finally ended up with an FTDI chip adapter and able to update the firmware on the boxes and program settings the same on each unit based on post #59 from here: https://diysolarforum.com/threads/basen-green-diy-case-48v-v2.87477/page-3

It would seem that the "Upper" software requires the box addresses to be set to 1 and 2 (and apparently the badly-written software masquerades as number zero, even though you can choose number zero in the list. [shakes head in proper programmer].... So I got them programmed individually and then looked to connect them to the FlexBoss21 - and here's where things get confusing to me.

The FB apparently has a dual-mode port, it can do RS485 or CAN. I understand CANbus, it's a party line system. But the BG boxes only have one CANbus port on them - Can't daisy chain that for communication. But the RS485 doesn't seem to communicate with the FlexBoss? There are three RS485 ports on the BasenGreen boxes, labeled A/B/C.... And not documented at all in their literature. So are these sequential? Party line? Does the FlexBoss need an ID address set somehow or is it automatically number 0 and I shouldn't label either box as number 0?

The lack of documentation sucks. I have the batteries set to use Pylon protocol, and the FlexBoss is set for Lithium and type 2 (whatever that means?) but I'm not sure if there's a better / more communicative protocol option.
There's a lot of discussion here that I've been reading through about "open loop" or "closed loop" communications.... Is there a flag somewhere that will tell me which it is communicating with? The Flexboss DOES seem to receive limit commands from the batteries (or at least one of them) about how much current can be sent - yet the (iphone) monitor app shows "one battery in parallel" and the capacity is 50 ah, which is way wrong. The monitor web page doesn't show that information about parallel batteries, but does show when they are charging or discharging and whether that is "BMS Allowed" or not.

Can the batteries hurt themselves with at least this level of communication? One of the packs was reporting zero percent SoC while the other was saying 60%, and the power readings (from the LCD on the batteries themselves) was 30 amps different but the voltage was .04v apart at 50.36 or 50.40v. I cut it off at 48v b/c on the Flexboss it was still saying 26% SoC at that voltage which didn't seem right to me.

Maybe I'm overthinking this? Please help, and thanks! I have images of most of this, happy to figure out how to post those or fill in any questions other than "why are you doing this if you are a moron over your head?" :) I know I'm *almost* over my head.... It's been an adventure up until this lack of documentation / programming difficulty started! Other than these numbers, it DOES do a lot of what I want already, so I figure I'm about 85% of the way to my goal.
 
I have your exact hardware setup.. Flexboss21 , Gridboss , and 2 Basen Green DIY 48v V2's 314ah.
I'm very early on in my diy install, still collecting all the parts/wire ect I need for a full install.
But currently I just have the Flexboss and one Basen Green hooked up in a Off-grid setup for testing and I do have the Flexboss21 commutating with battery closed-loop and reporting correct info.
Screenshot 2025-07-10 211734.png
Screenshot_20250710_211954_EG4 Monitor.jpg
Screenshot 2025-07-10 211844.png

I did all my battery settings with the first dip switch UP and USB to RS485a with a DTECH usb to RS422/RS485 FTDI, and used the Ethernet cable that came with the battery and wired it like this. Setting like OV, UV, the correct capacity ect.
20250710_215259.jpg

Set my CAN protocol to LUXPower ( changing commutation protocols will reboot the battery )
Shutdown the battery, Unpluged RS485a, Put the DIP switch back down, Connected Flexboss to battery on CAN port, Boot battery, Log into the Flexboss control (I use the website I dislike the app) in Maintenance > Battery Setting . Set Battery Type to Lithum and set Lithium Brand / No comms to 2 .
Screenshot 2025-07-10 214403.png

Now as far as the second battery I plan on doing the programing the same but after that the DIPs should be set like this
Screenshot 2025-07-10 213118.png
and the second battery is connected to the first battery with the RS485b ports.
I haven't finished my second battery ( waiting on some cells ) but when I get it done I post again and confirm working in parallel or not.
 
Last edited:
Quick note: I did some more work on my system and powered everything down, Flexboss21 and the Battery. After I booted it all back up I was getting a reading of 50aH from the Flexboss21 for the capacity for some reason (I just did some wiring No settings changes). To fix this all I did was change the Lithium Brand / No comms setting from 2 to 0: EG4 and it started to work just fine again.
 
I have your exact hardware setup.. Flexboss21 , Gridboss , and 2 Basen Green DIY 48v V2's 314ah.
I'm very early on in my diy install, still collecting all the parts/wire ect I need for a full install.
But currently I just have the Flexboss and one Basen Green hooked up in a Off-grid setup for testing and I do have the Flexboss21 commutating with battery closed-loop and reporting correct info.
View attachment 311408
View attachment 311410
View attachment 311409

I did all my battery settings with the first dip switch UP and USB to RS485a with a DTECH usb to RS422/RS485 FTDI, and used the Ethernet cable that came with the battery and wired it like this. Setting like OV, UV, the correct capacity ect.
View attachment 311414

Set my CAN protocol to LUXPower ( changing commutation protocols will reboot the battery )
Shutdown the battery, Unpluged RS485a, Put the DIP switch back down, Connected Flexboss to battery on CAN port, Boot battery, Log into the Flexboss control (I use the website I dislike the app) in Maintenance > Battery Setting . Set Battery Type to Lithum and set Lithium Brand / No comms to 2 .
View attachment 311411

Now as far as the second battery I plan on doing the programing the same but after that the DIPs should be set like this
View attachment 311415
and the second battery is connected to the first battery with the RS485b ports.
I haven't finished my second battery ( waiting on some cells ) but when I get it done I post again and confirm working in parallel or not.


Any particular reason you chose Luxpower instead of Pylon? From what I can see, EG4 supports both and there's no real difference in the data that is sent over.
I find it VERY interesting that a single battery reports accurate size into the mobile app screen (your screenshot) while mine STILL shows 100ah.
I got the programming side sorted once I was using the FTDI interface, the problem was likely a very cheap adapter that they had sent along.(no clue if it was even wired correctly b/c I could NOT get windows to accept the driver any way I tried)

Once I had actual communication with the RS485 adapter, then the "upper" software would communicate with the battery just fine.

Right now I have both packs configured the same and they "seem" to be behaving overall, but I have rarely managed to get them to charge to self-cut-off, but I've been out of town for the last month and they were plugging along decently well. Then I got back and saw that EG4 had issued a firmware update for the Flexboss, applied that.... And it's been haywire since. Not using the batteries at all, then not using the solar, charging the batteries from the solar (good) but not at full power it would seem (not great but maybe clouds).... I just *love* all of a sudden seeing 100kwh/day grid importing, ya know? YIKES.

I THINK what happened was that with the firmware update, it LOOKED like my settings were all retained, but actually were not. I even tried the default setting button and it still seemed like everything had remembered my settings instead - but there was no charging from the grid on quick charge and it had pulled the batteries both down to 2.8v/cell or 44.8v... Happy that it decided to stop there, so at least the BMS is still working, but oddly enough at some point the packs decided to turn themselves OFF. So manually reset them, and then went through and just hit "set" on every setting I could find in the Flexboss, and FINALLY it is charging manually now - because I have it set on VOLTS for logic, and not SOC. But at least it is working again.

We will have to compare overall settings pages, I'm curious to see what your settings look like - my goal is still ZERO export as mentioned above, so I have "off grid mode" enabled and that does seem to preference my batteries or solar until both are unavailable, then it swaps to the grid without issue. That's how I want it to behave. I'd LIKE to see more data / communication into the FB21 from the packs, so maybe my cabling can be changed up, it's certainly easy enough to swap communication settings around. I'll have to look and see what I have the addresses set at on the batteries, I know one battery IS using the CAN port to the FB21 and that should be ID#0 (all dip down) but as I remember it I have the RS485B on that battery connected to RS485A on the other battery, set as ID#1.

I can see in the mobile app where it says 2 batteries in parallel, but the total capacity is reported wrong. Did you set that manually in the Upper software on your pack? Mine showed 280000 for that, I changed it to 314000.... But not sure if it stuck or not.
One last question: Where is that "Dashboard-Battery" screenshot from, which app / application / page? I don't have anything like that.
 
Ok.... Based on your adjustment of the communication type, I tried that.

Now it switched (in the mobile app only, I don't know where / if this would be in the main webpage) from 100ah capacity.... To 20048ah! Well THAT isn't right!

Looks like it might be getting some spurious info from somewhere. I'll boot up the windows machine tomorrow and poke at it for a bit.
 
I tried Pylon, everything I found Videos/Posts said use this but this never worked for me. It did basically what it did for you under pylon I would get wrong info aH, number of batts, everything.

I noticed the LUXPower logo on the Flexboss21 so I decided to try that and it worked. (The cables that came with the battery where garbage, One of mine was allways dead and the other one stop working after 3 uses )

I was watching a diy solar video on another random diy Chinese battery ( I forget the brand ) where he was hooking it up to a Flexboss and he talked about using CAN for master battery to Inverter and the RS485's for slaves to commutate with each other and having the DIP switches set correctly.

As far as programing the battery with the first DIP up I did this because of a video I saw ( I used the RS485a port to program tho because I saw a post here saying firmware upgrades on any other port would brick it ) , I also copied the setting from this video except capacity and Shorts_Delay his was 300uS mine was 500uS default (This is pretty aggressive IMO and I was getting false short alarms when solar charging kicked in ) Set mine to 800uS but I'd leave yours unless you have false alarms.

The Dashboard-Battery thing is from Solar Assistant, saw it in some videos and noticed people using it on different hardware ( It wasn't a brands proprietary software ) so I did some research. solar-assistant.io It's a program that runs on a raspberrypi shows alot more info and data sets. If you have a pi you can download the img and install the trail, it's a month I think after that it cost $59 for the software license.
Screenshot 2025-07-12 030650.pngScreenshot 2025-07-12 030447.pngScreenshot 2025-07-12 030935.png
 
Last edited:
Missed the question about setting capacity, I set that manually only here, after setting here it changed everywhere else.
20250712_034731.jpg
I set the Full and Nominal numbers ...I have EVE MB31 cells and the spec sheet says 314aH nominal and 354.8aH as the upperlimit but most real testing on the cells there full capacity is around the 330's so i set that as my full.
 
Now it switched (in the mobile app only, I don't know where / if this would be in the main webpage) from 100ah capacity.... To 20048ah! Well THAT isn't right!
Configuration at the top > Devices to the left side
Screenshot 2025-07-12 174959.png
 
Ok, got my other laptop (old macbook with VMware on it) booted up and looked at the battery configurations. I changed the max size to 350000 like you, and the nominal to 315. I can see where that has saved in the two packs....

And still no change on the inverter. But - a new discovery, I DID figure out that when the battery goes into charge from the grid, the separate inverter in my RV (Victron) gets VERY unhappy about something and disconnects itself. It SHOULD be in full pass-through, but it doesn't like SOMETHING about this. At least now I know what triggers it and I can hopefully resolve THAT problem next.
 
Ok, got my other laptop (old macbook with VMware on it) booted up and looked at the battery configurations. I changed the max size to 350000 like you, and the nominal to 315
Do you have EVE 314ah cells in your Basen Green?
They have multiple kits, 4 different cells sizes and 2 different brands when I got my kit from what I remember. I could have chosen REPT or EVE brand cells in sizes of 280ah/300ah/304ah/314ah , or you could source your own cells.

I'd find out what cells you have get the spec sheet for the cells and use the spec sheets stats for your capacity settings and your charge and discharge limits at the least.

If you have EVE 314ah MB31 cells tho just ignore this message.
 
Do you have EVE 314ah cells in your Basen Green?
They have multiple kits, 4 different cells sizes and 2 different brands when I got my kit from what I remember. I could have chosen REPT or EVE brand cells in sizes of 280ah/300ah/304ah/314ah , or you could source your own cells.

I'd find out what cells you have get the spec sheet for the cells and use the spec sheets stats for your capacity settings and your charge and discharge limits at the least.

If you have EVE 314ah MB31 cells tho just ignore this message.

I have the EVE 314 cells, bought them (and the boxen) just before the first round of tariff freakout happened. Now the same boxes are on sale, and I could have gotten them for about $250 cheaper each.

I've heard / seen some discussions here about swapping these Tianpower BMS units out for a JK BMS that might communicate better and have better software but I don't know if there are any issues with connecting that to the box / screen / front panel. Not sure I want to try that. I haven't found another vendor that is cheaper per kWh though!
 
I have that document too. Clear as mud on the actual wiring - since they didn't label the ports in English there, it is hard to know if they are truly in parallel.
 
@geordi
Ok I finally got my last few cells for my second battery, top balanced it and got it all put together.
So it took a bit of trail and error but ultimately I only had to do to the following to get them all talking correctly.

Ethernet from Master (RS485C) to Slave (RS485B)
And Dip Switches, Master (All Down) and Slave (First Switch Up)
20250825_135534.jpg

Screenshot 2025-08-25 132839.pngScreenshot 2025-08-25 132801.pngScreenshot 2025-08-25 134609.png
 
Which communication protocol are you using? I haven't seen any difference between Pylon and anybody else, so I left the batteries talking Pylon.

But my inverter also seems to suffer the "battery open" bug and I'm waiting on a replacement RMA now, so maybe that was also part of it. I'll try this setup though, thanks!
 
Which communication protocol are you using? I haven't seen any difference between Pylon and anybody else, so I left the batteries talking Pylon.

But my inverter also seems to suffer the "battery open" bug and I'm waiting on a replacement RMA now, so maybe that was also part of it. I'll try this setup though, thanks!

I use LuxPower on CAN for Flexboss21 to Master and default Pylon on RS485
 
Yeah I been busy and not checking the forum much so I missed this whole "battery open" bug thing.
It has me really worried now because I do get these errors but only when I switch off the battery or unplug the Ethernet or something.
Screenshot 2025-08-26 123331.png
 
I do hope you don't run into it but looking at your log image that you posted I am concerned for you.

If that bug shows up, it will be at times other than when you are at a low SOC. I missed it because the first couple of times that I got the low-voltage and then battery open errors I actually was at a low state of charge but it may have been the inverter falling over rather than losing communication with the battery manager as the manager threw a low-voltage error and rebooted. This error is separate from any that might be sent by your BMS.

The problem was followed by unexplained reboot of the entire power system which would cause blackouts in the house for up to 10 seconds and that was annoying but I didn't recognize it for what it was at the time. The system was losing communication entirely with the battery including losing the voltage signal and that is the problem on the low-voltage board in the inverter.

You may want to message zapper and ask his opinion because he said this was a result of a defect from some of the inverters that came from a certain supplier manufacturer and obviously I have no idea of the specifics of that but he might, based on serial number.
 

diy solar

diy solar
Back
Top