vexide
Open-source Rust runtime for VEX V5 robots.
For more in-depth documentation and tutorials on vexide, head over to their website.
vexide is a community-maintained Rust runtime for VEX V5 robots. It allows you to write and run Rust code for the V5 Brain and control V5 devices like motors and sensors. You can think of it as an alternative to PROS or VEXcode, but for the Rust programming language (rather than C++).
The framework benfits from Rust's simple toolchain and dependency management, comprehensive standard library, and consistent, modern design. Many mistakes that would be left unchecked in PROS or VEXcode are detected before users upload their programs. For instance, all data aborts and prefetch errors are eliminated from vexide programs that use safe Rust.
vexide handles low-level operations like task scheduling, memory allocation, competition state, etc… allowing user code written on top of it to run seamlessly and fast. It heavily leans into Rust's async features for multitasking, providing its own lightweight cooperative scheduler for asynchonous operations.
Features
Completely open source: development is public and the community is invited to participate.
Support for Rust's comprehensive
stdlibraryCross-platform development
Strong, consistent type system prevents mistakes early
Minimal runtime overhead: vexide programs are small and upload fast
Easy to handle device errors and understand why your program isn't working
Test your code and algorithms without a robot by running vexide programs on your PC
Graphics drivers for Slint and embedded-graphics.
Designed for the
cargo/crates.io package manager/dependency ecosystemDedicated
cargo-v5CLI tool for uploading.
vexide is available as a library on crates.io and can be added to an existing Rust project, but the recommended way to create a project is through vexide-template.
Teams Contributed to this Article:
Last updated
Was this helpful?
