Repurposed DAVEGAX as a dedicated Cell Voltage monitor

Big fan of the DAVEGAX. Best thing since meat-in-a-can. @janpom had a rash of bad WIFI boards a while back that he was incredibly quick to fix. I came across this on github: and I had recently bought a Smart BMS (LLT, Xiaoxiang with BLE adapter). I thought I might repurpose that bad board into a battery checker. Here’s how I did. Had to cut/reroute two traces to deconflict the Bluetooth adapter but it was otherwise a fairly straight forward gig. Doesn’t have to be a DEVEGAX either. Parts list and a basic how-to available if anyone is interested. It is designed to be a quick “howgozit.” It shows relative mV off pack average. (I think @janpom did something similar) Thin line is better. Powered straight from VESC from an unused 5V servo rail. I’m gonna to wrap it in some 3D printed love and find a home for it somewhere under my board.

Thanks @janpom for your help.


Nice! And yes, this is actually exactly how cell voltages are visualized on DAVEGA. Good for you I haven’t had it patented yet. :smile:

Can you please elaborate on this? Did you connect a bluetooth adapter to DAVEGA?


TFT DC and RESET ran to pins 22 and 21 on the ESP respectfully. It turned out that the BLE on the ESP32 was using those two lines. Because the BLE was working like a champ, I elected to cut those traces and run DC and RESET to 17 and 16 respectfully. Serial bluetooth code in that GITHUB repository is rock-solid. The adapter connects immediately after the board powers up.

In hindsight, I could have reassigned the blecomms hardware serial to move it out of the way. I find working with Bluetooth to be frustrating so I wasn’t about to fix something that wasn’t broken. In the end it was an easy workaround.


Installed: (man am I bored.)


I really like the idea, actually i’m looking for a cell voltage monitor only, for 14s to 20s and of course tiny as possible, do you have any starting point or recommendations?
Is just to put more batteries in, so BMS is out of the enclosure, just for charging cuz monitoring cells with the phone is priceless


I dropped the code over at GIT hub as a fork of the original( The hardware should be just a generic ESP32 and the display is a 2.8in TFT 240x320. You can decipher the wiring diagram from within the code. Programming follows the same process as Arduino programming, you’ll just have to google how to bring the ESP32 into that toolchain - also fairly straight forward.

My take on a cell voltage monitor for Xiaoxinag Smart BMS with Bluetooth BLE.

Hardware Cost :USD $10.00, firmware and brief “how-to” on GITHUB. Help available if interested.

This was written for a 10S battery (all of my batteries). This ESP actually has a UI and I think a second or third screen for any number of cells is possible

It only needs 5vDC from ESC and the Bluetooth is fairly robust. You can still use the phone app with this installed. You just can only have one or the other running at once (BT limitation). Some good double sided tape into the side of you enclosure will do the trick. Uses 50 miliamps when running. The number in parentheses is the max cell difference (high-low).
The bars show cell voltages relative difference from mean. Heavily inspired from @janpom and I’ll keep doing it until he patents it and sues me.



I want this, minus a smart BMS. Atmega and multiple ,(12) analog inputs?


yo which avr parts have more than 8 adc pins? you gonna use an external adc (like those maxim spi bus parts) @kevingraehl?

Would it be crazy or unsafe to just plug in all my 12s to the 2560 chip? And do the arithmetic inside the code. Would I want to add any circuity?

I use a 328p and a voltage divider to broadcast via ble to a screen and phone for non vesc pack voltage

Thinking about adding a shunt amplifier and shunt as well to monitor battery current

1 Like

Good discussion here:

I updated a piece of code from Janpom to make it work with a STM32 instead of an arduino, and did a little tuning (mostly i added a symbol for Balancing cells, allowed for negative current and avoided using delay()) :


I would like to ask all of you if there is a possibility to get this to work on 20s, I really don’t have space for a bms, and I think this voltage monitors is a must in case no BMS used, I very appreciated you input guys, this is not only for me, we could benefíciate a lot of diyers on the onewheel community, so pretty please :slight_smile:

1 Like

As far as i know, all these projects use a Smart BMS.
Mine certainly does, it only displays informations from the LLT BMS.
@Cghelobubba’s too.

Thanks for the quick reply, but they only use the smart bms LLT chip right? Or the complete bms?

Here is my setup :


@kevingraehl don’t we need differential adc to measure cell voltage in a pack. or can we get away with single ended adc?
i’ve been thinking about this

Hell if I know. :see_no_evil:

1 Like

You can use directly, but will need to size the resistor dividers accordingly, but you loose resolution as you go up on the cell count.

For the first cell you split the 1024 values of the ADC between 0 and 4.2 V, 0.004 V resolution

But on the last group you have to size for the full ADC voltage, so 50.4 V with a 0.05 V resolution