| Crates.io | cu-bmi088 |
| lib.rs | cu-bmi088 |
| version | 0.12.0 |
| created_at | 2026-01-14 19:34:16.784066+00 |
| updated_at | 2026-01-14 19:34:16.784066+00 |
| description | Copper source driver for the BMI088 6-axis IMU (accelerometer + gyroscope). |
| homepage | https://github.com/copper-project |
| repository | https://github.com/copper-project/copper-rs |
| max_upload_size | |
| id | 2043563 |
| size | 64,919 |
Copper source component for the BMI088 6-axis IMU (accelerometer + gyroscope). This crate is no_std by default and uses embedded-hal 0.2 traits for portability across embedded platforms.
The BMI088 is a high-performance inertial measurement unit from Bosch Sensortec, featuring:
This driver is commonly used in flight controllers and robotics applications where precise motion sensing is required.
std: Enable standard library supportdefmt: Enable defmt logging for embedded debuggingtextlogs: Enable text-based loggingThe BMI088 has separate chip-select lines for the accelerometer and gyroscope. Both sensors share the same SPI bus but require independent CS control:
| Signal | Description |
|---|---|
| SPI MOSI | Shared data in |
| SPI MISO | Shared data out |
| SPI SCLK | Shared clock |
| ACC_CS | Accelerometer chip-select (active low) |
| GYR_CS | Gyroscope chip-select (active low) |
The accelerometer requires a dummy byte after the register address for reads, while the gyroscope uses standard SPI read protocol.
(
id: "bmi088",
type: "cu_bmi088::Bmi088Source<MySpi, MyAccCs, MyGyrCs, MyDelay>",
resources: {
"spi": "hal.bmi088_spi",
"acc_cs": "hal.bmi088_acc_cs",
"gyr_cs": "hal.bmi088_gyr_cs",
"delay": "hal.bmi088_delay",
},
)
The driver outputs [cu_sensor_payloads::ImuPayload] containing:
The driver remaps BMI088 axes to NED (North-East-Down) body frame convention:
Note: The axis mapping in this driver assumes a specific board orientation. You may need to adjust the mapping in read_measure() for your hardware.
This crate depends on:
cu29: Copper runtimecu-sensor-payloads: Standard sensor payload typesembedded-hal 0.2: Hardware abstraction traits