5 stable releases
| new 3.0.5 | Mar 1, 2026 |
|---|---|
| 3.0.4 | Feb 26, 2026 |
| 3.0.2 | Jan 27, 2026 |
| 3.0.0 | Jan 26, 2026 |
#24 in Robotics
73KB
904 lines
EdgeFirst IMU
Inertial Measurement Unit (IMU) service for EdgeFirst Maivin platform using BNO08x sensors.
Overview
EdgeFirst IMU provides IMU sensor data from BNO08x sensors, publishing fused orientation and raw sensor data over Zenoh for robotics and edge AI applications.
Features
- BNO08x IMU sensor support via SPI
- Sensor fusion with quaternion and rotation vector outputs
- Real-time processing with Tracy profiling support
- Zenoh integration for distributed communication
- Configurable update rates for rotation, accelerometer, and gyroscope
Installation
From crates.io
cargo install edgefirst-imu
From GitHub Releases
Download pre-built binaries from the releases page:
# For x86_64
wget https://github.com/EdgeFirstAI/imu/releases/latest/download/edgefirst-imu-linux-x86_64
chmod +x edgefirst-imu-linux-x86_64
# For ARM64 (Maivin)
wget https://github.com/EdgeFirstAI/imu/releases/latest/download/edgefirst-imu-linux-aarch64
chmod +x edgefirst-imu-linux-aarch64
From Source
git clone https://github.com/EdgeFirstAI/imu.git
cd imu
cargo build --release
Requirements
- Linux with SPI and GPIO support
- BNO08x IMU sensor hardware
- Rust 1.90 or later (for building from source)
Usage
edgefirst-imu --device /dev/spidev1.0 --interrupt IMU_INT --reset IMU_RST
Options
| Option | Environment Variable | Default | Description |
|---|---|---|---|
--device |
IMU_DEVICE |
/dev/spidev1.0 |
SPI device path |
--interrupt |
IMU_INTERRUPT |
IMU_INT |
GPIO interrupt pin name |
--reset |
IMU_RESET |
IMU_RST |
GPIO reset pin name |
--topic |
IMU_TOPIC |
imu |
Zenoh topic for IMU data |
--timeout |
IMU_TIMEOUT |
165 |
Message timeout in milliseconds |
--configure |
- | false |
Configure FRS records and exit |
--tracy |
- | false |
Enable Tracy profiling |
Testing
cargo test
Documentation
For detailed documentation, visit EdgeFirst Documentation.
Contributing
See CONTRIBUTING.md for guidelines on contributing to this project.
License
Copyright 2025 Au-Zone Technologies Inc.
Licensed under the Apache License, Version 2.0. See LICENSE for details.
Security
For security vulnerabilities, see SECURITY.md.
Dependencies
~41–58MB
~784K SLoC