Complementary Filtering High Res Barometer and Accelerometer for Reliable Altitude Estimation

Submitted by fabio on Mon, 2012-09-17 17:59.

This is a simple example of some of the stuff I've been working on recently. This is a demonstration of the soon to be released filtering capabilities of the FreeIMU library using the FreeIMU v0.4.3 as sensor board.

The sensor fusion algorithm estimates the orientation of the board and from that an estimation of the dynamic acceleration is computed by subtracting the gravity from the accelerometer readings. The dynamic acceleration is the fused with the high resolution barometer readings coming from the MS5611 through a complementary filter.

The result, as seen in the graphs is an extremely reliable altitude estimation which can go up to 5-10 cm of precision with almost immediate response to motion.

Graphs programmed in python with pyqtgraph.

Drift-free attitude and heading estimation with the new FreeIMU library calibration routine

Submitted by fabio on Tue, 2012-07-31 15:15.

The problem of missing calibration routines for the FreeIMU has been bothering me for a long time.. I was aware of many approaches to the problem but simply never been able to work on it.

Thanks to the help of Andrea and Pasquale Cirillo which provided me with some calibration code based upon the "infamous" AN3192 from ST Microsystems, I've been able to embed everything into a nice calibration procedure for the FreeIMU library.

The results are very promising, as you should see from the video below. Code is available on the FreeIMU repository and will be published in the next version of the FreeIMU library.

Posted in:

An USB Inertial Mouse with FreeIMU and Arduino Leonardo in 10 lines of code

Submitted by fabio on Mon, 2012-07-23 18:20.

Today the Arduino team officially presented the Arduino Leonardo with a video from Massimo Banzi, while it's been a while that the board has been launched and available for sale.

I really like the Arduino Leonardo and I'm already using it in some projects.. today however, I decided to make a simple little example program which shows the potential of the Arduino Leonardo.

I connected one of my FreeIMU to the Leonardo, wrote a bunch of lines of code and then, I had a simple USB inertial mouse! The code for this example is attached below.

Here is a video demonstration and a little explanation on how it works!
Kudos to the Arduino team for this great board!

Inside an MS5611 high resolution barometer

Submitted by fabio on Thu, 2012-07-19 13:32.

During the tests of the last FreeIMU v0.4.3 batch, which are now available for sale on our online shops, I found out that a faulty MS5611 lost its plastic white package allowing to see what's inside of it.. I took a picture of it using my USB microscope, looks interesting!

Unfortunately, I've been only able to shoot at 20x magnification as I then cracked the inside when trying to shoot at 400x. Maybe next time.

MS5611 picture of the inside

Posted in:

Using FreeIMU or the FreeIMU library in a research project? Please let me know!

Submitted by fabio on Tue, 2012-07-17 15:22.


I'm currently writing a paper for TEI 2013 about the FreeIMU and the FreeIMU library as well as all the prototyping they enable.

The FreeIMU has been already used in quite some nice research/educational projects! Here are some:

So, are you using FreeIMU in a research project? Please let me know! I'll be happy to cite your work in my paper! You can reach me on my mail: fvaresano [at] yahoo [dot] it

Thanks :-)

Posted in:

New FreeIMU batch "almost" ready...

Submitted by fabio on Wed, 2012-07-11 18:40.

I only need to test each one of them.. ouch.. :-)

FreeIMU July 2012 Batch

Posted in:

FreeIMU with Arduino FIO over Xbee

Submitted by fabio on Wed, 2012-05-16 12:38.

I'm doing my first steps with Xbee/Zigbee, since I'm using it in a project for the Ph.D... to get started with it I decided to do a little orientation sensing prototype. I used an Arduino FIO as brain, connected to an Xbee and one of my FreeIMU.

Here is a picture of the setup:
Arduino FIO with FreeIMU and Xbee

Here is a little video demonstrating the setup.. as you can see it's pretty laggy.. I just using 9600 bauds here, so that's why it lags so much. Of course, configuring the modules for faster speeds and optimizing communication more I don't have doubts that I can get almost real-time tracking.

China clones FreeIMU

Last updated on Thu, 2012-05-10 07:47. Originally submitted by fabio on 2012-05-08 19:19.

Today I discovered that FreeIMU, in particular FreeIMU v0.3.5_BMP, has been cloned by some China people and it is now being sold through goodluckbuy and ebay.

Here are some pictures:

China FreeIMU cloned - top view

China FreeIMU cloned - bottom view

So, what's my reaction to this? Maybe you are thinking that I should be pretty mad about this, that I should report the cloning to ebay, call the police or something like that..

Instead.. I'm very proud of this.

In my opinion, being cloned is something which can occur to anybody on anything nowadays. Chinese are very good at cloning and they are doing that on everything: phones, fashion, art, electronics...

But Chinese they are also very smart. When they decide to clone, they simply go out and clone the best available. So, I consider FreeIMU being copied simply as an undeniable statement of its quality.

Moreover, I released FreeIMU under CC-BY-SA, meaning that selling a copy of FreeIMU or a derivative work from it is perfectly legal. In fact, I always encouraged and supported people in building their own FreeIMU.

Of course, I would have appreciated to be contacted by the Chinese: "Hey, we are going to clone your work and make money out of it, but we'd like to donate a bit to support your work".. but I understand that this isn't a common practice for them.. at least, they decided to keep the original silkscreen with my name and the link to this website.

I just hope that the people manufacturing those board are working safely and without being exploited.. Considering that even Apple can't guarantee on this, I have strong doubts about it.

Posted in:

Hardcore Quadcopter Flying with FreeIMU v0.4.3

Submitted by fabio on Mon, 2012-05-07 11:04.

rtsdrums on Youtube just posted the following video.. simply unbelievable. Great flying skills!

Posted in:

How to connect and test FreeIMU v0.4 with Arduino and the FreeIMU library

Submitted by fabio on Tue, 2012-04-17 10:31.

One of the FreeIMU users, who bought one of our production run FreeIMU boards, shipped me his board as a faulty one. We promptly shipped him a replacement board but when I tested his board I found out that it was working perfectly.

This motivated me enough to record this video (actually using exactly his board) showing you how to correctly connect a FreeIMU board and testing it with the FreeIMU library.