Upgrade any Feather board with precision motion sensing with the ST 9-DoF IMU, an all-in-one sensing 'Wing. It sports two fantastic sensors from ST to provide 9 degrees of full-motion data.
The ST ISM330DHCX is an industrial quality Accelerometer+Gyroscope 6-DOF IMUs (inertial measurement unit). This IMU sensor has 6 degrees of freedom - 3 degrees each of linear acceleration and angular velocity at varying rates within a respectable range. For the accelerometer: ±2/±4/±8/±16 g at 1.6 Hz to 6.7KHz update rate. For the gyroscope: ±125/±250/±500/±1000/±2000/±4000 dps at 12.5 Hz to 6.7 KHz. In particular, this is one of the few gyro's we stock with 4000 dps range, usually they top out at 2000. This sensor has extra calibration and compensation circuits to give it excellent performance in a wide environmental range from -40 to +105°C. Most other IMU sensors don't have industrial temperature ranges or have wide accuracy variation as the temperature changes. The accelerometer and gyroscope also are on the same silicon die, which will keep the 6 measurements synchronized better than when the two sensors are on separate dies.
There are also some nice extras, such as built-in tap detection, activity detection, pedometer/step counter and a programmable finite state machine / machine learning core that can perform some basic gesture recognition.
It also includes a LIS3MDL 3-axis magnetometer that can sense where the strongest magnetic force is coming from, generally used to detect magnetic north. The three triple-axis sensors add up to 9 degrees of freedom, by combining this data you can orient the board. Check out this guide on how to do that!
Both sensors are connected over the shared I2C bus, so you can use it with any and all Feathers! It also breaks out the interrupt pins and address-selection jumpers in case you want multiple Feathers or have I2C address conflicts. Adafruit have got both Arduino (C/C++) and CircuitPython libraries available so you can use it with any Feather board and get data readings in under 5 minutes. Four mounting holes make for a secure connection.
Additionally, since it speaks I2C you can easily connect it up with two wires (plus power and ground!). They've even included SparkFun qwiic compatible STEMMA QT connectors for the I2C bus so you don't even need to solder! Just wire up to your favorite micro like the STM32F405 Feather with a plug-and-play cable to get 9 DoF data ASAP. You can change the I2C addresses on the back using the solder jumpers, to have two of these sensor boards on one bus.
Adafruit also wrote libraries to help you get these sensors integrated with your Arduino/C++. This library covers the accel/gyro and this library is for the magnetometer.
Check out the learning guide here for more information like schematics, wiring diagrams and code libraries.
TECHNICAL DETAILS
ISM330DHCX Specifications:
Accelerometer ±2/±4/±8/±16 g at 1.6 Hz to 6.7KHz update rate
Gyroscope: ±125/±250/±500/±1000/±2000/±4000 dps at 12.5 Hz to 6.7 KHz
Continuous and single-conversion modes
Advanced pedometer, step detector and step counter
Significant Motion Detection, Tilt detection
Standard interrupts: free-fall, wakeup, 6D/4D orientation, click and double-click
Programmable finite state machine: accelerometer, gyroscope and external sensors
Machine Learning Core
I2C Address 0x6A or 0x6B
LIS3MDL Specifications:
±4/±8/±12/±16 gauss selectable magnetic full scales
Continuous and single-conversion modes
16-bit data output
Interrupt generator
I2C Address 0x1C or 0x1E