Xmatic - VESC iOS Bluetooth App

Yeah… the custom charge curve is completely wrong haha. No cell go up to 5.04 volt, I don’t even know how you filled that in like that as it isn’t supposed to be like that in the default settings. You can see that’s it’s incoherent, charge to cell voltage 4.2 and then you have 5.04 for your cell voltage at 100%. Enter these values and everything will show up fine! (you can leave charge to cell voltage at 4.2)

@Stan8 Cher’s for the reply :slight_smile: But calm your farm a little buddy…

I was simply asking for clarification on how Xmatic determines it’s battery percentage. Your example is exactly what I have for my diy 10S boards, but 12S cell packs have a higher voltage split, as we all know. And this is exactly the split I put in my screen shot.

Anyways, it seems from what you’re suggesting…Xmatic doesn’t extract actual cell pack data or extrapolate the battery percentage based off the total voltage info coming from the Unity, it simply calculates it’s whole battery percentage data based on the individual cells that are used…and works back from there…? Hopefully @twan can simply confirm this, when he gets a sec :+1:t3:

@MattyG Battery percentage is indeed determined by the whole voltage of the 12s pack, or it could be determined by the single P groups. The fully charged voltage of a 12s battery is 50.4V, no matter how many P group there is in there, the fully charged voltage of a 10s pack is 42V.

But if you check the the packs in parallel, you will find the same result, a fully charged P group is 4.2V (nominal 3.6) no matter if it is in a 12s pack or a 10s pack. The only thing that changes is the pack’s total voltage determined by 4.2x S :slight_smile:

That higher split that you are talking about must be the pack voltage, but not the cells voltage.

@Stan8 yes mate, I get all that - I’ve bout a few battery pack over the last 4 years haha.

Just trying to get down to the specifics of how Xmatic determines then delivers the battery percentage info through their GUI.

Appreciate the replies tho mate so it’s all good.


1 Like

I think twan isn’t that much active, so I was trying to help :slight_smile:.

I think most app like this will have their voltage curve preset, then read the % according to the curve that the developper set. That’s why if you don’t like their curve, the custom option is for you to write your own.

Yeah gottchya.

The thing is, most Vesc units don’t get to read the actual cell pack voltages over Uart or similar, so it only sees the total voltage (Which is different for 10S &12S) from the whole pack. So it seems the Xmatic app take the total voltage from the Vesc and then applies a percentage figure based on the custom curve figure (if you select custom curve) you put in for a single LiOn cell :+1:t3:

Seems to work anyways :smile:

*In relation to the “cells in series” figure you put in

Got a weird problem.

Xmatic cannot see my HM-10 module unless I first connect to it via a BLE scanner app.

If I disconnect for any reason it just sits there scanning for bluetooth and sees nothing. I open the BLE scanner and connect to it and then it works in Xmatic.

Perhaps this is just a shitty HM-10. Any advice?

Edit: Here is some video to show how it is behaving.

@Sammack if you want to write to the unity you will have to use a separate ble module and connect it to the uart, the unity’s Bluetooth is broken, as it cannot send the full data required for writing configs. Think its a firmware issue with the bt module.

@MattyG as @Stan8 pointed out your cell voltage are wrong, the cell voltages are based on a single cell. The app pulls the raw voltage (total voltage) and based on your settings it will calculate what your pack battery levels are based on your individual cell voltage.

@Helno Might be the module or if another app/device is connected to that ble module it causes issue since different sources fighting for a connection.

Thanks @twan for the clarification. It was honing to be one of two ways, so since then I simply entered the cell data based on a single cell (like u said) and it works fine. Cheers :+1:t3::smile:

1 Like

Fixed my weird connection issue by flashing the HM10 firmware by following this guide.


Why the motor temp is negative?

I would guess you don’t have any temp sensors.

1 Like

@twan Hey I was really interested in making an app too for ebike. I am really amaze by what you have done for the eskate community. I am just a first-year CS student trying to have fun with my DIY ebike. I am been programming for a bit and find it quite fun. I was wonder can I parse data from this Bluetooth receiver using this combination of VESC? BL: Bluetooth Module 2.4G Wireless Based upon the nrf51_vesc project VESC: FLIPSKY FSESC 6.6 based upon VESC® 6

Please let me know, I would really appreciate your knowledge @twan

they have it out now!

Hello, Did you wrote it using Swift? I’m planning to do my own app, but I have problem with making bluetooth connection to VESC. Would you be so kind and share source code related to bluetooth connection?

@twan I really like the app — thank you. I am using the apple watch — is it possible to make the stats what they call “complications”? It would be fantasic to get just speed and battery % stay on my watch face. Thank you!

1 Like

Can anyone confirm that the Xmatic app works directly with a newer version of the TRAMPA Mountain board?


Second that. Just speed and maybe battery voltage or percent in a simple tab would be great. Anyone know if this app is still being developed /updated?

The new VESC on the board will probably come with > 4.1 firmware which is the last one xmatic was updated to work with. one could downgrade it. not uncommon.

The bluetooth module assuming trampa board ships with one or you add it on will most likely work? but I can’t say for sure.