Adafruit's Feathers offers a wide variety of microcontrollers in a compact form factor. Add-on boards, called FeatherWings, extend their functionality. A new FeatherWing adds nine degrees of freedom (DoF) measurements with a pair of STMicro sensors.
The Feather contains an LSM6DSOX and an LIS3MDL, both from STMicro. The LSM6DSOX is an inertial measurement unit (IMU) with an accelerometer and gyroscope, each with three-axis detection. In addition to measuring how fast the board is accelerating or indicating which way is down, it sports features like tap detection, step counting, and a finite state machine usable for basic gesture recognition. The LIS3MDL is a three-axis magnetic sensor. Both sensors communicate by I2C.
Despite the math involved with IMUs, programming with the FeatherWing only takes a few minutes. Adafruit provides examples for both CircuitPython and the Arduino Library. To take advantage of the LSM6DSOX's built-in features, like tap detection, you'll need to get the STM32Duino libraries. These work with the Arduino IDE but require an STM32 microcontroller such as the one found on the Feather STM32F405 Express.
There are two options if you do not have an Adafruit Feather but still want to leverage the FeatherWing's 9-DoF capability. One option is a standalone breakout board, which we previously covered, that has the same two sensors. Or, the FeatherWing has Adafruit's STEMMA-QT connector. It is a JST SH connector with a 1.0mm pitch that contains data and clock for I2C along with VCC and GND. The connector is compatible with SparkFun's Qwiic connector, providing many options for connectivity.
In addition to I2C, there are several signals, such as interrupts, provided by the sensor ICs. These break out to solderable holes on the FeatherWing's, so you can jumper them to whichever pins make sense for your particular Feather.
Add this board to your project by heading over to the LSM6DSOX/LIS3MDL FeatherWing product page on Adafruit's store. They are now available for $14.95.