Best way to program VESC via bluetooth

What’s everyone doing to program their VESC via bluetooth? I got a focbox and an HM 10 module. I have Vesc tools installed on my PC but hate having to lay my board on top each time.

I use a module which supports tcp bridging through your phone.


I’ve been thinking of putting the bread and honey down for a module, I have a couple hm10 modules from scepy… but :thinking:

I won’t need my pc at all then will I?

The VESC Tool supports Bluetooth natively now, but only if you’re running Linux (Ubuntu) or Android. You’ll need a Bluetooth 4 USB dongle if your PC doesn’t have it built in.

On the VESC (Focbox) side you’ll need a programmed nrf51, or you can go for the easy/expensive option Trampa provides. You wont have to program the Trampa module, but note the VESC 6 and Foxbox have different connectors so it may not be plug and play.


Or, you can flash Benjamin’s custom firmware yourself. You’ll need this module:

And this to flash the firmware:

All you need to know is written here:

I just did it and it was super easy. I can only speak for Linux, though. VESC tool via bluetooth works perfectly on my (Linux) laptop and Android phone.


btw android 8.0 and after does not support metr, just a fair warning.

1 Like

Easy when you have Linux. The majorities can’t flash a module. This is why me made some. Since we didn’t start with 1000Units, price is not super low, but acceptable.

Frank App with the Bluetooth Module and TCP Bridge is the best and easiest way. Makes things so easy - never had to open my enclosure

1 Like

Since yesterday (?) Ackmaniac’s app supports this feature as well.

Connect your laptop VESC-tool to your app that’s connected to your BT-module.


Also when I am on outside i use “perimetr” app to directly change VESC Settings and save them to the VESC. Saved me much trouble

Can you do firmware uploads and real time data via a HM-10 and TCP bridge?

Firmware upload takes about a minute on a nrf51, that works out to be 12 minutes at HM-10 speeds.

I’d say when it comes to configuring, VESC tool with NRF is the real deal. You connect on your laptop or the phone to any of your VESCs that’s connected via CAN with the actual vesc tool. Super handy for testing things on the road instead of on the bench… What is really still missing is a good realtime display. I think Benjamin is still working on that. For the moment I still have the HM-10 for Ackmaniac’s realtime display connected to the Slave-FOCBOX, and NRF for VESC tool on the Master. I won’t give up either right now.

That is because Benjamin coded a cutom FW for the NRF51822, knowing what he is doing, getting the root problems nailed first.

Quote Vedder on

This is because it is not simply an USB-UART bridge, it also decodes and encodes the packets to get the maximum possible throughput and reliability.


Limitations on Ackmaniac new feature :


I don’t think that firmware updates work on the others via Bluetooth. And if somebody says the opposite then please only do so when you tested it yourself. And when you have a different Baudrate than the standard that comes with the firmware then you are fucked anyway because the connection won’t work.

1 Like

Doing it all the time! Works a treat with new module. 90 seconds, job done.

STM32 has UART bootloader but you need to set BOOT pins which arent breaked out of package on pcb…

Yep, firmware update worked perfectly the 4 times I’ve done it. Two times on two different VESCs, with 2 of those updates via CAN fwd.

I’m guessing it’s no accident that the nrf firmware Vedder wrote also adopts the VESC default baud rate.

NRF isn’t bluetooth.

@Kug3lis are you trying to explain to me that it is possible to upload a firmware via UART?

@lock Edit: Now i see that he he did it for NRF51822 modules and he also changed the behavior of the VESC-Tool when bluetooth is connected. In that case it might work. Didn’t have a look at this implementation. Last time i worked with NRF modules were with NRF24L01 which work different.

1 Like

The nRF51822 supports Bluetooth Low Energy and the other non-Bluetooth protocols. My MacBook can talk to my skateboard, and I’m fairly certain it only does Bluetooth :wink: