Alternative balancing ideas and charging from solar

All I am saying is that you have failed to read, and thus failed to comprehend, and have demonstrated that again by trotting out how many years of experience you have. The number of years of experience you have changes the facts of this topic about as much as my cat’s age.

I am totally interested in having someone correct my thinking. If you aren’t going to spend a minute to understand what I write, why bother posting? What is the point of finding sentences that taken out of context disagree with some other sentence taken out of context from some article? Did you need some sort of opening to tell the forum how many years you’ve been a Electronics Tech?

I created a 4x module board.

  • It has a jumper block at each board edge that you jump to connect the daisy chain. No fiddly wires.
  • In theory I trimmed the edges so that you can actually sit 2 of these side by side and solder in the jumper block to extend this to any number of these modules without any RX/TX wires, just the jumpers.
  • I tried to line up the RX/TX/PWR connectors physically, so if one of the 4x dies, you can piggy back a stock singleton and remove the jumpers.
  • It uses an RJ45 for the connector to the 4x batteries. I think the ampacity of a 24gauge ethernet cable should be 3A per pair, but maybe I don’t know how to read ampacity charts. I’m not sure I would want more than 1 or 2 modules doing bypass at the same time, but that’s something I plan on improving with the custom controller software I’ve been making (see above regarding “better balancing”.

This does seem like I am going backwards with respect to JLCPCB ordering, for example, I only need 2x of these board, but whatever. I am trying to reduce the headaches of wiring and mounting.

It might be useful to run the length and voltage through this POE calculator to see what losses you might see through a cat5 cable.

As you have pointed out, unless you have a silly ratio of modules to cell size, the modules cannot bleed enough power to prevent the cell from being overcharged.

Scroll up and find my posting about “better balance algorithm”. But I am repeating it here because I did not receive anything that discouraged this plan, and received no encouragement.

If you set the relays to shut off charging when an individual cell reaches the max, then your cells are being protected, but they aren’t being balanced. If you set the relays to shut of charging when the whole pack reaches that max times the number of cells, then you are abusing the top cells but you can do some balancing. If you stop charging when any one cell reaches the max, the only benefit to balancing is additional pack capacity.

The more time a cell is at max, the more abuse it is taking. I have no feel for the volts, the time, and the degradation, but the algorithm that is currently used where a cell is bypassed when it reaches max V, is going to single out a cell for abuse. That cell will lose capacity every time it hits max, and will more likely be the top cell next time. The modules have no ability to bring that top cell below the others so it will not be the next abused cell.

If you monitor the amps going in/out, you can have a state of charge measure and you can stop charging at say 90% and thus stop before any cell approaches max. The only downside to this is the accumulated error of amp counting. To solve that, have the cells run up to max every so many days or weeks or whatever. In this design, the controller will read the voltages of the modules before it shuts off charging, then instruct a module(s) to bleed power if they are out of balance. This enables the controller to bring that cell below the others so it is not the victim the next time the cells are run up to max.

I will be implementing this algorithm in the next days or weeks.

I don’t see why. When measuring the voltage, the amps will be nil, thus the voltage drop should be insignificant. During bypass, I don’t see why we care that a long cable is adding resistance. The module will not measure the V (or rather should not measure) while it is bypassing.

The ampacity tables tell us the max amps to run through a cable to ensure the cable does not melt, and that is length independent.

Because resistance of a long cable will introduce voltage drop, which in turn makes the voltage reading incorrect.

During bypass the resistance in the cable will also generate heat.

1 Like

Don’t forget you will want to stop charging when a cell hits a certain voltage to prevent over charging or worse.

Just to demonstrate, don’t forget that all ethernet cables are not created equal. I’ve done two examples one with copper cable, the other with cheaper aluminium cable both with 24AWG. With a cell at 4V, and a current of 0.85A. So as soon as you turn on the balancing resistor you’ll get a voltage drop due to resistance of the cable.

1 Like

@stuart and @GadgetUK, what am I missing?
When measuring the voltage, the amps will be nil, thus the voltage drop should be insignificant. During bypass, I don’t see why we care that a long cable is adding resistance. The module will not measure the V (or rather should not measure) while it is bypassing.

The ampacity tables tell us the max amps to run through a cable to ensure the cable does not melt, and that is length independent.

I do not understand why my writing is so poor or nobody seems to be able to read it.

I am certainly doing that. That is the whole point of my thinking. I do not care about pack voltage. That is a recipe to single out a cell for abuse. I am shutting of charging based on cell voltage and better yet, pack SOC e.g. 90% before any votage gets near the knee.

It was a really long post, the detail got lost!

I would avoid using S.O.C for anything meaningful, its wildly inaccurate, energy counting is never an exact science.

1 Like

@John_Taves No need to shout. There seem to be very few reports of battery damage in the forum. Which suggest that you have implemented the use of diyBMS incorrectly.
You certainly seem to be of the opinion that you are always right, and those offering advice are either wrong or don’t understand what you are trying to do / say.


IF SO @John_Taves , don’t copy @stuart’s DIYBMS - create You own design , build, test , share results and let us evaluate Your solution.

1 Like

I did…

I am shutting of charging based on cell voltage and better yet, pack SOC e.g. 90%**

If you think you have a great way forward, experiment, try it, learn from it and then let us all know how we can benefit from the idea, as part of the open source community.

Using SHOUTING on a forum is just poor form.

The key thing is experimentation (safely!), I’ve lost count of the number of failed attempts I’ve had at certain projects, but each one moves you forward with a new skill or a lesson learnt.


There is no point to attempting to contribute to this project, if others are determined to take my sentences out of context and wreck the meaning. I am just not skilled at writing to put several complex engineering concepts into short sentences that can be isolated from the others. Plus, I have no desire to discuss bold and CAPs on an engineering forum.

If anyone reading this forum wants to understand the concepts I wrote about above (search this thread for “better balance algorithm”, you’ll find the description 2x times) feel free to PM me. I am eager for feedback to understand if I am on the right track, and I am eager to explain the thinking if it is not clear.

I apologize for wasting the other forum member’s time.

@John_Taves with the greatest of respect, from what I’ve read on this thread, and others. You’re trying to take diyBMS from being a relatively simple monitoring and management tool, and turn it into a full fledged BMS with active balancing , and a charge controller.

People have repeatedly point you to information to help you to do this, yet you then openly criticise both current design of diyBMS as hand soldering of SMT components is required, and it’s apparently trashed your battery.

Perhaps if you provided details of your current setup, what you’ve done already, and exactly what you’re trying to do as a ‘whole picture’ then you may get some useful input.

If you’re not willing to accept advice and guidance, then “I’m out”.


This is incorrect.

The purpose of the relays and rules are to control chargers.

DIYBMS did not trash my battery.

I am totally willing to accept advice and guidance.

Can you please learn to quote correctly

You previously stated

Which isn’t a charger, it’s not quite as simple as just letting the solar panels dump power into the battery. These cells have specific requirements.
Post details of your system (a nice schematic of all the parts in play), and perhaps we can provide some useful advice.

1 Like

My system is dirt simple. I have the controller controlling the relay that is between the 72 cell panels and the pack of 8 LiFePo4 cells. Ideally, I would have 60 cell panels, but oops, some solar is going wasted. I also have an inverter and a DC/DC converter and both of which are in series with a controller relay. The controller shuts load or chargers off when any one cell gets to the knee of the voltage curve (set via the UI).

Keep in mind I have not asked for help with my setup. I was suggesting a better way to balance, and wanted feedback on that. But, I am curious as to what is not quite as simple as letting the solar panels dump power into the battery.

Most LiFePo4 setups I’ve seen have a charge controller, there’s a pretty good explanation of the two types, pwm, or mppt here

I’m not saying you have to have a charge controller, but it does seem to be the norm.

You’re proposed “better balance algorithm” is predicated by the ability to monitor the current flow into the cell. This currently isn’t possible with diyBMS as it stands, so additional components are required.

The reason that a cell gets to Vmax sooner than others is down to it’s internal chemistry and makeup which dictate the internal resistance. So it’s going to be the same cell to get to Vmax the next time round. I agree that shutting down charging based on cells AS WELL as SOC is a good thing to do. As for the details of the algorithm you need to take into account the charge and discharge characteristics of the battery chemistry being used.

The more components you add into the system, the more things you have to account for, voltage loss in a cable for example.

Welcome to the world of R&D, others will help out, but you have to be willing to provide information when asked, assumptions will be made about your setup when you ask questions, which may in turn lead to the answers being given appearing confusing.

Don’t forget that the majority contributing to the forum do so on their own free time, if anyone could make millions doing this, they wouldn’t be here.

1 Like