X-IO x-IMU3 User manual

x-IMU3 User Manual v0.11
April 6, 2022
x-IMU3 User Manual
v0.11
April 6, 2022
x-io Technologies
1

x-IMU3 User Manual v0.11
April 6, 2022
Contents
1 Overview 6
2 Hardware 7
2.1 Board ................................................ 7
2.2 Housing............................................... 8
2.2.1 IP67 rating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Technical specification 9
3.1 Temperature............................................. 9
3.1.1 No battery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2 With battery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Sensors............................................... 9
3.2.1 Gyroscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.3 Magnetometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.4 High-g accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.5 Temperature sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Data logger capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.1 8 GB micro SD card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.2 32 GB micro SD card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4 Calibration 12
4.1 System clock and RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2 Battery voltmeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Inertial sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Magnetometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.5 Calibration certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5 Power button 14
6 LED 14
6.1 Wireless disabled (green) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.2 Wi-Fi client (cyan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3 Wi-Fi AP (magenta) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.4 Bluetooth (blue) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.5 Error(red).............................................. 16
6.6 Low battery and charging (orange) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.7 Usercontrol............................................. 17
7 Data logger 17
7.1 Start and stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.2 Filename .............................................. 17
7.3 File contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8 Communication protocol 18
8.1 Command messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.1.1 Read setting command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.1.2 Write setting command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.1.3 Default command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.1.4 Apply command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.1.5 Save command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.1.6 Read time command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.1.7 Write time command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.1.8 Ping command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.1.9 Ping response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2

x-IMU3 User Manual v0.11
April 6, 2022
8.1.10 Reset command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.1.11 Shutdown command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.1.12 Strobe command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.1.13 Colour command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.1.14 Serial accessory command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1.15 Note command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1.16 Format command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1.17 Self-test command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1.18 Self-test response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1.19 Bootloader command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.1.20 Factory command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.1.21 Erase command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.2 Data messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.2.1 Byte stuffing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8.2.2 Inertial message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8.2.3 Magnetometer message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8.2.4 Quaternion message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.2.5 Rotation matrix message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.2.6 Euler angles message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.2.7 Linear acceleration message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.2.8 Earth acceleration message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.2.9 High-g accelerometer message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.2.10 Temperature message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.2.11 Battery message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.2.12 RSSI message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.2.13 Serial accessory message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.2.14 Notification message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.2.15 Error message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9 Sample rates, message rates, and timestamps 31
9.1 Sample rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.2 Message rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.3 Sample averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.4 Timestamps............................................. 32
9.5 Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
10 Network announcement message 32
11 Device settings 33
11.1 Individual settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
11.1.1 Calibration date (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
11.1.2 System clock calibration (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
11.1.3 RTC calibration (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
11.1.4 Battery voltmeter sensitivity (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . 34
11.1.5 Gyroscope misalignment (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
11.1.6 Gyroscope sensitivity (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
11.1.7 Gyroscope offset (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
11.1.8 Accelerometer misalignment (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.1.9 Accelerometer sensitivity (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.1.10 Accelerometer offset (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.1.11 Soft iron matrix (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.1.12 Hard iron offset (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.1.13 High-g accelerometer misalignment (read-only) . . . . . . . . . . . . . . . . . . . . . 35
11.1.14 High-g accelerometer sensitivity (read-only) . . . . . . . . . . . . . . . . . . . . . . . 36
11.1.15 High-g accelerometer offset (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . 36
11.1.16 Device name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3

x-IMU3 User Manual v0.11
April 6, 2022
11.1.17 Serial number (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
11.1.18 Firmware version (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
11.1.19 Bootloader version (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
11.1.20 Hardware version (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
11.1.21 Serial mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
11.1.22 Serial baud rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
11.1.23 Serial RTS/CTS enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
11.1.24 Serial accessory number of bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
11.1.25 Serial accessory termination byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
11.1.26 Serial accessory timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
11.1.27 Serial accessory transmit enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
11.1.28 Wireless mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
11.1.29 Wireless firmware version (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . 38
11.1.30 External antennae enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
11.1.31 Wi-Fi region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
11.1.32 Wi-Fi MAC address (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
11.1.33 Wi-Fi IP address (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
11.1.34 Wi-Fi client SSID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
11.1.35 Wi-Fi client key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
11.1.36 Wi-Fi client channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
11.1.37 Wi-Fi client DHCP enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
11.1.38 Wi-Fi client IP address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
11.1.39 Wi-Fi client netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
11.1.40 Wi-Fi client gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
11.1.41 Wi-Fi AP SSID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
11.1.42 Wi-Fi AP key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
11.1.43 Wi-Fi AP channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
11.1.44 TCP port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
11.1.45 UDP IP address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
11.1.46 UDP send port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
11.1.47 UDP receive port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
11.1.48 Synchronisation enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
11.1.49 Synchronisation network latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
11.1.50 Bluetooth address (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
11.1.51 Bluetooth name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
11.1.52 Bluetooth pin code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
11.1.53 Bluetooth discovery mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
11.1.54 Bluetooth paired address (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
11.1.55 Bluetooth paired link key (read-only) . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
11.1.56 Data logger enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
11.1.57 Data logger file name prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
11.1.58 Data logger file name time enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
11.1.59 Data logger file name counter enabled . . . . . . . . . . . . . . . . . . . . . . . . . . 45
11.1.60 Data logger max file size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
11.1.61 Data logger max file period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
11.1.62 Axes alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
11.1.63 Gyroscope offset correction enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
11.1.64 AHRS gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
11.1.65 AHRS ignore magnetometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
11.1.66 AHRS acceleration rejection enabled . . . . . . . . . . . . . . . . . . . . . . . . . . 47
11.1.67 AHRS magnetic rejection enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
11.1.68 Binary mode enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
11.1.69 USB data messages enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
11.1.70 Serial data messages enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
11.1.71 TCP data messages enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
11.1.72 UDP data messages enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4

x-IMU3 User Manual v0.11
April 6, 2022
11.1.73 Bluetooth data messages enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
11.1.74 Data logger data messages enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.1.75 AHRS message type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.1.76 Inertial message rate divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.1.77 Magnetometer message rate divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.1.78 AHRS message rate divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.1.79 High-g accelerometer message rate divisor . . . . . . . . . . . . . . . . . . . . . . . 51
11.1.80 Temperature message rate divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
11.1.81 Battery message rate divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.1.82 RSSI message rate divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
12 Updating device firmware 52
Glossary 54
Document version history 56
Disclaimer 58
5

x-IMU3 User Manual v0.11
April 6, 2022
1 Overview
The x-IMU3 is x-io Technologies’ third generation
Inertial Measurement Unit (IMU). It is a
high-performance and versatile measurement
device designed to accommodate a wide range of
data logging and real-time applications including
biomechanics, motion-capture, virtual reality, drones,
robotics, and industrial.
USB, Wi-Fi and Bluetooth provide connectivity
for mobile and desktop devices while serial
communication supports embedded and industrial
systems. An on-board micro SD card allows the
x-IMU3 to function as a stand-alone data logger
with the ability to download files by USB and Wi-Fi.
Multiple x-IMU3s operating together on the same
wireless network will automatically synchronise to
stream or log synchronised measurements.
Sensors
·Gyroscope, ±2000°/s, 400 Hz
·Accelerometer, ±24 g, 400 Hz
·Magnetometer, ±2.5 uT, 20 Hz
·High-g accelerometer, ±200 g, 1600 Hz
·Temperature sensor1
Calibration
·15-parameter calibration for: axis sensitivity,
axis offset, inter-axis misalignment, and
package misalignment.
·Hard-iron and soft-iron calibration
·On-board gyroscope bias correction algorithm
AHRS
·Algorithm outputs:
- Quaternion
- Rotation matrix
- Euler angles
- Linear acceleration
- Earth acceleration
·Linear acceleration rejection
·Magnetic distortion rejection
·400 Hz update rate
·Static accuracy:
- 1° RMS inclination
- 2° RMS heading
Communication
·USB (CDC)
·Serial, 3.3V UART
·TCP (Wi-Fi)
·UDP (Wi-Fi)
·Bluetooth2
Wi-Fi
·Client and AP mode
·Dual band (2.4 GHz, 5 GHz)
·WPA/WPA2-Personal
·WPA/WPA2-Enterprise3
Data logging
·Supports micro SD cards up to 32 GB4
·Start/stop logging remotely
·USB download
·Wi-Fi download
·CSV output
Serial accessories
·Receive data from external sensors and user
electronics, e.g. GPS, analogue/digital inputs,
application-specific sensors.
·3.3 V output to power external electronics
Battery
·Internal battery charged by USB
·20 hours data logging
·15 hours Bluetooth
·12 hours Wi-Fi client 2.4 GHz
·8 hours Wi-Fi client 5 GHz
Housing
·IP675
·Wearable strap or chassis mount
Software GUI
·Real-time data plots and 3D view
·Log real-time data to CSV
·Forward real-time data to other applications
·Windows and macOS
Software API
·Rust, C, C++, C#, Python
·Code examples for other languages available
1The temperature sensor is used for calibration and is not intended to provide an accurate measurement of ambient temperature.
2Bluetooth support is currently in development and not yet supported.
3WPA/WPA2-Enterprise security is currently in development and not yet supported. Will only be supported in client mode.
4The product is supplied with an 8 GB micro SD card that can be upgraded by the user.
5IP67 is currently unconfirmed. Third-party testing to complete in 2022.
6

x-IMU3 User Manual v0.11
April 6, 2022
2 Hardware
2.1 Board
Board components are annotated in Figure 1. A detailed mechanical drawing describing the board dimensions
and locations of key components is available on the product web page.
1
2
3
4
5
67
8
9
10
11
Figure 1: Board
1. Power button
2. USB-C connector
3. LED
4. Serial header
5. High-g accelerometer
6. Inertial sensor (gyroscope and accelerometer)
7. Magnetometer
8. Wireless antennae
9. U.FL connector for external wireless antennae
10. Micro SD card socket
11. Battery connector
7

x-IMU3 User Manual v0.11
April 6, 2022
2.2 Housing
The housing interfaces are annotated in Figure 2. A detailed mechanical drawing describing the housing
dimensions is available on the product web page.
1
2
3
Figure 2: Housing
1. Power button
2. USB-C connector
3. LED
2.2.1 IP67 rating
The Ingress Protection 67 (IP67) rating is an international standard that describes the ability of the housing to
protect against the ingress of solid particles and water. The first digit, 6 indicates complete protection against
dust and solid particles. The second digit, 7 indicates protection from water for a maximum depth of 1 meter
for up to 30 minutes.
In practical terms, this means that the housing can be used outdoors in all weather conditions and that it
will survive accidental or temporary submersion in water. The housing should not be used in underwater
applications.
8

x-IMU3 User Manual v0.11
April 6, 2022
3 Technical specification
3.1 Temperature
3.1.1 No battery
Characteristic Value Notes
Operating -40°C to 85°C 1, 2
Storage -40°C to 105°C -
Table 1: Temperature specification (no battery)
Notes
1. The temperature of the device will always be greater than the surroundings due to heat generated by
electronics.
2. The specified accuracy of the device is not achieved over the full operating temperature range. See
Section 4 on page 12 for more information.
3.1.2 With battery
Characteristic Value Notes
Operating (discharging) -20°C to 60°C 1, 2
Operating (charging) 0°C to 45°C 1, 2, 3
Storage -20°C to 25°C -
Table 2: Temperature specification (with battery)
Notes
1. The temperature of the device will always be greater than the surroundings due to heat generated by
electronics.
2. The specified accuracy of the device is not achieved over the full operating temperature range. See
Section 4 on page 12 for more information.
3. Charging at temperatures below 0°C will reduce the capacity and cycle life of the battery.
3.2 Sensors
3.2.1 Gyroscope
Characteristic Value Notes
Range ±2000°/s -
Resolution 16-bit, 0.061°/s -
Sample rate 400 Hz ±0.3% 1
Bandwidth 47 Hz 2
Noise 0.014°/s/√Hz -
Table 3: Gyroscope specification
9

x-IMU3 User Manual v0.11
April 6, 2022
Notes
1. Each sample includes a timestamp for a reliable measurement of time independent of the sample rate
error. See Section 9 on page 31 for more information.
2. The maximum bandwidth is achieved when the message rate is equal to the sample rate. If the message
rate is less than the sample rate then samples are averaged. See Section 9 on page 31 for more
information.
3.2.2 Accelerometer
Characteristic Value Notes
Range ±24 g -
Resolution 16-bit, 732 µg -
Sample rate 400 Hz ±0.3% 1
Bandwidth 145 Hz 2
Noise 160 µg/√Hz (X, Y), 190 µg/√Hz (Z) -
Accuracy at 1 g TBC 3, 4
Table 4: Accelerometer specification
Notes
1. Each sample includes a timestamp for a reliable measurement of time independent of the sample rate
error. See Section 9 on page 31 for more information.
2. The maximum bandwidth is achieved when the message rate is equal to the sample rate. If the message
rate is less than the sample rate then samples are averaged. See Section 9 on page 31 for more
information.
3. The accuracy at 1 g is evaluated as the deviation of the measured magnitude of gravity for a 360°
rotation around the X, Y, and Z axis aligned to the horizontal axis.
4. Accuracy is specified for the calibrated temperature only. See Section 4 on page 12 for more information.
3.2.3 Magnetometer
Characteristic Value Notes
Range ±1300 µT (X, Y), ±2500 µT (Z) -
Sample rate 20 Hz ±8% 1
Noise 0.3 µT -
Accuracy at 1 a.u. TBC 2, 3, 4
Table 5: Magnetometer specification
Notes
1. Each sample includes a timestamp for a reliable measurement of time independent of the sample rate
error. See Section 9 on page 31 for more information.
2. The calibrated magnetometer units are arbitrary units (a.u.). 1 a.u. is equal to the magnitude of the
ambient magnetic field during calibration, approximately 50 µT.
3. The accuracy at 1 a.u. is evaluated as the deviation of the measured magnitude of the ambient magnetic
field for a 360° rotation around the X, Y, and Z axis aligned to the vertical axis.
4. Accuracy is specified for the calibrated temperature only. See Section 4 on page 12 for more information.
10

x-IMU3 User Manual v0.11
April 6, 2022
3.2.4 High-g accelerometer
Characteristic Value Notes
Range ±200 g -
Resolution 16-bit, 6.1 mg -
Sample rate 1600 Hz ±2% 1
Bandwidth 800 Hz 2
Noise 5 mg/√Hz -
Accuracy at 1 g TBC 3, 4
Table 6: High-g accelerometer specification
Notes
1. Each sample includes a timestamp for a reliable measurement of time independent of the sample rate
error. See Section 9 on page 31 for more information.
2. The maximum bandwidth is achieved when the message rate is equal to the sample rate. If the message
rate is less than the sample rate then samples are averaged. See Section 9 on page 31 for more
information.
3. The accuracy at 1 g is evaluated as the deviation of the measured magnitude of gravity for a 360°
rotation around the X, Y, and Z axis aligned to the horizontal axis.
4. Accuracy is specified for the calibrated temperature only. See Section 4 on the next page for more
information.
3.2.5 Temperature sensor
Characteristic Value Notes
Range -104°C to 150°C 1
Sample rate 5 Hz ±0.3% 2, 3
Accuracy ±1°C at 25°C -
Table 7: Temperature sensor specification
Notes
1. The temperature sensor measurement range exceeds the device operating temperature range. See
Section 3.1 on page 9 for more information.
2. Each sample includes a timestamp for a reliable measurement of time independent of the sample rate
error. See Section 9 on page 31 for more information.
3. The temperature sensor is oversampled and the result decimated to the specified sample rate.
11

x-IMU3 User Manual v0.11
April 6, 2022
3.3 Data logger capacity
3.3.1 8 GB micro SD card
Condition Value Notes
Default message rates 485 hours 1
Maximum message rates 37 hours 1
Table 8: Data logger capacity for 8 GB micro SD card
Notes
1. The data logging capacity is indicated for binary data messages. Capacity will be reduced for ASCII
data messages.
3.3.2 32 GB micro SD card
Condition Value Notes
Default message rates 1941 hours 1, 2
Maximum message rates 149 hours 1, 2
Table 9: Data logger capacity for 32 GB micro SD card
Notes
1. The data logging capacity is indicated for binary data messages. Capacity will be reduced for ASCII
data messages.
2. The product is supplied with an 8 GB micro SD card that can be upgraded by the user. The maximum
compatible micro SD card capacity is 32 GB.
4 Calibration
Each device is calibrated during production to achieve the specified accuracy. The calibration process uses
specialist equipment and propriety algorithms to calculate calibration parameters specific to each device.
These parameters are used by the calibration models described in the following sections to compensate for
the characteristics of each measurement source. Calibration is performed at room temperature and accuracy
will be reduced for operating temperatures that deviate from this temperature. Please refer to the calibration
certificate for specific temperature values.
4.1 System clock and RTC
The system clock and Real-Time Clock (RTC) are calibrated for errors in each clock source. The clock
calibration model is described by Equation (1) where fcis the calibrated clock frequency obtained from the
uncalibrated clock frequency, fu, given the value, c. The units of fcand fuare Hz. cis a ratio and therefore
has no units. The calibration parameter cfor each clock can be accessed as device settings.
fc=cfu(1)
4.2 Battery voltmeter
The battery voltmeter is calibrated for the gain of the analogue front-end and accuracy of the voltage
reference used by the Analog-to-Digital Converter (ADC). The battery voltmeter calibration model is described
12

x-IMU3 User Manual v0.11
April 6, 2022
by Equation (2) where vcis the calibrated voltage measurement obtained from the uncalibrated voltage
measurement, vu, given the sensitivity, sv. The units of vcand vuare volts. svis a ratio and therefore
has no units. The calibration parameter svcan be accessed as a device setting.
vc=svvu(2)
4.3 Inertial sensors
The inertial sensors are the gyroscope, accelerometer, and high-g accelerometer. Each inertial sensor is
calibrated for axis sensitivity, axis offset, inter-axis misalignment, and package misalignment. The inertial
calibration model is described by Equation (3) where icis the calibrated inertial measurement obtained from
the uncalibrated inertial measurement, iu, given the misalignment matrix, M, the sensitivity vector, s, and the
offset vector, b. The inertial calibration model is expanded as Equation (4) to express the model as 15 scalar
quantities. The units of ic,iu, and bare degrees per second for the gyroscope, and g for the accelerometer
and high-g accelerometer. Mand sare ratios and therefore have no units. The calibration parameters M,s,
and bfor each inertial sensor can be accessed as device settings.
ic=Ms(iu−b) (3)
icx
icy
icz
=
mxx mxy mxz
myx myy my z
mzx mzy mzz
sx
sy
sz
iux
iuy
iuz
−
bx
by
bz
(4)
4.4 Magnetometer
The magnetometer is calibrated for soft iron and hard-iron characteristics. Soft iron characteristics are
distortions that alter the intensity and direction of the magnetic field as measured by the magnetometer.
Soft iron calibration also accounts for magnetometer axis sensitivity, inter-axis misalignment, and package
misalignment. Hard iron characteristics are unintended magnetic fields generated by the device that offset
magnetometer measurements. Hard iron calibration also accounts for magnetometer axis offset.
The magnetometer calibration model is described by Equation (5) where mcis the calibrated magnetometer
measurement obtained from the uncalibrated magnetometer measurement, mu, given the soft iron matrix,
S, the hard iron vector, h. The magnetometer calibration model is expanded as Equation (6) to express the
model as 12 scalar quantities. The units of mc,mu, and hare a.u.. Sis a ratio and therefore has no units.
The calibration parameters S,hcan be accessed as device settings.
mc=Smu−h(5)
mcx
mcy
mcz
=
sxx sxy sxz
syx syy sy z
szx szy szz
mux
muy
muz
−
hx
hy
hz
(6)
4.5 Calibration certificate
Each device is supplied with a calibration certificate unique to that device. The calibration certificate details
all calibration parameters, the calibration date, the ambient temperature and device temperature during
calibration, and any equipment used during the calibration process. The certificate also includes graphs
demonstrating the accuracy of the device over the measurement range. Calibration certificates are provided
as a Portable Document Format (PDF) file. There are three ways to access the calibration certificate for a
device:
1. Scan the Quick Response (QR) code on the back of the device.
2. Open the “Calibration Certificate.html” file stored on the Secure Digital (SD) card.
13

x-IMU3 User Manual v0.11
April 6, 2022
3. Enter the device serial number on the calibration certificate web page.
5 Power button
Pressing the power button while the device is switched off will switch the device on. Pressing and holding the
power button for two seconds while the device is switched on will switch the device off.
A timestamped notification message containing the string, ”Button pressed.” is sent each time the button is
pressed. This allows the button to function as a basic user input for real-time applications or as a means for
marking events during data logging. If the button is used in this way then the user must be careful not to hold
the button for too long otherwise the device may be switched off unintentionally.
6 LED
The Light-Emitting Diode (LED) indicates the mode and status of the device using different colours and
flashing behaviours.
6.1 Wireless disabled (green)
A green LED, as shown in Figure 3 indicates that the device is switched on and that the wireless mode is
disabled.
Figure 3: Green LED indicating that the device is switched on and that the wireless mode is disabled
6.2 Wi-Fi client (cyan)
A cyan LED, as shown in Figure 4 on the next page indicates that the device is switched on and in Wi-Fi client
mode. Slow flashing (once per second) indicates that device is not connected to an Access Point (AP), fast
flashing (five times per second) indicates that the device is connected to an AP but has not yet obtained an
Internet Protocol (IP) address, and a solid LED indicates that the device is connected to an AP and has an IP
address.
14

x-IMU3 User Manual v0.11
April 6, 2022
Figure 4: Cyan LED indicating that the device is switched on and in Wi-Fi client mode
6.3 Wi-Fi AP (magenta)
A magenta LED, as shown in Figure 5 indicates that the device is switched on and in Wi-Fi AP mode. The
LED will flash during the initialisation of the Wi-Fi network. Once the network has been created, the LED will
remain solid.
Figure 5: Magenta LED indicating that the device is switched on and in Wi-Fi AP mode
6.4 Bluetooth (blue)
A blue LED, as shown in Figure 6 on the next page indicates that the device is switched on and in Bluetooth
mode. Slow flashing (once per second) indicates that Bluetooth is not connected and the device is not
discoverable, fast flashing (five times per second) indicates that Bluetooth is not connected and the device
is discoverable, and a solid LED indicates that Bluetooth is connected. The device is not discoverable while
Bluetooth is connected.
15

x-IMU3 User Manual v0.11
April 6, 2022
Figure 6: Blue LED indicating that the device is switched on and in Bluetooth mode
6.5 Error (red)
A red LED, as shown in Figure 7 indicates an error. The LED will interrupt it’s normal behaviour to blink red
each time an error message is sent by the device.
Figure 7: Red LED indicating an error
6.6 Low battery and charging (orange)
An orange LED, as shown in Figure 8 on the next page indicates either a low battery the device is switched on,
or the charging status if the device is switched off. The LED will interrupt it’s normal behaviour to blink orange
once a second to indicate that the battery is low. If the device is switched off and USB power is connected
then the LED will remain solid while the device is charging and blink once every four seconds once charging
is complete.
16

x-IMU3 User Manual v0.11
April 6, 2022
Figure 8: Orange LED indicating low battery or charging status
6.7 User control
The LED can be controlled by the user using the strobe and colour commands. See Section 8.1.12 on page 20
and Section 8.1.13 on page 20 for more information.
7 Data logger
The device can function as a stand-alone data logger by streaming real-time data to a file on the micro SD
card. Files created by the data logger use the .ximu3 extension and can be downloaded from the device to be
converted to Comma-Separated Values (CSV) files using the product software.
The data logger will create a new file in the “Data Logger” directory on the micro SD card each time logging
starts. The data logger will never overwrite data. If the micro SD card becomes full then the data logger will
stop and the device will indicate an error.
7.1 Start and stop
The data logger is enabled or disabled in the device settings. If the data logger is enabled then logging will
start when the device is switched on and stop when the device is switched off. Alternatively, an application
can start and stop logging remotely by enabling and disabling the data logger while the device is switched on.
Logging will stop automatically when a Universal Serial Bus (USB) host is connected or when a Hypertext
Transfer Protocol (HTTP) client connects. The data logger will start again when the USB host is disconnected
or when the HTTP client disconnects. Connecting USB power alone will not stop logging.
7.2 File name
The file name format is “prefix YYYY-MM-DD hh-mm-ss CCCC.ximu3” where where ”prefix” is a user-defined
label configured in the device settings, “YYYY-MM-DD hh-mm-ss” is the time that the file was created, and
“CCCC” is a counter. If the prefix is left blank then the device serial number will be used with the format
“XXXX-XXXX-XXXX-XXXX”. The time and counter parts of the file name can be individually enabled or
disabled in the device settings. For example, if the counter was disabled and the prefix left blank for a device
with the serial number “0123-4567-89AB-CDEF” then a file created at 3.30 p.m. on January 20, 2025 would
have the name “0123-4567-89AB-CDEF 2025-01-20 15-30-00.ximu3”.
The counter is a four digit number between 0000 and 9999 that increments each time it is used. If a file name
using the counter already exists then the counter will increment until the file name is available. Incrementing
beyond 9999 will cause the counter to wraparound to 0000. If the counter part of the file name is disabled and
the file name already exists then the counter will used automatically to create an available file name.
17

x-IMU3 User Manual v0.11
April 6, 2022
7.3 File contents
The contents of the file is a byte stream as per the communication protocol described in Section 8. Each file
starts with a preamble of the following messages, in order.
1. Ping response
2. Write time command
3. Write setting command for each setting
8 Communication protocol
All communication interfaces use the same communication protocol. The byte stream is therefore identical
for USB, serial, Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Bluetooth, and the files
created by the data logger. The communication protocol consists of two message types:
·Command messages
·Data messages
All messages are terminated by a Line Feed (LF) control character. This termination byte will not appear
anywhere else in a message and so can be used to divide a byte stream into individual messages. Some
messages are terminated with an additional Carriage Return (CR) control character. Table 10 describes the
different ways that the control characters LF and CR may be referred to throughout this document.
Control character Abbreviation String Hex Decimal
Line Feed LF “\n” 0x0A 10
Carriage Return CR “\r” 0x0D 13
Table 10: Control characters LF and CR representations
The first byte of a message indicates the message type. Command messages start with the character “{”
(0x7B in hex, 123 in decimal). Data messages start with either an uppercase character or a byte value
greater than 0x80 (128 in decimal) depending on the message.
8.1 Command messages
Command messages are sent to the device to read and write settings and execute commands. All command
messages are a JavaScript Object Notation (JSON) object containing a single key/value pair, terminated by
the control character sequence: CR, LF. The control character LF must not appear anywhere else in a
command message. The device will acknowledge each received command message by sending a command
message with the same key to the host.
The key used by command messages sent to the device is not case sensitive and can use non-alphanumeric
characters arbitrarily. For example, “serialNumber”, “Serial Number”, and “serial number” are all valid keys
for a command message to read the device serial number. The key used by the acknowledgement command
message sent from the device to the host will always be in camel case. For example, “serialNumber”.
8.1.1 Read setting command
The read setting command is sent to the device to read a setting value. The key is the setting key and the
value is null. See Section 11.1 on page 33 for a complete list of settings. The device will acknowledge a read
setting command by sending a write setting command to the host.
Example: {"serialNumber":null}\r\n
18

x-IMU3 User Manual v0.11
April 6, 2022
8.1.2 Write setting command
The write setting command is sent to the device to write a setting value, or sent from the device to the host
in response to a read setting command. The key is the setting key and the value is the setting value. See
Section 11.1 on page 33 for a complete list of settings. The device will acknowledge a write setting command
by sending a setting write command back to the host, indicating the new settings value. The device will not
apply new settings until two seconds after the most recent write setting command or default command was
received.
Example: {"deviceName":"x-IMU3"}\r\n
8.1.3 Default command
The default command is sent to the device to set all settings to default values. The key is “default” and the
value is null. The device will not apply new settings until two seconds after the most recent write setting
command or default command was received.
Example: {"default":null}\r\n
8.1.4 Apply command
The apply command is sent to the device to apply all settings. The key is “apply” and the value is null. This
command can be sent after a write setting or default command to apply settings immediately instead of after
a two second delay.
Example: {"apply":null}\r\n
8.1.5 Save command
The save command is sent to the device to save all settings to Electrically Erasable Programmable Read-Only
Memory (EEPROM). The key is “save” and the value is null. The command acknowledgement will not be sent
until the save is complete. This may take up to 300 milliseconds. The save command is unnecessary in most
applications because the device will automatically save all settings on shutdown.
Example: {"save":null}\r\n
8.1.6 Read time command
The read time command is sent to the device to read the date and time of the RTC. The key is “time” and
the value is null. The device will acknowledge a read time command by sending a write time command to the
host.
Example: {"time":null}\r\n
8.1.7 Write time command
The write time command is sent to the device to write the date and time of the RTC, or sent from the device
to the host in response to a read time command. The key is “time” and the value is a string expressing
the date and time in the format “YYYY-MM-DD hh:mm:ss” where each delimiter can be any non-numerical
character. The device will acknowledge a write time command by sending a write time command back to the
host, indicating the new date and time.
Example: {"time":"2020-01-01 00:00:00"}\r\n
19

x-IMU3 User Manual v0.11
April 6, 2022
8.1.8 Ping command
The ping command is sent to the device to trigger a ping response. The key is “ping” and the value is null.
The device will acknowledge a ping command by sending a ping response to the host.
Example: {"ping":null}\r\n
8.1.9 Ping response
The ping response is sent from the device to the host in response to the ping command. The key is “ping” and
the value is a JSON object containing three key/value pairs indicating the communication interface, device
name, and device serial number. The keys are “interface”, “deviceName”, and “serialNumber”, respectively
and all values are string types.
Example*:{"ping": {
"interface": "USB",
"deviceName": "x-IMU3",
"serialNumber": "0123-4567-89AB-CDEF"
}
}\r\n
* The actual JSON will not include any whitespace.
8.1.10 Reset command
The reset command is sent to the device to reset the device. The key is “reset” and the value is null. A reset
is equivalent to switching the device off and then on again. The device will reset two seconds after receiving
this command.
Example: {"reset":null}\r\n
8.1.11 Shutdown command
The shutdown command is sent to the device to switch the device off. The key is “shutdown” and the value is
null. The device will shutdown two seconds after receiving this command.
Example: {"shutdown":null}\r\n
8.1.12 Strobe command
The strobe command is sent to the device to strobe the LED bright white for 5 seconds. The key is “strobe”
and the value is null. This command can be used to quickly find a specific device when using multiple devices.
Example: {"strobe":null}\r\n
8.1.13 Colour command
The colour command is sent to the device to set the LED colour. The key is “colour” or “color” and the value
is either a Red Green Blue (RGB) hex triplet expressed as a string, or null. Setting the colour will override the
normal LED behaviour. A value of null will restore the normal behaviour.
Example: {"colour":"FFFFFF"}\r\n
20
Other manuals for x-IMU3
2
Table of contents
Other X-IO Measuring Instrument manuals
Popular Measuring Instrument manuals by other brands

Extech Instruments
Extech Instruments FM300 user manual

Thermo Scientific
Thermo Scientific Orion Star A210 Series manual

SMA
SMA STRING-MONITOR SSM-U-2410 technical information

Siemens
Siemens Opdima MAMMOMAT 1000 Installation and start-up instructions

Welker
Welker ALS-1 Installation, operation & maintenance manual

Jolly logic
Jolly logic ALTIMETERONE How to use

Agilent Technologies
Agilent Technologies 1664A Service guide

Endress+Hauser
Endress+Hauser LT5 operating instructions

cobas
cobas Accutrend plus Quick reference guide

Electroswitch
Electroswitch 25-1000 quick start guide

Keithley
Keithley 485 Quick reference guide

Phenix Technologies
Phenix Technologies 400P user manual