Adafruit ISM330DHCX + LIS3MDL FeatherWing - High Precision 9-DoF IMU

Product ID: 4569
$29.50
Qty Discount
1-9 $29.50
10-99 $26.55
100+ $23.60

Description

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 our 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! We also break out the interrupt pins and address-selection jumpers in case you want multiple Feathers or have I2C address conflicts. We've 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!).  We'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.

We 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

Revision History:

  • As of February 21, 2024 – We've updated this PCB with Adafruit Pinguin to make a lovely and legible silkscreen - you may get the new PCB or the older version with vector fonts - both are identical other than the fancy silkscreen.
  • As of March 22, 2023 - This FeatherWing now comes with both high and low address setting jumpers on the bottom of the PCB - this is in case you want to skip over the pull resistors to fix the I2C address. We've also updated this PCB with Adafruit Pinguin to make a lovely and legible silkscreen. 

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