Stress testing FreeIMU v0.3.5_MS on flight

Submitted by fabio on Mon, 2011-08-15 11:25.

Our friend Warthox, which is one of the early testers of FreeIMU v0.3.5_MS on his quadcopters platforms, just published an awesome video of his tests with FreeIMU v0.3.5_MS.

The video really stress test FreeIMU on MultiWii stabilization software, doing loops, flips, acro flight, launching the quad, no stick input.. awesome. Thanks Warthox!

Posted in:

EDF-Tricopter with FreeIMU featured on Heli4Fun magazine!

Submitted by fabio on Sat, 2011-08-13 16:28.

My friend Chris Domes from just sent me one copy of this month Heli4Fun Magazine.. and, you know what? His EDF-Tricopter, project powered by MultiWii and FreeIMU v0.2 and v0.3 has a full 5 pages article there!

Awesome work Chris, keep the great projects coming ;-)




Posted in:

My quadcopter! Coming along nicely!

Submitted by fabio on Thu, 2011-08-11 19:51.

So, here it is.. just born.. motors, escs, distribution board and frame all assembled! Funny!

my quadcopter with motors, escs, distribution board and frame all assembled

Posted in:

Getting into the MultiCopter world!

Submitted by fabio on Wed, 2011-08-03 23:32.

I designed FreeIMU for human-computer interaction.. but hey.. a good tool may be used in many different applications. So, it turned out that FreeIMU is actually a pretty good sensor board for using in flying machines, especially on multicopters applications.

Just one year ago, I wasn't experienced at all in all the quadcopter/multicopter stuff but as soon as I published FreeIMU, people from that world got in contact with me.. I think I now have quite some friends from the quadcopter world..

Well, it finally happened that I've been more and more interested in multicopter till almost being passionate about them even if I never flyed one of them..

But then, I went to the flying field with johnxp and I've seen and tried flying one of them.. well.. what can I say? That's awesome!

So, here I am.. two days ago, with the help of johnxp, I bought all the stuff to build my very first quad as well as the radio, battery chargers and miscellaneous stuff.

So, here is what will be my setup:

What do you expert quadcopters pilots think about it?

100 MS5611-01BA01: aren't them just sexy?

Submitted by fabio on Wed, 2011-08-03 14:57.

Just put out from their package. 100 MS5611-01B01 high resolution pressure sensor. Sexy!

100 MS5611-01BA01

Posted in:

Arduino Pro Mini and FreeIMU v0.3.5 flight controller

Submitted by fabio on Sun, 2011-07-24 10:46.

This is a picture of the flight controller Tilman from has been able to assemble using an Arduino Pro Mini and FreeIMU v0.3.5 (version without barometer). The full article is available in German here.

Awesome work!

Arduino Pro Mini and FreeIMU v0.3.5 flight controller

Posted in:

MPU6000 and MPU6050 delayed again!

Submitted by fabio on Wed, 2011-07-13 16:39.

Bad news for those who were waiting for the MPU6000 and MPU6050 from Invensense., the Invensense's EU distributor of has just notified their customers on list for the MPU60X0 sensors, thus also myself, that:

Dear customers,

Macnica received the updated situation of MPU-6000 and MPU-6050 deliveries from InvenSense.

We have been informed that MPU-6000 and MPU-6050 will have to be pushed out once again:

MPU-6000 25nd of August

MPU-6000 Eval board 25nd of August

MPU-6050 10th of August

MPU-6050 Eval board 10th of August

We all expected to receive the goods as soon as possible in order to arrange the deliveries to our customers within the shortest possible period of time.

We kindly ask for your understanding and are thankful for your patience.

Best regards,

Macnica GmbH

This delays has been going on for at least 6 months now, while Invensense continue marketing their wonderful sensors but still keeping delaying them.. the question which arises, at least in my head, is.. do they really have what they are promising?

We will know.. Meanwhile, fortunately there are already very good solutions for orientation sensing.

A picture of FreeIMU v0.3.5_MS

Submitted by fabio on Mon, 2011-07-11 09:24.

This is one of the very first FreeIMU v0.3.5_MS I assembled during the past weekend. This is probably one of my best soldering work and PCB design.

FreeIMU v0.3.5_MS

Simple gravity compensation for 9 DOM IMUs

Submitted by fabio on Wed, 2011-07-06 15:12.

An accelerometer is subject to dynamic (or external) and static (gravity) accelerations (see my thesis, chapter 5.1). This means that whenever you are interested in measuring dynamic accelerations rather than gravity you have to compensate for gravity.

I implemented a very simple approach for doing so, assuming that you have a 9 degrees of measurement inertial measurement unit as my FreeIMU, from which you are able to compute its orientation quaternion representing the orientation of the Earth frame with respect to the Sensor frame and that you have the readings coming from the accelerometer.

This is the code, implemented in Python:

# compensate the accelerometer readings from gravity. 
# @param q the quaternion representing the orientation of a 9DOM MARG sensor array
# @param acc the readings coming from an accelerometer expressed in g
# @return a 3d vector representing dinamic acceleration expressed in g
def gravity_compensate(q, acc):
  g = [0.0, 0.0, 0.0]
  # get expected direction of gravity
  g[0] = 2 * (q[1] * q[3] - q[0] * q[2])
  g[1] = 2 * (q[0] * q[1] + q[2] * q[3])
  g[2] = q[0] * q[0] - q[1] * q[1] - q[2] * q[2] + q[3] * q[3]
  # compensate accelerometer readings with the expected direction of gravity
  return [acc[0] - g[0], acc[1] - g[1], acc[2] - g[2]]

The idea behind this is pretty simple. With the quaternion we can compute the expected direction of gravity and then subtract that from the accelerometer readings. The result is the dynamic acceleration.

I'm sure that there could be a better solution but this is just the result of a 10 minutes coding and seems working pretty good.

Posted in:

Etching an Arduino Shield PCB: step by steb video guide

Submitted by fabio on Fri, 2011-06-24 12:58.

In this video I documented how I'm using Press and Peel blue sheets for toner transfer PCB etching for an Arduino Shield PCB. The video covers all the steps in the procedure somehow explained in my awful English.

Posted in: