Multi-IMU Precision Motion Sensor Board
2025-11-13
Overview
As part of Advanced Robotics at the University of Washington, I designed a high-precision IMU board to improve our robot’s motion-tracking accuracy. The goal was to integrate multiple IMUs on a small form factor and fuse their data for more reliable orientation and motion measurements during competition.
Simulation
Before designing the hardware, I ran Python simulations using an 8-IMU noise model based on Farrenkompf sensor characteristics. Each IMU was given a different noise profile to reflect real-world variability. Averaging the signals significantly reduced noise and tracked the ideal waveform closely.


System Architecture
- Sensor Array: Four LSM6DSVTR IMUs placed to maximize spatial separation
- Data Fusion: High-speed sampling and averaging across all IMUs
- Communication: CAN interface using a CAN transceiver
- Thermal Control: Resistor-based heating elements below each IMU, switched via relay
Hardware Design
Microcontroller
STM32F042F4P6 (TSSOP20)
- Chosen for its small footprint and high-speed SPI support
- SPI used instead of I2C to take advantage of 80 MHz bandwidth, improving sampling rates
- Enough available GPIO pins allowed direct chip-select control without needing a multiplexer
- A 3:8 decoder (MC74HC138ADR2G) reduces switching latency and simplifies routing
Power System
- 24V → 5V Buck Converter (AP63201QWU-7): High efficiency and a naturally slower transient response, which helps smooth out any unexpected input changes
- 5V → 3.3V LDO (MIC5504-3.3YM5-TR): Selected to comfortably supply the MCU and digital logic
- 5V → 1.8V LDO (MIC5365-1.8YC5-TR): Supports low-current IMU array
- 24V Line: Directly drives the custom heating elements
Heating Control
- Controlled through a relay (VO1400AEFTR) for simplicity and reliability
- Future revision will move to a MOSFET + gate driver for reduced cost and faster switching
Physical Specs
- 25mm × 35mm form factor
- M3 mounting holes (23mm × 33mm spacing)
- Operating range: −40°C to 85°C
Technical Challenges
- SPI Timing: Only one IMU can be active at a time, so the firmware is optimized for very fast sequential polling
- Thermal Variation: Localized heating maintains consistent sensor temperature and reduces measurement drift
- Noise Reduction: Multi-IMU averaging provides significantly cleaner signals compared to a single-IMU setup