Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RaspRover

Monorepo for the Waveshare RaspRover mobile robot platform.

Repository layout

firmware/   ESP32 DevKit-C embedded firmware (Rust, no_std + Embassy)
robot/      ROS 2 workspace for the Raspberry Pi host (Lyrical Luth)
data/       Mechanical CAD and reference documents

The ESP32 ROS Driver Board handles low-level motor control, IMU, display, and WiFi. The Raspberry Pi runs the ROS 2 stack for navigation, perception, and simulation.

Prerequisites

Install pixi and rustup, then clone the repo:

git clone https://github.com/rosterloh/rasprover-rs
cd rasprover-rs

The two environments are managed independently — install only what you need.

Firmware (ESP32)

The firmware uses the Espressif esp Xtensa toolchain, which lives outside pixi. Install it once:

pixi run -e firmware setup-toolchain
source ~/export-esp.sh

Configure WiFi credentials (optional — defaults are set in firmware/.cargo/config.toml):

export CONFIG_WIFI_NETWORK="your-ssid"
export CONFIG_WIFI_PASSWORD="your-password"
Task Command
Install environment pixi install -e firmware
Build pixi run -e firmware build
Build & flash pixi run -e firmware flash
Serial monitor pixi run -e firmware monitor
Save binary image pixi run -e firmware firmware-image
Erase flash pixi run -e firmware erase
Binary size stats pixi run -e firmware stats

Logs stream over RTT. Level is controlled by DEFMT_LOG (default: info).

Firmware modules

Module Description
board Shared I2C bus and peripheral initialisation
display SSD1306 OLED via I2C
imu MPU-6050 with Kalman / Mahony filter
motors PWM motor control via LEDC
network WiFi station + DHCP, OTA updates

Robot (ROS 2)

The ROS 2 workspace uses RoboStack Lyrical via pixi.

pixi install -e ros
pixi run -e ros build       # first build (also generates robot/install/setup.sh)

The ros environment activation sources robot/install/setup.sh, which is generated by colcon. Run build once before opening a pixi shell -e ros.

Task Command
Install environment pixi install -e ros
Build workspace pixi run -e ros build
Clean workspace pixi run -e ros clean
Run on hardware pixi run -e ros start
Run simulation pixi run -e ros simulation
Run Gazebo pixi run -e ros gazebo
Open RViz pixi run -e ros rviz

ROS packages

Package Description
rasprover_bringup Launch files for hardware and simulation
rasprover_description URDF, meshes, and RViz config
rasprover_gz Gazebo simulation integration

Links

About

Firmware for the ros_driver board on Rasprover from Waveshare

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages