VESC Monitor Android App

I want to present you my android app.

If you want to use all the features like mode changes and fault analysis then you need to flash the VESC with my firmware mod/extended which has the actual Version 2.54. If you use the standard firmware (2.18) then you will only see the realtime data. You can get more information about the firmware mod/extention here.

First of all you need a Bluetooth module. You can buy them very cheap here.

You need to connect the Bluetooth module this wayvia the 5V Vesc to VCC Module GND Vesc to GND Module RX Vesc to TX Module TX Vesc to RX Module So you see that RX and TX needs to be crossed.

Then in the BLDC-Tool you have to activate UART and set the BAud Rate to 9600. if you have the Bluetooth module connected to the slave VESC in case of a dual setup which is connected via CAN then you need to activate there only UART. If it is connected to the master and you use a PPM controller then you need to activate PPM+UART.

the app itself can be downloaded in the Google Play store Vesc Monitor

When you start the app the first time you have to confirm that the app is allowed to use a couple of services like Bluetooth (for the connection) GPS (to get the actual position for logging and speed) Access to your storage (to store the log and video files) Camera (to shoot videos with realtime overlay)

After that you will see the actual available low Energy Bluetooth devices. So the board needs to be swicthed on to see it. Here in this picture you see my “Dual” Board. So once the app was connected to a Bluetooth module and received data it will ask you to give that Board a name so that it will be easy for you to detect the correct device again.

After you selected the correct Board (Module) you come to the realtime screen. It trys to connect to the baord immediately. if that fails you can try it again by pressing connect on the upper right corner again. You can also disconnect via the same butten which will turn into Discon. (Disconnect) ones aou are connected.

The first time you see this screen it is a bit overloaded with information. But ones you understood what all the values mean you will love it. But more about that later.

First you should adjust the right settings for your board. So press the pencil Button on the top to go into the settings.

SETTINGS

  • Board Name Here you can change the Name of the Board.
  • No of Motors Set the number of VESC in your power system. When this is set to 2 then the values like Watts,Motor Current and Battery Current are multiplied by that number. So you see how much Watts and Current are drawn from the entire system.
  • Mode Setup
  • Battery Setup
  • Drive Gear Setup
  • Video Setup
  • Save GPS Position If you want the the GPS position get’s stored in the Log files and that you see the GPS speed in the realtime Screen you need to enable this.
  • Connect by CAN to ID If you want to connect to another VESC to see their realtime values or the Bluetooth module is connected to a slave VESC then you need to enable this parameter and select in the dropdown box the Controller Id if the VESC you want to connect to. In most cases the Master is 0 and the Slave is 1. You can see that in the BLDC-Tool App Configuration/General tab.

Battery Setup

  • Here you adjust the WH of you Battery. this is important for the calculation of the range of the board. You can calculate this value by the number of cells in series multiplied by 3.6V for Li-ion cells or 3.7V for Li-Po cells. And the multiply the the AH of your Battery. So for example a 10S4P Battery with Samsung 25R cells have 10S * 3,6V * (2,5A a cell * 4P) = 360Wh. And i recommend to set the values a bit conservative here. So just reduce it by 10% or 15%. Because it also depends on the settings you have for the battery cutoff in the VESC. Because 2.5A a cell can only be reached if you discharge the cells till 2.5V. But mostly the cutoff end is at 2.8V a cell to don’t stress the cells too much. So for a 10S4P Battery a value of 320 Wh is more realistic.
  • No of cells in Series of the Battery
  • As next you need to adjust at which single cell voltage at no load (now power drawn) the battery has which level of capacity in percent.

Drive Gear Setup

  • Motor Magnets the total amount of magnets in your motor. A normal SK3 or 6374 or 6355 motor has 14 magnets. A Hub motor mostly have 28 poles.
  • Wheel Size in mm Size of the wheels diameter in mm. if you only know the size in inch then you need to multiply it by 2.54 to get the mm.
  • Wheel Pulley teeth Teeth for the timing Belt or sprocket for chain drive in the Pulley. If you have a Hub motor then you should set this value to 1.
  • Motor pulley teeth Teeth for the timing Belt or sprocket for chain drive in the Pulley. If you have a Hub motor then you should set this value to 1.
  • Motor pulley teeth Kilometers or Miles

So here are the individual Boxes in detail:

Mode Box:

Here you see the actual active mode and the most important settings for that mode. You can define new Modes in the menu and activate them by clicking on this mode box which opens a popup window that let’s you select one of your modes. First you see which Remote Control mode is activated. Like Watt or Current control.

  • Max W If a maximum Watt limit is set then you will see the watt limit here. If it isn’t set then you will see if BLDC or FOC is activated.
  • Max M Motor Max like in BLDC-Tool.
  • Min M Motor Min like in BLDC-Tool.
  • Max km/h / Max mi/h Maximum speed that is allowed for the mode.
  • Max B Battery Max like in BLDC-Tool.
  • Min B Battery Min like in BLDC-Tool. These settings show the settings for each individual VESC Default is the mode that is adjusted by the BLDC-Tool. It is the mode the Board starts with when you turn it on. When you change a mode it doesn’t get stored on the VESC. So ones you switch the board off and on again it is back to default. if you want to store the values you need to press longer on the Mode Box. Then a popup window will appear which asks you if you want to store the actual selected mode as the new default mode, so that it will overwrite the actual default values. Here you can also switch the motor mode BLDC to FOC or back. This only works when you made the motor detection before for both modes. So you have to make sure you set both modes up correctly. this way you can drive in silent mode or with motor sound if you like. Also BLDC is a little faster.

VOLT BOX

The Main Value of this box shows the actual battery Volts. You will see that the Volts will decrease the more amps are drawn from the battery. this is called voltage sag which sounds worse than it is. That is how a Battery works. When the label turns yellow then the power is reduced because it reached the “Battery cutoff start” of the VESC. When it turns red then it reached the “Battery cutoff end”. The % value in the Label shows you the actual Battery % which can be adjusted in the Battery settings. This value is only updated when no power is drawn from or charged to the battery.

  • Min The lowest value that was seen during the ride.
  • Cell The actual voltage of a single cell. Makes it easier when you have no 10S Battery to know at which voltage each cell is. this value is calculated by the actual battery voltage divided by the number of cells in series.

TEMPERATURE BOX

The Main Value of this box shows you the actual Temperature of the VESC. When the label turns yellow then the power is reduced because it reached the “Temperature cutoff start” of the VESC. When it turns red then it reached the “Temperature cutoff end”.

DISTANCE BOX

The Main Value of this box shows the actual distance that has been done during the ride.

RANGE BOX

The Main Value of this box shows the theoretical Range that can be reached if the ride is continued with the average actual Wh consumption. This value is calculated by the Wh of your battery which you can define in the Battery settings.

WH / AH BOX

  • Drawn The complete drawn Wh during the ride and the complete drawn Ah during the ride.
  • Charged The complete charged Wh during the ride and the complete charged Ah during the ride.
  • Ø per km The average Wh per kilometer / mile during the entire ride and the average Ah per kilometer / mile during the ride.
  • per km The Actual Wh and Ah per kilometer / mile if the ride would be continued like the board was ridden in the last half second. So you will see very high values when you accelerate from a standstill or uphill. And also minus values will be shown during braking.

Speed Box:

The Main Value of this box shows the actual speed which is calculated by the Motor RPM.

  • Max W If a maximum Watt limit is set then you will see the watt limit here. If it isn’t set then you will see if BLDC or FOC is activated.
  • GPS Shows the actual speed meassured by the GPS. Only works when GPS is activated in the settings. This will always update with a little delay because the other speeds which are shown are taken from the Motor RPM which are very precise.
  • MAX the maximum speed which have been reached during the ride.
  • Ø T The average speed during your total ride. It will also xount it when you stand still. the counting starts ones the board strated to move the first time.
  • Ø R The average speed which is counted only when you are riding. So it won’t be counted when you stand still.

POWER BOX

The Main Value of this box shows the watts that are drawn or charged. If you set the number of VESC to 2 for a dual drive then the realtime data values will be multiplied by 2. So don’t be surprised if you set a maximum of 1000 watts and you see 2000 here. The Label of this Box has Progress Bars which show you in each direction how far away you are form the maxium. When they reach the end then this is your limiting factor.

  • Min Minimum Watts (Braking) that are reached during the ride.
  • Max Maximum Watts that are reached during the ride.

MOTOR CURRENT BOX

The Main Value of this box shows the actual Motor Current (Amps). If you set the number of VESC to 2 for a dual drive then the realtime data values will be multiplied by 2. So don’t be surprised if you set a maximum of 50 A and you see 100 A here. The Label of this Box has Progress Bars which show you in each direction how far away you are form the maximum. When they reach the end then this is your limiting factor.

  • Min Minimum Current (Braking) that are reached during the ride.
  • Max Maximum Current that are reached during the ride.

BATTERY CURRENT BOX

The Main Value of this box shows the actual Battery Current (Amps). If you set the number of VESC to 2 for a dual drive then the realtime data values will be multiplied by 2. So don’t be surprised if you set a maximum of 30 A and you see 60 A here. The Label of this Box has Progress Bars which show you in each direction how far away you are form the maximum. When they reach the end then this is your limiting factor.

  • Min Minimum Current (Braking) that are reached during the ride.
  • Max Maximum Current that are reached during the ride.

DUTY BOX

The Main Value of this box shows the actual Duty Cycle (ratio of Motor Amps to Battery Amps). 95% is the maximum that can be reached in each direction.

Ø Active / Riding

  • Mot 1: Average Motor Current only when drawn 2: Average Motor Current only when charged 3: Average Motor Current drawn when driving. Calculated also when no power is drawn. Here you can see how much amps are really used for the motor on average during the entire ride. 4: Average Motor Current charged when driving. Calculated also when no power is charged. Here you can see how much amps are really charged back from the motor on average during the entire ride.

  • Bat 1: Average Battery Current only when drawn 2: Average Battery Current only when charged 3: Average Battery Current drawn when driving. Calculated also when no power is drawn. Here you can see how much amps are really drawn from the battery during the entire ride. 4: Average Battery Current charged when driving. Calculated also when no power is charged. Here you can see how much amps are really charged back to the battery on average during the entire ride.

  • Watt 1: Average Watts which are calculated only by the time power is drawn or charged. So when you only roll it won’t be counted. 2: Average Watts which are calculated over the entire riding time. So when you roll it will also be counted.

  • Time 1: Shows the time that has passed since you started to roll the first time. 2: Shows the time that since you started to roll the first time. but it doesn’t count the time when you stand still. So you see how long you were really on the moving.

MODES SETUP

In this screen you can create and modify different modes for your board.To create a new Mode you need to press the “+” sign on the upper right of the screen. And to modify a already existing mode you simply need to press on it.

You can make basic setups for modes and also more advanced one. But first of all you should give the mode a name. then you should select the Controller mode like Watt or Current control with or without reverse.

Then you can adjust the Basic settings like in BLDC-Tool for Motor max, Battery max, Motor min and Battery min. You also have the possibility to set a watt limit for watt control modes. if you want to limit the maximum speed you can do it here as well. (It will set the PPM or Nunchuk ERPM limit end to this speed and sets the ERPM limit start to 10 less than this value)

Use different settings for front axle If you have motors at the back axle and at the front axle then you have the possibility to use different acceleration and brake power at the front and back axle. This only really works in watt control modes because in Current control it only shares the Current. So you have to activate “Use different settings for front axle” and choose the Controller Id’s of the front axle so that the app knows which VESCs will use the front setup.

immediately you will see that different settings can be adjusted for the front. So if you want for example 66% of acceleration power at the back and 33% at the front 66% brake power at the front and 33% at the back then you could use the settings in the picture.

Use special throttle curve When you activate this checkbox you will see actual throttle curve settings which are defined for that mode.

to change the throttle curve just click on the button with the numbers. You see that a new screen appears that shows you the throttle curve in detail and let’s you adjust it. it works exactly like the one in BLDC-Tool of my firmware mod. i recommend to start with the values like in the picture which work very well for me.

Use Special Braking at Cruise Control When you click on this checkbox then a dropdown box appears which let’s you select of it should be allowed for cruise control that it brakes when you are too fast or not. If you use special settings in PPM which overwrite the function for left or right then this will make no change.

Use Special Cruise Control PID Here you can adjust the PID controller fro the cruise control. i recommend the settings like in the picture. If you want that it regulates the speed smoother you should lower the P and I. If you want it quicker you should raise the values. For carving at Cruise Control it is better to have it very smooth. If you change your motor max value then you normally also need to adjust the PID controller again because it regulates the power via the motor max. So if you lower the motor max you normally need to raise the values for the PID controller and if you raise the motor max you need to lower the PID values.

And if somebody wants to honor all the work. (many hundred hours) :point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down::point_down: :point_right: Donations :money_mouth: Donations :money_mouth: Donations:point_left: :point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2::point_up_2:

This text is not complete yet and will be extended soon. PLEASE don’t use this thread to tell me that you want a IOS app. Any of such posts will be removed by me. Please concentrate only on the app,

86 Likes

Saweeet!! Your timing couldn’t be more perfect. I just got my VESC-Xs this week, and installed your software on my computer last night. This will be my first foray into the wild world of VESCs, so I’m crossing my fingers that I don’t screw anything up. Once I figure all this out, you’re definitely getting a donation. I can’t imagine how much time and knowledge it took for you to create this. :metal:

Also, is they’re a good, current tutorial on how to initially set up VESCs and check settings, especially with this software? Or should I just scour and absorb info from your massive BLDC tool thread? I really don’t want to screw anything up.

1 Like

He dosnt have one yet, that is why he stated this:

Updates the text in the first post to explain the mode setup

Awesome! I’ve been meaning to add BT to my board. Do you have a suggestion for a connector to plug into the VESC? I think it’s a 7 pin connector right?

You can buy them at Aliexpress or on ebay. It is a JST 2.0 PH 7 Pin

1 Like

Just tried to connect to my board and the app crashes before it can make a connection. I can see my board in the BT detection but once I click on the connect button the app crashes without showing me any data from the board. I am on a 7.1.1 custom rom (pure nexus) on a Nexus 5 (also still using your 2.54 beta firmware - do i need to upgrade to the release version first?)

Yes you have to update to the released 2.54. I optimized some stuff In the communication.

2 Likes

Mine crashed first time before it was allowed to activate Bluetooth, aftet that it worked.

I found a problem at least in connection with android 5.1.1. When I make a video with “Video Layout Left” it works but when a make a video with “Video layout Left and Right or Minimal” I get a strange video with mainly green and violet colours. What’s wrong?

switching between FOC/BLDC is pretty slick. nice job!

1 Like

I can not see this function. Or is it just visible if FOC Mode is on in BLDC Tool?

Instead of clocking on the mode box to change a mode you have to press long on the mode box. Then you can store the actual settings as default or it also allows you to switch the motor control mode. But you have to make sure that FOC and BLDC is configured right. It is the same like if you would simply select the other mode in BLDC-Tool.

Ok thanks. Do you have an idea about the video problem which I posted 3 days ago?

1 Like

No solution for that at the moment. Never had that problem.

It was always not recommended switching between FOC and BLDC without resetting the firmware. Isn’t it suddenly no problem at all?

That’s my favorite myth. It’s like you have to get completely naked each time you change your socks.

14 Likes

I hope it is a myth but I’m not sure. Today I tried the first time FOC Mode. Everything was alright and I switched with the app to BLDC and back to FOC. But now I had a strange stuttering, I didn’t try more, just reflashed the firmware and for the moment I think I stay with BLDC. No faults detected.

Reflashing makes makes no sense. But it also doesn’t hurt. When your motor stutters at higher speeds then try to increase the switching frequency from 20000 to 30000. That solved the problem with my 6355 motors.

Stuttering was at lower speed and on the bench the wheels almost didn’t want to start running when I gave throttle on the remote.