#parser #protocols #motor #no-alloc #automotive

no-std vesc

A no-std/no-alloc implementation of the VESC® firmware communication protocol

2 releases

Uses new Rust 2024

0.1.1 Oct 1, 2025
0.1.0 Sep 23, 2025

#930 in Embedded development

Download history 130/week @ 2025-09-22 172/week @ 2025-09-29 25/week @ 2025-10-06 14/week @ 2025-10-13 4/week @ 2025-10-20

66 downloads per month

MIT license

27KB
437 lines

VESC communication for Rust

A no-std/no-alloc Rust implementation of the VESC®^1 firmware communication protocol, making it ideal for embedded systems, robotics, and any application that needs to communicate with VESC motor controllers.

Supported commands

[!NOTE]

If you find a missing command, feel free to contribute! Adding a new command should be relatively easy. Just follow the well-established pattern.

Command Name Status
GetValues
SetCurrent
SetRpm
ForwardCan
GetValuesSelective

Supported command replies

[!NOTE]

Many commands have no replies, so this list need not mirror the supported commands.

Command Name Status
GetValues
GetValuesSelective

Installation

Add this to your Cargo.toml:

[dependencies]
vesc = "0.1"

License

This project is licensed under the MIT license.

Dependencies

~310–800KB
~18K SLoC