Skip to main content
Before you can build VESC firmware, you need a few system tools and the ARM cross-compiler toolchain.

System dependencies

Install the required packages with apt:
The packages provide:
  • git — version control
  • build-essentialmake and core build tools
  • libgl-dev — OpenGL development headers (required for Qt tools)
  • libxcb-xinerama0 — X11 multi-monitor support (required for Qt tools)
  • wget — used by the SDK installer
To use the STLink v2 programmer without root privileges, add the udev rules:

Clone the repository

Install the ARM toolchain

The firmware requires the GNU ARM GCC cross-compiler. The Makefile includes an installer target that downloads and sets up the toolchain automatically:
This installs the toolchain into the tools/ directory inside the repository. All build output is placed in the build/ directory.
You do not need to install arm-none-eabi-gcc globally. The make arm_sdk_install target manages a local copy so the build is self-contained.

Python 3 and pip (IDE only)

If you plan to use the Qt Creator IDE integration, you also need Python 3 and pip. These are used by the make qt_install target.
Python 3 and pip are typically available or installable through your system package manager:
See IDE setup for the full Qt Creator installation steps.