Bluetooth battery monitor

Hey guys, so I wanted to keep my build as clean and stealth as possible, so im building an around based BT monitor. Prototype already working, now I just need a nice guide for mobile.

I will be posting schematics and everything else if anyone is interested.

1 Like

Cool what is it exactly? Ideally I’d like my 12 cells shown on my phone .

Teensy! <3

A wild guess is it’s just a bunch of voltage dividers and then Analog input for each cell from the balance connector on the pack. And a bluetooth module,

I can only see one voltage divider tho, not quite sure how that works, since i can see the battery level of the indivudal cells on your screenshot

Sounds great does it run off a bec? Iphone?

The teensy can run of 5V which a bec supllies, or 3.3 V.

So it runs off the ubec, and connects with the phone

Injteresting idea. I wonder if you could bundle the data up with the vesc data. My app does battery monitoring of the overall battery, but not individual cells.

Monitoring the individual cells isnt really neccesary anyways. :slight_smile: ireally like the idea though.

How are you going to comprimise it?

If so that would be ideal. maybe u two could make it hapoen! Maybe a simple alarm when a cell hits a low voltage

It shouldnt be too hard, the circuit is very simple, Bluetooth modules are cheap. The microprocessor could be replaced by one of the tiny arduino chips something like that.

I get all my data straight from the vesc through the uart port. This includes battery overall voltage.

Ah, and how do you transmit it to your phone?

I use the adafruit BT 4 LE UART friend chip. Pretty simple to use actually. Thanks to the rollingGheko, the bluetooth code was already written, so for me, it’s just programming what to do with the data once the iphone has it.

1 Like

Snap ! :slight_smile:

Alright what do we got here. Arduino, Bluetooth, a display, some leds and a potentiometer… Hmm what does it do? xD

Again battery monitor with both display, bluetooth and leds to display the voltage? O.o

Haha eagle eyes :slight_smile: its still in its ‘proving the idea phase’ … if @chinzw doesnt mind me jumping in with him on this thread i dont mind explaining a little more. Its along the same lines

@smudgeUK not mind at all!

Im using voltage dividers on the analog inputs, which is pretty simple given the nature of 4.2,8.4… so the dividers are like 10k/20k, 10k/30k… etc. With a nano im limited to 8 analog pins, this can be increased by using an CD74HC4067 analog muxer.

EDIT: i will add some LED outputs to display the state of charge of the whole battery too.

Ok thanks ! maybe we can bounce ideas and get some inspiration/help from each others projects :slight_smile: Firstly, im learning arduino as i go, this is really my first proper project with it besides messing with some basic code and circuits a few months ago. Im getting there i think. Ive got decent electrical knowledge but my electronics/coding certainly lacks.

Mine is in the early (testing) stages. Im looking at monitoring individual cell voltages and system component temperatures … via bluetooth (on request), on the lcd screen and via leds. I have 3 leds marked ‘batt , esc , motors’ and an ok led and a fault led. Through the loop the cell voltages will be displayed on the screen, then the temperatures of the components. If my set parameters are reached for voltages or temps, at the end of the loop the fault led flashes along with the corresponding led for the component (+batt led for low voltage or high temp, or maybe the fault led along with motor led if the motor reaches a certain temp). There is also an error message on the display saying where the problem is. My future idea was to have the 5110 as a HUD running wirelessly with a nano + bluetooth (multiple bluetooth modules together - im not sure if its possible). Obviously this would be much safer/easier than looking down at the board when riding or even having to stop.

A few points up to now:

-My picture only shows one pot being used to prove the reading works via bluetooth to my phone. It works great, but now i need to work on cells 2+ due to, as you say, needing voltage dividers. The app im using allows the buttons on screen to be named and also the command they send to be changed. This means i can add up the individual voltages in the arduino and output it, when requested, by clicking a button in the app. This would then tell me the total pack voltage on my phone.

-I have a ds18b20 probe connected to a seperate arduino that im working on as im struggling with correct resolution for the probe reading. Possibly a library mis match im not sure … Other things im sure but ive just got up (working nights) and havent had 5 cups of coffee yet :slight_smile:

You dont even need voltage dividers if you’re going to measure all of the cells, you just need a lot of Analogin Input pins

well, you do, unless you want to fry your I/O ports, gnd to cell 1 is 4.2, but gnd to cell 2 is 8.4, boom bye bye port.

@smudgeUK check the marlin repo, we use temp sensors for the hotends and heated bed. Not all sensors have the same resistance or curve, so you need to work that in.

If you measure between the cells like this

You can get the voltage of the cells indivudally

+1 for paint skills

2 Likes