FlexiBMS Lite - Flexible Configuration BMS w/ CAN-bus

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.

What’s new with hw v1?

Small improvements from the earlier 0.5-1 version, no changes to features. It’s more that I feel like the HW design is ready for official release, so I’m moving it’s HW revision number to 1.0 with the latest changes.

1 Like

ah ok, where do you release, what do you release, and what are you goals for the project at this point?

Also talking about someone having a bad day. Not gonna mention the user, but they know who I’m talking about :wink:

I have been in contact with a user that had problems with their new pack releasing the smoke from their BMS upon connecting the cell balance/sense connector. I asked about the steps in which they connected the battery terminal and balance connector and they did it in the correct order, first terminal connector and then balance connector → smoke. “Ok, can you measure the voltages on the battery pack terminals and balance/sense connector?”

“Sure.”

Couldn’t see anything wrong with the voltages, as they all increased in a linear order, indicating that there wasn’t a crossed/mixed balance wire in the loom, which I would have suspected first. Ok, maybe it was a bad unit, they can send the first one for free repairs… They luckily had another unit, so I said go ahead and connect that one and it also let out the smoke when the balance connector was connected again… What?.. This is not making sense, these units have been tested before shipping out, but we couldn’t find anything wrong with the voltage at the terminal or at the balance connector…

I mean I guess it’s possible that the two units were somehow faulty… I just can’t figure out how, at all. I’m completely flummoxed at this point. Luckily they had a friend they could get a loaner FlexiBMS from to try with. Ok, that should be a tested proven to work unit, likely.

Poof it went again upon the connection of the balance connector… So, they had said that they had built an earlier pack with a FlexiBMS in use, so I believed that they knew how to wire the pack and BMS correctly, but now all three units had blown on this new pack they were building. At this point, I was pretty convinced that it must be something to do with the new pack, but all the voltages looked alright… “Can you measure all the voltages against ground/B- from the battery pack and write them down?”

Next reply (paraphrasing):
“Oh S***, I realized that I had wired the balance connector the wrong way around”

Well that explains the smoke. So to clarify, they had accidentally populated the balance connector that instead of the bottom-of-stack cells being at the USB-connector end and “rising up” towards the other end, they were at the pack terminal end and the top-of-stack cells were connected to the USB-connector end. Funny thing was that they had wired their own first pack that was in their board and in use correctly, but made this mistake for the new pack.

Anyway, I currently have the 3 units on-hand and I’m repairing them and re-testing them before sending them pack. Unfortunately, as it was user error and the LTC6803 and the MCU seem to have popped from the units, which are the most expensive components. I’ll take the cost of the components, a little bit for the work (troubleshooting, reflow, repeating and retesting) and shipping them back to the user.

Check your wiring:

8 Likes