MinIMU-9 v3 Gyro, Accelerometer, and Compass (L3GD20H and LSM303D Carrier)
The Pololu MinIMU-9 v3 is an inertial measurement unit (IMU) that packs an L3GD20H 3-axis gyro and an LSM303D 3-axis accelerometer and 3-axis magnetometer onto a tiny 0.8″ × 0.5″ board. An I²C interface accesses nine independent rotation, acceleration, and magnetic measurements that can be used to calculate the sensor’s absolute orientation. The MinIMU-9 v3 board includes a voltage regulator and a level-shifting circuit that allows operation from 2.5 to 5.5 V, and the 0.1″ pin spacing makes it easy to use with standard solderless breadboards and 0.1″ perfboards.
|Description||Specs (8)||Pictures (7)||Resources (16)||FAQs (1)||On the blog (8)|
L3GD20H datasheet (3MB pdf)
Datasheet for the ST L3GD20H three-axis digital-output gyroscope.
LSM303D datasheet (1MB pdf)
Datasheet for the ST LSM303D 3D accelerometer and 3D magnetometer module.
UM10204 I²C-bus specification and user manual (1MB pdf)
The official specification for the I²C-bus, which is maintained by NXP.
MinIMU-9 v3 schematic diagram (190k pdf)
Printable schematic diagram of the MinIMU 9 v3.
MinIMU-9 v3 Gyro, Accelerometer, and Compass (L3GD20H and LSM303D Carrier) drill guide (22k dxf)
This DXF drawing shows the locations of all of the board’s holes.
L3G Arduino library
This is a library for the Arduino that interfaces with our L3GD20H and L3GD20 3-axis gyro carriers as well as the gyros on the MinIMU-9 v3 and AltIMU-10 v3 (it also works with older versions of those boards, some of which used the L3G4200D and the L3GD20). It makes it simple to configure the device and read the raw gyro data.
LSM303 Arduino library
This is a library for the Arduino that interfaces with our LSM303D, LSM303DLHC, and LSM303DLM 3D compass and accelerometer carriers as well as the compass and accelerometer ICs on the MinIMU-9 v3 and AltIMU-10 v3 (it also works with older versions of those boards, some of which used the LSM303DLH and LSM303DLHC). It makes it simple to configure the device and read the raw accelerometer and magnetometer data, and it has a function for computing the tilt-compensated heading for those looking to use the LSM303 as a tilt-compensated compass.
MinIMU-9 + Arduino AHRS
This Arduino program (sketch) allows an Arduino connected to a MinIMU-9 v5 or AltIMU-10 v5 (or older versions of those boards) to function as an attitude and heading reference system, calculating estimated roll, pitch, and yaw angles from sensor readings that can be visualized with a 3D test program on a PC. It is based on the work of Jordi Munoz, William Premerlani, Jose Julio, and Doug Weibel.
Visualization of AHRS orientation calculated from MinIMU-9 readings.
minimu9-ahrs software for Raspberry Pi
This is a program for reading sensor data from Pololu IMU boards over I²C. It was written for and tested on the Raspberry Pi, but it will probably also work on similar embedded Linux boards that support I²C.
Pololu_Open_IMU by mikeshub
This customer-submitted Arduino program (sketch) is similar to our MinIMU-9 + Arduino AHRS except it uses the Madgwick algorithm. It outputs pitch, yaw, and roll angles.
Orientation sensing with the Raspberry Pi and MinIMU-9 v2
This project explains how to connect our MinIMU-9 v2 (or AltIMU-10) sensor board to a Raspberry Pi and use it to sense orientation. It includes a video, wiring instructions, and code.
Using the L3GD20 gyroscope in control systems
This is a YouTube playlist by control systems lecturer Brian Douglas that uses the L3GD20 MEMS gyroscope. It describes the fundamentals of the gyro and how to use it for closed and open loop control projects with MATLAB/Simulink and Arduino.
ascii_graph by drewtm
This sketch outputs a text-based graph of LSM303 accelerometer and L3G gyro data, providing a quick way to check whether the sensors are working as expected.
MinIMU-9 v2 connected to 3ds Max in real time
A MinIMU-9 v2 is connected to an Arduino Uno to interact in real time with 3ds Max. This 3ds Max MinIMU-9 tutorial (5MB zip) includes source code, 3ds Max files, and step-by-step instructions. By Nippur, August 2012.
Example LSM303D Python v2 script for Raspberry Pi
This Python v2 example for the Raspberry Pi reads and prints the accelerometer and magnetometer data from the LSM303D 3D Compass and Accelerometer Carrier.
RTIMULib IMU library for embedded Linux systems
RTIMULib is a library for embedded Linux systems designed to make it easy to interface with an IMU and get Kalman-filtered orientation estimates. It works with our MinIMU-9 v3, AltIMU-10 v3, and AltIMU-10 v4 (as well as the older MinIMU-9 v2 and AltIMU-10), and it includes two demo programs that aid in testing and calibrating the sensors. Instructions are provided for setting up RTIMULib on a Raspberry Pi.