FlexiBMS - 0.2 HW under work - Flexible configuration and charging BMS

This just made me realize

Instead of labeling the PCB “B-” and “P-” if you mark it “batt+” and “load-” and “charge-” on the actual PCB itself if you have room, it will make things a lot easier for a lot of folks and there will be far less questions and mistakes

1 Like

Changing the connector is not possible, because it simply does not fit onto the board without making the the board bigger. Let’s go with the simpler unshrouded connector in the first iteration and see how it works, before doing board redesign. If we find problems with, then we’ll see what the options are and go after improvements, but if it turns out to work ok, then we don’t need to make the board any bigger than necessary.

This project is great, just what the DIY community needs, a decent BMS. Thank you @SimosMCmuffin! There is one more feature I think it would be nice to have and that is smart discharge after X days. For example, if not using the board for 7 days, start the discharge to storage voltages :wink:

1 Like

Already planned.

1 Like

Thanks I looked and searched the thread but didn’t see it. Nice!

Is there any other connector type that could allow to keep the tiny size and mistake-proof feature ?

What about having 2 different connectors : 1 for power and one for signal which could use smaller pin pitch and smaller footprint like a JST-ZH for instance ?

Just throwing some ideas

1 Like

Going with KISS, I think it’s better to keep the variety of used connectors to a minimum, just for inventory reason. Currently the balance connector is JST-XH, the external switch and LED is JST-XH and the bluetooth module connector is JST-XH. These are also connectors that are quite easy to crimp yourself.

The pin header with the IDC ribbon cable is also an easy, neat, all-in-one package. At least for now. Will have to see how it works.

I can’t really find anything else wrong with the project at this moment so here’s the packaged KiCad project.

google drive link removed, project files available @ https://github.com/SimosMCmuffin/FlexiBMS_hardware

All components should have a manufacturer’s part number associated with them, which can used to lookup specific components. Before sending the board to fab, silkscreen needs to be optimized.

EDIT: If you get missing library warning when opening the schematic, they should be non-critical.

  1. KiCad can be downloaded from http://kicad-pcb.org/download/
  2. Install everything as default options, no need to install Wings3D at the end of the installer.
  3. Download the KiCad project files and extract the .Zip to a folder
  4. Open KiCad and open project (CTRL+O) and navigate to the folder where you extracted the files.
  5. A file ending in “.pro” should be in the folder. Open that and you have the project open
4 Likes

I’ll do it ASAP ! Thanks a lot for sharing ! Could you commit file into Github ? It’s way easier to download/manage vesion files and contribution (like adressing issues or propose improvement) :slight_smile:

1 Like

I’ll try to set it up today.

1 Like

Github Repo is up and running!

2 Likes

Silkscreen has been sorted out. I’m aiming to get the board sent to manufacturing today. I’ll sort out the gerber files and commit the files soon.

I assume that anyone doesn’t have anything critical to note from the github files?

1 Like

Dumb question : Are the led not too bright ? I had this issue with Battman. I couldn’t look at it, it made my eyes burn each time. :smile:

1 Like

They should be “non-eye-damaging”. Are you talking about the balance circuit Leds or the status Leds?

I didn’t have the chance to see balance leds lighting :smile: But status leds are really bright. And because they are close to each other you can’t really see which one i on or not…

Same for RGB embedded. I don’t really understand why not to externalize RGB light because once the BMS is enclosed, you don’t see any leds anymore.

I found a cool button with RGB ring led on Adafruit and planned to desolder the embedded RGB led to power it instead.

I’m using very general LEDs as two status leds on the PCB itself, so they shouldn’t be anything special brightness wise.

I’m planning on shipping these buttons with the board. I ordered couple of each to just see and test them and for the price they are pretty decent.

https://www.ebay.co.uk/itm/Waterproof-Silver-12mm-LED-Momentary-Push-Button-latching-Switch-1NO-4Pin-Cool/192049157592?ssPageName=STRK%3AMEBIDX%3AIT&var=491866747727&_trksid=p2057872.m2749.l2649

or https://www.ebay.co.uk/itm/12-19mm-36V-LED-Power-Symbol-Metal-Momentary-Push-Button-Switch-For-Car-Boat/263292767049?ssPageName=STRK%3AMEBIDX%3AIT&var=562302410182&_trksid=p2057872.m2749.l2649

Oh ok. I thought it could be a nice feature to have a RGB led to indicat whether the board is on/charging/faulty (ie, green, blue, red flashing). Next iteration maybe ? :grin:

I was going to indicate the state of the board with the single colored Led via different kind of flashing styles and rhythms.

RGB would be easier to distinct between states, because colors, but buttons with built-n RGB are not the cheapest… and you need more output pins on the MCU and on the connector.

I’ve been looking at the raphael chang bms software since i also have one of the boards. I’ve been considering doing a rewrite in rust for fun. The lack of debugger connections has stopped me for now. I’d also be interested in helping out with software compatible for both bmses.

I’ve taken a quick look at your schematic and really appreciate the debugging connections :slight_smile:

@Pimousse what’s the current state of your firmware. Is it still the version on Github? I’m currently trying to get the serial connection working on linux

Well, I worked a lot on it, but I didn’t try yet. Since @SimosMCmuffin told us that the HW design of the Battman was limited (even dangerous), I stopped investing time on this project.

Just pushed my current working folder : https://github.com/Peemouse/battman-firmware/tree/dev