Long time since my last post!

I'm glad to announce the new ArduIMU V3 that will take the place of the very successful ArduIMU v2 (flat version). We called it flat version because ArduIMU V2 was created in a time where 3 axis and even 2 axis gyros were not so common and we had to place some of the gyros vertically. Good times... 


ArduIMU v2 was the first low cost IMU that had gyros that allowed me to keep it flat, but they were bulky and expensive. I had to use two gyro chips for the XYZ axis, another for the three axis acceleration and you had to place the magnetometer externally. Another "disadvantage" was that all the sensors (but the mag) were analog, by default limited to 10-bits and required all the analog inputs in order to read them and you were also limited by the default filtering configuration and other noisy issues. 


All the limitation we had with ArduIMU V2 are all gone with the V3. ArduIMU V3 features the new MPU-6000, that includes 3 axis gyros & accells built-in and process everything internally that is some kind of dual core power (24-bits ADC sampling and sensor fusion is handled inside the MPU), the latest 3 axis I2C magnetometer HMC-5883L and the classic but very robust Arduino Atmega328 running at 16Mhz... 



MPU-6000 uses SPI for max performance. Did I say user configurable low pass filtering and scale range? Hell yeah... and here are some of the other specs:

  • Digital-output of 6 or 9-axis MotionFusion data in rotation matrix, quaternion, Euler Angle, or raw data format
  • Tri-Axis angular rate sensor (gyro) with a sensitivity up to 131 LSBs/dps and a full-scale range of ±250, ±500, ±1000, and ±2000dps
  • Tri-Axis accelerometer with a programmable full scale range of ±2g, ±4g, ±8g and ±16g
  • Reduced settling effects and sensor drift by elimination of board-level cross-axis alignment errors between accelerometers and gyroscopes
  • Digital Motion Processing™ (DMP™) engine offloads complex MotionFusion, sensor timing synchronization and gesture detection
  • MotionApps™ Platform support for Android, Linux, and Windows, with Windows Phone platforms on the roadmap
  • Digital-output temperature sensor
  • Digital input on FSYNC pin to support video Electronic Image Stabilization and GPS
  • Programmable interrupt supports gesture recognition, panning, zooming, scrolling, free fall interrupt, high-G interrupt, zero-motion detection, tap detection, and shake detection
  • Full Chip Idle Mode Supply Current: 5µA
  • On-chip timing generator with ±1% frequency variation over full temperature range
  • User self test
  • 10,000g shock tolerant

Other ArduIMU V3 features:

  • Pin compatible with ArduIMU V2.
  • Breadboard compatible (ArduIMU V2 was not!).
  • Cheaper price (around $60 $78dlls, not confirmed).. 
  • Smaller size (1.5" x 1.0").
  • Atmega CPU has more % available for other tasks.  
  • The 6 analog pins are now available!
  • Arduino compatible and open source.
  • 3 status LED's (RGB).
  • I2c port with 3.3V translation.   
  • GPS port with FTDI autoswitch. 
  • This device is suitable for ANY application from rockets to simple movement detection.



The release date is estimated to be in two-three weeks. We are waiting for the final big batch and finish some code. We will take pre-orders soon.   


We also cooking BIG new goodies that will be announced also this month... =) 


[UPDATE 11/15/2011]: You can buy it now check this post: http://diydrones.com/profiles/blogs/arduimu-v3-ready-for-pre-order-...


Views: 22956

3D Robotics
Comment by Lorenzo@StoreDIYDrones on November 30, 2011 at 11:15am

@Yusuf Onajobi, the boards are available now!

Comment by hamadivo on February 2, 2012 at 7:36am


i'm looking for MPU-6000 SPI version, where i can buy it (Europe)?


Comment by David Stasuk on April 11, 2012 at 1:37pm

Hi guys I'm new here, but need to have a question answered.

Basically I am not building a UAV, I'm making a ONE WHEEL BALENCING ROBOT, similar to the Honda U3-X. So the wheel can travel in every direction by having smaller wheels along the circumference of the main wheel, which can turn and allow for side to side travel. I am using ArduIMU V3 because of the nice open source DCM sensor fusion and built on arduino compatible uC. Basically I have to produce differential signals to my wheel motors (on both sides of the wheel) to have it correct for the "fall angle" in the XY plane. I have the signals being produced properly, so this part is working fine.

My problem is that I am using a RoboClaw dual 30A motor driver and they use a modified version of the SoftwareSerial library included in Arduino 1.0 to communicate (I am of course using the older arduino 0023 for compatibility with this code).

From what I can tell we are using the SPI library to communicate with the MPU6000 and the Wire library (I2C) to communicate with the magnetometer and the FastSerial library to communicate with the GPS.

I am getting a compiler error because there is two definitions for the serial library the FastSerial and the modified SoftwareSerial needed by my motor driver.

So correct me if I am wrong but as I do not need the GPS, can I remove the FastSerial library and associated GPS code or is this library used for anything else?

I have to get this working ASAP for school, so any help would greatly appreciated.


Comment by Ahmed Hussein on April 14, 2012 at 4:40pm

plz i want to read Arduimu V3 o/p data on my arduino uno >> can any one help me ?

Comment by Marco Ricci on October 20, 2012 at 1:43am

Hi every body,


I'm a newbee and sorry in advance for this question.


When I try to upload the program into the ArduIMU V3, I obtain the following things :

  • Yellow led binks 2 time
  • Blue and Red blink together 1 time


In the Arduino software, there no ending message until I disconnect the USB cable from the Arduino IMU V3 and get the message "avrdude: stk500_getsync(): not in sync: resp=0xbc"

I set the Board as "Arduino Duemilanove  w/ATmega 328"


The FTDI cable is the DIYDrones FTDI Cable - TTL-232R-3V3 http://store.diydrones.com/FTDI_Cable_3_3V_p/ttl-232r-3v3.htm


I'm under Windows 7 and I choose Xon/Xoff and tick the RTS check box in the port configuration panel.


Verbose output gives :

Version 5.11, compiled on Sep  2 2011 at 19:38:36

Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "C:\Users\Marco\Documents\Arduino\arduino-1.0.1-windows\arduino-1.0.1\hardware/tools/avr/etc/avrdude.conf"

Using Port                    : \\.\COM5

Using Programmer              : arduino

Overriding Baud Rate          : 57600

avrdude: Send: 0 [30]   [20]

avrdude: Send: 0 [30]   [20]

avrdude: Send: 0 [30]   [20]

avrdude: Recv: . [be]

avrdude: stk500_getsync(): not in sync: resp=0xbe


If I use the Serial Monitor to check the connection, I can read the default loaded software result when I use115200 baud.

Thanks in advance for your help, Marco.

Comment by Ben Schmidtke Jr on November 30, 2012 at 4:38pm

The ArduIMU V3 test program looks like it will display data from the BMP085 pressure sensor. But the IMU code doesn't appear to put the data into the binary output. What is the format for the packet that should be used (or doesn't the test program really handle it)?


You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service