VESC Packages

A VESC Package is a self-contained application that runs on VESC-compatible hardware using LispBM and/or C code. The package can also include a custom User Interface loaded by VESC Tool written in Qml to configure and interface with the package. Packages provide additional functionality beyond the core motor control firmware and can be installed, updated, and managed through VESC Tool.

VESC Packages allow developers to create complete applications that interact with motor controllers, displays, communication modules, sensors, and other devices within the VESC ecosystem. A package can include user interfaces, configuration menus, graphics, scripts, communication protocols, and custom control logic.

Packages can be downloaded and installed directly from the Package Store within VESC Tool, making it easy to add new functionality to compatible devices. Developers can also create their own custom packages using LispBM and distribute them privately or publicly for others to use.

Packages are commonly used for:

  • Vehicle dashboards and displays
  • Remote controls
  • Data logging and telemetry
  • Battery monitoring
  • CAN Bus device management
  • Robotics applications
  • Custom vehicle control systems
  • WiFi and Bluetooth connectivity
  • Device configuration tools

Unlike firmware updates, packages can be installed and updated independently without changing the core firmware running on the device. This makes it possible to add new features and applications while maintaining a stable motor control platform.

Many VESC devices, including VESC Express modules and compatible displays, rely on packages to provide their user interface and application-specific functionality.

Example

A display package running on a VESC Express module can show battery status, speed, motor temperature, and ride statistics while communicating with one or more VESC motor controllers over CAN Bus. The package can be installed directly from VESC Tool or developed from scratch using LispBM.

How do I make my own package?

All VESC Packages are hosted on this github repository

https://github.com/vedderb/vesc_pkg

You can edit all packages for your needs if you want to tweak them. To contribute your own package to the VESC Tool package store you can make a pull request to this github repository. If your pull request gets accepted after a review it will end up in the VESC Tool package store on all platforms.

In simple terms: a VESC Package is an application that runs on VESC hardware, adding features and functionality without modifying the core firmware.