The x-IMU was designed to be the most versatile Inertial Measurement Unit (IMU) and Attitude Heading Reference System (AHRS) platform available. Its host of on-board sensors, algorithms, configurable auxiliary port and real-time communication via USB, Bluetooth or UART make it both a powerful sensor and controller. The on-board SD card* , battery charger (via USB), real-time clock/calendar and motion trigger wake up also make the x-IMU an ideal standalone data logger.

The x-IMU GUI can be used to configure settings, view real-time sensor data, perform calibration and export data to user software; e.g. Microsoft Excel. The x-IMU MATLAB library provides all the tools required to import, organise and plot data in MATLAB. User software can be developed using the x-IMU API.


* SD-card, USB cable, Bluetooth dongle not included.


Purchase Online


x-IMU Board- £249.00

x-IMU with Housing and Battery – £309.00




On-board sensors

  • Triple axis 16-bit gyroscope – Selectable range up to ±2000 °/s
  • Triple axis 12-bit accelerometer – Selectable range up to ±8 g
  • Triple axis 12-bit magnetometer – Selectable range up to ±8.1 G
  • 12-bit battery voltage level
  • Factory calibrated
  • Temperature compensated (gyroscope only)
  • Selectable data rates up to 512 Hz

On-board algorithms

  • IMU and AHRS algorithms provide real-time measurement of orientation
    relative to the Earth
  • Internal states updated at 512 Hz
  • Algorithm ‘initialise’ and ‘tare’ commands can be sent in real-time
  • Complete sensor calibration algorithms for user maintenance

Auxiliary port

  • External power in from 3.6 V to 6.3 V
  • 3.3 V power out up to 100 mA
  • Digital I/O mode – 8 channels, controlled via USB or Bluetooth
  • Analogue input mode – 8 channels, 12-bit resolution, 0 to 3.3 V
  • PWM output mode – 4 channels, 1 to 65,535 Hz, controlled via USB or Bluetooth
  • UART mode – 3.3 V, 2400 to 230.4k baud, substitutes Bluetooth

Power options

  • USB
  • LiPo battery – On-board charging via USB
  • External source from 3.6 V to 6.3 V
  • Low power consumption – 50 mA to 150 mA dependent on settings and usage, 130 µA sleep mode

Low profile

Other features

  • Motion triggered wake-up and sleep timer
  • Real-time clock and calendar
  • Configurable command button
  • Configurable 8 channel auxiliary port


  • USB
  • Bluetooth – Class 1, 100m range, SPP
  • Micro SD card – Supports FAT16/32 and SDHC
  • UART (see auxiliary port mode)


  • View, edit and backup all internal x-IMU settings
  • Real-time 2D and 3D data graphics
  • Control panels for auxiliary port
  • Data logger and file converter for exporting data; e.g. to MATLAB, Microsoft Excel, etc.
  • Magnetic calibration tools
  • Firmware bootloader to access new features in future x-IMU firmware versions


Open-source resources are released under the Creative Commons Share-alike 3.0 unless an alternative licence is specified in source files.


x-IMU-GUI-v13.1.zip (source code on GitHub)


FTDI USB drivers download page

x-IMU MATLAB Library on GitHub

Arduino/C++ example on GitHub

x-IMU open source projects/examples


New Interfaces for Musical Expression 2014
New Interfaces for Musical Expression 2014

Seb and I recently attended the 14th International Conference on New Interfaces for Musical Expression (NIME2014) at Goldsmiths, University of London. This was my...

NeoPixel LED screen using openFrameworks (C++) with x-OSC
NeoPixel LED screen using openFrameworks (C++) with x-OSC

The latest firmware for x-OSC includes support for Adafruit NeoPixel RGB LED arrays which come in a variety of formats including strips, rings and...

Tutorial: x-OSC and VDMX
Tutorial: x-OSC and VDMX

Motion graphics and video artist Will Reardon at Polymath Design has been working on a number of exciting VJ projects connecting x-OSC with VDMX....

RGB Control With Processing
RGB Control With Processing

Adam Spiers just sent me the source code for his first “Hello World” x-OSC project showing how to control the on-board RGB LED using...

Using x-OSC with Ableton Live
Using x-OSC with Ableton Live

This video shows a quick and neat demonstration of how to use x-OSC to control parameters in Ableton Live on OS X. The method...

Oscillatory Motion Tracking With x-IMU
Oscillatory Motion Tracking With x-IMU

Tracking position using an IMU is extremely difficult to achieve. This is because the an IMU is only able to provide a direct...

WiFi arcade controller (x-OSC Java demo)
WiFi arcade controller (x-OSC Java demo)

With a craving to play old Commodore 64 games and all my game controllers tangled into a interlaced web of wires, I figured I’d...

Solar wind chimes – The first x-OSC project
Solar wind chimes – The first x-OSC project

Ealier this year, I went to the Pervasive Media Studio in Bristol to give a lunchtime talk about x-OSC. After the talk I...