AltIMU-10 Gyro, Accelerometer, Compass, and Altimeter (L3GD20, LSM303DLHC, and LPS331AP Carrier)
The Pololu AltIMU-10 is an inertial measurement unit (IMU) and altimeter that features the same L3GD20 gyro and LSM303DLHC accelerometer and magnetometer as the MinIMU-9 v2, and adds an LPS331AP digital barometer. An I²C interface accesses ten independent pressure, rotation, acceleration, and magnetic measurements that can be used to calculate the sensor’s altitude and absolute orientation. The board operates from 2.5 to 5.5 V and has a 0.1″ pin spacing.
Description | Specs (8) | Pictures (7) | Resources (18) | FAQs (1) | On the blog (3) |
---|
File downloads
-
AltIMU-10 schematic diagram (193k pdf)
Printable schematic diagram for the AltIMU-10 gyro, accelerometer, compass, and altimeter (L3GD20, LSM303DLHC, and LPS331AP carrier).
-
L3GD20 datasheet (2MB pdf)
Datasheet for the ST L3GD20 three-axis digital-output gyroscope.
-
LSM303DLHC datasheet (1MB pdf)
Datasheet for the ST LSM303DLHC 3D accelerometer and 3D magnetometer module.
-
LPS331AP datasheet (453k pdf)
Datasheet for the ST LPS331AP MEMS pressure sensor.
-
AN4159: hardware and software guidelines for the LPS331AP (663k pdf)
Application note from ST with hardware and software guidelines for use of the LPS331AP pressure sensor.
-
UM10204 I²C-bus specification and user manual (1MB pdf)
The official specification for the I²C-bus, which is maintained by NXP.
Recommended links
-
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.
-
LPS Arduino library
This is a library for the Arduino that interfaces with our LPS22DF, LPS25HB, LPS25H, and LPS331AP pressure/altitude sensor carriers as well as the pressure sensors on the various AltIMU-10 modules, which can be found here. It makes it simple to read the raw pressure data from the sensor, and it provides functions to help calculate altitude based on the measured pressure.
-
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.
-
LPS331AP pressure sensor test flight
A blog post by Pololu president Jan Malášek about testing the LPS331AP pressure sensor as an altimeter in an airplane.
-
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.