Bluetooth battery monitor

You cant do that with an arduino, the I/O pins measure from common ground.

Ohhhhh yes you are right :frowning:

It runs of a buck dc-dc, can be a 5v ubec (its pretty much the same) at the moment is 8s max, but with a analog mux it can be increased to 12s+. At the moment im using a bluetooth serial app, which you can find for android/iphone, and it will show you the cell voltages in numerical format. Im planing on writing an app that has a nice ui to display all the data.

Another thing im considering for reading more cells would be this:

which free’s up the digital i/o pins for other uses as it connects to SPI

Yes this was my concern ! I knew i would run into problems after the first cell … but i wanted to see if i could actually do one cell first :slight_smile: haha. Im only running 8s anyway so this would suffice ! @chinzw Ive got the actual cell voltage displayed on my bluetooth app too. The buttons in the app are configurable both in their labelling and their command sent to arduino so for an already made package, its pretty good. Ill get a screenshot in a bit and show you what ive currently got, and also get the name of the app. Which app are you using?

cool, you can use an arduino nano and analog mux 16ch. so you can have 12 voltage dividers no problems :wink:

a bit more code but still cheaper than a teensy.

Im using that exact same app. But im gonna do a cross platform app so that i can also do the monitoring on my win, mac or linux boxes. This morning i connected the charger reversed (its a really bad 2 pin waterproof connector which is going in the trash) so i had to monitor the cells to make sure the BMS wasn’t fried, it would have been great to have this all done lol!

I guess you want that to monitor charging levels etc while at home? BT and a visual on the board would be fine for me. The rest of the cells will be something i need to work on in the future. I have a few other bits to add to the circuit as long as i have pins left :-/ Going to be diving into some more complicated things on arduino soon once ive got to grips with this part. Myself and @EssEnn have been discussing various possibilities via pm. Maybe its time for a dedicated arduino thread …

I’ve also been thinking how i can hack my BMS to read if its bleading, charging, etc. Need to do some more research on BMS which i lack some knowledge.

Once you have your inputs all working then im sure most things are possible in the code … you can play about with rates of increase/decrease as you please. Im thinking of running my arduino off x2 18650s but not sure if this is the best idea or not

Just run it from the main battery, no need to add more batteries you need to take out and charge. Plus 2x18650 = 8.4v, too high for arduino so you will need a buck converter anyways. Ill be wiring 2 circuits to power the arduino, one powers when the VESC is on and the other one powers with its own switch, that way i can monitor cells when charging and when riding.

Got my delivery from digikey! 1% resistors ftw :slight_smile: All the code is done for the battery monitoring, supports as many cells and LEDs as you can plug in and is 100% scalable. Min and Max voltages can be set also to set the range of the LEDs.

Here im using 3S since i dont really have a bigger protoboard lol, ill have to buy another small one and stack them.

Im sure i saw my nano can handle 7-12v input … Good job on the readings, im still waiting on my divider circuits to be delivered so i can sort cells 2-4 out, damn postal service :frowning:

I was powering ditectly to the 5v raíl for accuracy test. Now im using 8v on vin

First prototype! Need to add another JST for the VESC.

I will soon do the schematic/PCB when I have some spare time.

VESC UART port added, just need to go get some micro jst connectors tomorrow morning to hook everything up :slight_smile:

1 Like

All hooked up! Couldnt get the micro JST, its Sunday doh!

Very neat work ! Nice :slight_smile:

1 Like

All done! (Well, still no micro jst, but all wired up, case done, tested and calibrated the arduino readings.