Loading a custom firmware on the VESC

How can I load custom firmware into the VESC? I have a vesc which has an older version of firmware and I am unable to upgrade it.
Also I am looking for someone who can create custom code firmware for me? Can someone please recommend me or PM me that would be grateful.

Are you using VESC tool? it’s a relatively easy process.

You have the VARIESC Vesc tool (i think that’s what it’s called) from @b264
Also have an unlimited firmware for the VESC tool for maximum power but run at your own risk, you need to have excellent cooling capabilities on your ESC.

I don’t know where to find either firmware, @b264 can help with that. i assume you can find it using the search function the forum


@PixelatedPolyeurthan : Yes, I am using the VESC tool. I tried to upgrade one vesc which always says that it got upgarded to the latest version but later when I power cycle it, it shows the old firmware.
I tried 2 other VESCs, both of them got upgraded without any issues.

1 Like

and what model esc exactly are we talking about?
have you tried downgrading to older firmware then upgrading to newer?

I am using VESC MKV6 and tool v3.0.
I haven’t tried downgrading the firmware. I am not sure from where do I download an old firmware and upload it on the VESC tool to upgrade/downgrade.

Sounds like it doesn’t have the bootloader flashed.

There should be a tab where you can upload the bootloader


@Gamer43 : I tried that bootloader and that fixed the issue. Thanks a ton!


Is there some way I could flash a bricked VESC? I have one sitting which I could get up and running.

The swd port. One vesc can flash any number of other vescs through that port

1 Like

You’d be better off using an St-link from a nulceo board or from ST themselves

1 Like

never tried on a vesc but i did that twice on a printer motherboard using a raspberry pi

In this page it is mentioned that select your board: vedderb/bldc: The code for my custom BLDC controller. (github.com)

How to determine which board I am using. As of now I am using VESC 6 mkv3