Skip to main content
With prerequisites in place, you are ready to build firmware.

List supported targets

Running make with no arguments prints the full list of supported boards:
You will see output similar to:
Identify the target name that matches your hardware. For example, a Trampa VESC 100/250 uses the target 100_250.

Build for a specific target

Replace 100_250 with the name of your board from the supported boards list.

Build output

Compiled firmware is placed in the build/<target>/ directory:
The .bin file is used for USB upload via VESC Tool. The .elf file is used when flashing with a SWD debugger.

Additional make targets

Add V=1 to any make command to see the full compiler invocation:

Custom hardware

To build firmware for a custom hardware configuration, supply the hardware source and header file paths directly:
Corresponding clean and flash targets are also available:

Build options in conf_general.h

Additional compile-time options are available in conf_general.h. Notable options include:
  • DISABLE_HW_LIMITS — disables hardware-enforced limits on configuration parameters (commented out by default)
  • USER_MC_CONF — path to a custom motor controller configuration header
  • USER_APP_CONF — path to a custom application configuration header
Uncomment or define these values before building to apply them.