FlexiBMS Lite - Flexible Configuration BMS w/ CAN-bus

By default, the parameter $12, which controls the allowed difference between the cells, is set to 10, meaning cell voltages must be within 10mV from the lowest voltage cell to be considered “within” balance, if it’s above that range, then the cell will be balanced/bled towards the bottom voltage cell, until it is within that voltage range from it. 10mV is a pretty good tolerance that isn’t too loose or tight.

Just to also let everybody else hear about the solution to this problem that we figured out through email.

Yes, some leads from the balance connectors only made contact on the underside, not the top where the LTC6803 sits. SO I went ahead and resoldered those joints, and voila, now it works. :’D

So it looks like this was caused by bad/cold solder joints on the balance connector, which I’m guessing were causing some intermittency in the connection.

Even if I complete the design at this point in time, I can’t get any microcontrollers. Even for the prototype, so as a hobbyist and builder myself, if there is a BMS out there that you can buy, go with that and get your build underway.

Height would be the same as the on the Lite 12S, I haven’t quite decided whether to go with the same micro-USB setup as on the 12S, or do some testing on the layout to figure out if it’s possible to even fit a USB-C to it. Height wise 20mm should be plenty.

as @Darkie02 said 20AWG is way overkill for the balance/sense wiring, I believe my current pack uses 28AWG normal ribbon cable for the balance/sense loom. 16AWG also for the charging is a bit beefy, but if that’s what you have on hand, it’s okay.

3 Likes

ok thanks! I think i can squeeze 20awg in. got those cables already.

@SimosMCmuffin
if i want to charge a 12s pack with 6A they default configuration should work, right? do i need to plug the usb in at all? or could i wire it up straight as is and charge?

Sounds like Future Motion built that battery

2 Likes

i know! happened while trying to figure out the cabeling as all pack connecting cables were red. will have to swap it.

hallelujah!

4 Likes

It is set up for 12S pack by default, so you should very likely be able to start using out-of-box. You can then later fine tune the settings.

I assume that’s a sold green, indicating charging. Once charging is done, it will do a double green blink to indicate that.

2 Likes

thanks!

1 Like

it went to orange, (balancing) and the stopped and went off. no blinking but i assume that’s alright.

General update.

I will be starting a batch of 50 BMS’ next week. Thanks to @TarzanHBK for tipping me about 50 pcs. of L433CC6s on Mouser’s german site, which I immediately ordered within couple minutes of him tipping me about it couple weeks ago. The CC6 is the variant with bigger flash memory at 256KB, where the original CB6 is a 128Kb. I have done a swap test on my personal unit and it works directly as a drop-in replacement.

Bad news for individuals interested in buying a unit though, all 50 units are already reserved. The STM32 are currently out worldwide, I have everything else in-stock component wise, so my future batch schedule is currently tied to that.

Talking about starting your own company to make your own products and then not being able to due to not being able to buy the components needed to make those products. I’m gonna pivot for the next couple of months. I’m gonna focus on making my 2000+km esk8 adventure into the arctic circle this year. And I’ll be making updates about it on this thread:


Other project news.

I got my USB-PD negotiator working with my own code. I started with the STUSB4500 sink negotiator -IC from STM, by default it requested the highest available power profile from the source device, which in this case with the Lenovo 65W USB-PD charger, was the 20V 3.25A profile. I probed the CC-signal lines to get a closer look on the actual line activity to see what the voltages were and how the protocol worked. I then spent quite a lot of time analyzing the communication by probing and then decoding the actual frames bit by bit by hand and then referenced what I was looking at to the USB-PD specification from the USB-foundation to form a better understanding what was being sent and received and what the overall communication flow was.

I then started to familiarize myself with the UCPD-peripheral available on the STM32G-MCU series, which is meant for the USB-PD communication on the CC-lines. There was a lot of trial, error, analysis and correction until I figured out how to configure all the registers and how the interrupts worked and how to get the hardware to do what I wanted it to do.

So as I now knew how the communication flow worked with the STUSB4500, it was then time to start replicating the same flow on the STM32G0-MCU, but after enough time and effort, I was able to successfully replicate the original communication and was able to get the highest power profile selected and applied from the charger. I now have a very good understanding of the very low level hardware implementation down to the physical-layer logic level communication.

I’m gonna start to design a USB-PD charger for portable projects. At the moment I’m looking at a small BMS IC, that would support 3S-6S configurations. I’m also currently looking for bi-directional buck-boost SMPS, so that the power pack could behave either as a sink (i.e. bluetooth speaker) or a source (i.e. powerbank), but I need to look a bit more into how the dual power-role is handled on the PD protocol side and what the exact flow is in the role change process, but I think this would be a pretty good & cool project to make into a product.

7 Likes

There shouldn’t be an orange color on the LED, did you mean yellow, which indicates balancing.

Now I can’t be 100% sure what FW the unit is running, but depending on if it’s running 0.17 or 0.18 (currently latest) there is a difference in the status LED indication at the end of charging.
I believe in the 0.17 when the charging finishes and the charger is still connected, the LED will just turn off, but balancing is still allowed to happen, which is indicated by the yellow color.
In the 0.18 there is now a dedicated end-of-charge LED color sequence of a double green blink to indicate that charging has finished.

3 Likes

Hello
Interested in this is it just possible just to monitor and balance charge only?

Yes, the FlexiBMS Lite is a charge-only BMS, meaning that it doesn’t have discharge side protection built-in, aka it can’t protect the battery if the load overdischarges it.

It handles the charger side protection, meaning that if there is something wrong or the battery is full, it can disconnect the charger to prevent it from overcharging the battery and can monitor and balance the cell voltages.

Can you turn off balancing?

yes

$11 cellBalVolt - if you set it high enough the BMS never starts balancing

2 Likes

HW 1.0 PCBs just arrived.

Not quite sure the PCB fab had accurate enough silkscreen printers for the fine detail logo though :smiley:
image

7 Likes

Black PCBs work much better :wink:
Where is this being sold from ?

Nowhere atm, its sold out because critical components are currently unavailable.

Ok no processors, how much are the bms’s?

Doesn’t matter, they aren’t in stock anywhere, worldwide.