• EUR€
  • £GBP
  • $USD

Arduino compatible controllers with IMUs Review

DFRobot Dec 11 2012 1101

Have you ever drunk like a pool of mud? How about the feeling? When you’re trying to program your spider robot/helicopter or 2 wheels balancing robot, if you can’t control your robot posture, balance, orientation or movement properly like you want? Do you want your robot running like that? Of course not! Generally speaking, we need to use an IMU module to solve these kinds of problems. An inertial measurement unit, or IMU, is an electronic device that measures and reports on a craft’s or vehicle's velocity, orientation, and gravitational forces, using a combination of accelerometers and gyroscopes, sometimes also magnetometers. IMU modules are widely used for vehicle-installed inertial guidance systems, reporting inertial measurements to a pilot or balancing control, which is at the heart used in the Segway. So how can we select a suitable IMU module for your projects or hobbies!? We’ll recommend three powerful mainstream IMU modules and compare their specification for you!

Products Overview

1.10 degrees of freedom–Flymaple

Arduino compatible controllers with IMUs Review

This is a 10 degree of freedom sensor developed by DFRobot independently. The 10 degrees of freedom – Fly maple board consists of some mainly used sensors: an ITG-3200(triple-axis gyro), ADXL345(triple-axis accelerometer), HMC5883L(triple-axis magnetometer), BMP085(digital barometer). And Fly maple embeds a 72MHz ARM Cortex M3 chip, which based on the STM32F103RB microprocessor. It is provide 39 digital input/output pins, 16 analog inputs, USB, 3 USARTS, SPI/I2C support, integrated 5/3.3V power support, a reset button, and a wide power supply range specially suitable for the helicopters and quadrotors power supply. For programming, the Maple IDE has a friendly interface, which is an Arduino-style, sketch-based programming environment. Of course, it’s also an open source platform.

2.9 degrees of freedom-Razor IMU

Arduino compatible controllers with IMUs Review
9 degrees of freedom-Razor IMU incorporates three sensors: ITG-3200(triple-axis gyro), ADXL345(triple-axis accelerometer), HMC5883L(triple-axis magnetometer). It provides a reset button. It is using an 8MHz ATmega328 chip as main processor. You could connect the Razor IMU to the other controllers for supplying the IMU data. The board comes programmed with the 8MHz Arduino bootloader (stk500v1) and some example firmware that demos the outputs of all the sensors. Simply connect to the serial TX and RX pins with a 3.3V FTDI Basic Breakout, open a terminal program to 57600bps and a menu will guide you through testing the sensors. You can use the Arduino IDE to program your code onto the 9DOF, just select the 'Arduino Pro or Pro Mini  (3.3v, 8mhz) w/ATmega328' as your board.


3.ArduPilot Mege 2.5 Fully Assembled System

Arduino compatible controllers with IMUs Review
ArduPilot Mege 2.5 Fully Assembled System include a digital compass (powered by HMC5883L-TR chip), a GPS on board (MT3329 module), barometric pressure sensor (MS5611-01BA03), comes pre-soldered and tested, one dataflash, no assembly required, allows the user to turn any fixed, easy operate. It embeds two chips on the board (Atmega2560, Atmega32U-2 similar with the design of Arduino mega 2560). Also it directly support the official Arduino IDE.

Performance Analysis:

1.10 degrees of freedom – Flymaple

The Cortex-M3 on 10 degrees of freedom –Fly maple comes pre-programmed with a boot-loader which allowing users to upload new code onto it using the USB interface, without the need of an external circuit or hardware. You can also program the microcontroller directly with an external JTAG interface. There are some problems when you upload codes onto 10 degrees of freedom – Fly maple for the first time, so the author suggests you click the help menu on the DFRobot website first.The data from 10 DOF sensor are processed by the Cortex-M3. And the board extends 6 channels PWM pins for controlling ESC/Servo and 8 channels GPIO for capturing RC receiver output. It allows you to connect your servos, ESC controllers or wireless communication modules easily. Because of the Fly maple insert a powerful microcontroller (72MHz clock speed, 7channels of direct memory access-DMA), so the FlyMaple is powerful enough to handle a complex algorithm and manage a robot motion system at the same time. So it could not just work as a sensor, also a “main brain” for your robot.

2.9 degrees of freedom-Razor IMU

9 degrees of freedom-Razor IMU allows the user to program it via the FTDI interface. Also the data information could be transferred via the FTDI interface. The Razor IMU is pre-programmed with a DCM algorithm. The design of the Razor IMU is small and light, suitable for the weight sensitive applications. This IMU module use an Atmega328 to deal with the output of the three sensors, so the resource of chip is limited. If you want to do a complex operation or need faster speed, they’d better use another controller for your system.

3.ArduPilot Mege 2.5 Fully Assembled System

ArduPilot Mege 2.5 Fully Assembled System is a product which is specially aims to supply a no assembly required for the DIY helicopter and UAV hackers. Its’ main difference between Razor IMu and Flymaple is that it embeds a MediaTek MT3329 GPS 10Hz and Onboard 4 MP Dataflash chip for automatic datalogging. These two functions is really useful for the craft applications. But also it will increase the cost for the controller a little bit. The arduPilot Mega 2.5(using atmega2560 as processor) also extends a bunch of pins for you to extend sensors. And the arduino compatible design makes it easy to use.

Specification Comparison Chart



After the introduction above, I believe most of you guys should have a general understanding of the IMU sensors and these mainstream products. In fact, these three products have their own advantages for different application. For example, Flymaple could extend arduino shields and it’s a high performance controller. And the Razor IMU is a compact 9 DOF sensor. However the Ardupilot Mega 2.5 is born for the helicopter and UAVs, especially because it embeds the GPS and an Onboard 4 MP Dataflash chip. So whatever, the these products are suitable for different environment and applications. Which one do you like best???