#zenoh #sensors #bno08x

app edgefirst-imu

EdgeFirst IMU Service for BNO08x sensors

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

Apache-2.0

73KB
904 lines

EdgeFirst IMU

License Build Status Test Status Crates.io

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