My home made 9 DOF IMU and barometric pressure sensor board

My home made 9 DOF IMU and barometric pressure sensor board

Figure: 9 DOF Sensor board right after etching

When I started to gather interest in making a quad copter inspired from open source projects around the world, there was one problem. That is getting the gyro, accelorometer, magnetometer and barometric pressure sensors. All these sesnors are used to keep the quad copter stable in flight and for purposes like altitude hold, heading hold etc. The sensors very small package smd devices, are a bit hard to work with when it comes to DIY. Sparkfun electronics sells the sensors on breakout board, but those seem a bit over priced for me. For example, the ITG3200 gyro break out board was priced at $49.99 when the sensor chip can be purchased at $10 a piece. So I decied to give it a try after reading some tips about DIY smt/smd soldering on the web. I tried hot pan soldering couple of times but it partially burnt the pcb in process making it look very ugly but the sensors worked. Then I moved to toaster oven convection heat soldering and it seems to work much better. I got a cheap convection toaster oven for $29 on last black friday and I am quite happy with it. So here is my latest attempt of smt soldering, which involves making a all-in-one sensor board for my quad copter:

Figure: 9 DOF Sensor board after soldering

Although this process does not always go perfectly fine, I am happy to say that all my sensors worked perfectly fine. Here is it in action within MultiWii configuration tool:

Figure: 9 DOF IMU & Baro sensor reading in MultiWii config

I know my board does not look as good as the manufactured boards with silkscreen and things but it works and I am happy with it as it saves me money to buy more gadgets to play with. Laughing The total cost to make the board included $10 for ITG3200, $8 for BMA180, $8 for BMP085, $3 for HMC5883, the I2C voltage level converter plus other passive parts cost were about $10, which brings the total to roughly around $40. I spent around $10 for shipping for all the components. Still it is much cheaper then buying these sensors as breakout boards from Sparkfun or buying it from eBay for $99 which does not include the 3.3v regulator and I2C level converter.

This board has built-in 3.3v regulator and I2C level converter to use this board directly with a 5v powered arduino or any microcontroller board.

Here the schematic for anyone out there to give this a try, the schematic is based partially on Sparkfun breakout boards schematics, data sheets, and partially on the Free IMU project.


Figure: Second version of the board with corrected circuit for HMC5883L magnetic sensor and smaller board size.

I needed to make a little modification for the HMC5883L magnetic sensor, which has a little bit different application circuit than HMC5843 and HMC5883 version of this sensor.

Here is a short video of the sensor showing the output in MultWii config:

13 thoughts on “My home made 9 DOF IMU and barometric pressure sensor board

  1. Colin MacKenzie

    So did you have to make changes to the MultiWii source code to support the HMC5883? Or did the HMC5843 code work the same?

    The cost between the 5843 and the 5883 is gargantuan! Even though the 5883 is a new chip and better in every way.


  2. Pial

    Colin, the latest version (v1.7) of MultiWii supports HMC5883. However, the only major difference between the HMC5843 and HMC5883 is switched axis. So same code will work for both, but the orientation will be different.

  3. xnaron

    I have been trying to get the HMC5883L working on mine and haven’t been able to get it to read properly. Are you running the HMC5883 or HMC5883L? In the gui does your mag value read the compass heading? ie: when rotating on the yaw axis will the mag value be the compass direction (in degrees) that the board is facing?


  4. xnaron

    Oh…I see you mention that you needed to make a modification for the 5883L version of the sensor. Specifically what did you have to do? A code change or circuit change? I bought a breakout board from ebay… search this ebay item number to see it 260770948278


  5. pial

    Hi Brendin,
    I am using the HMC5883L version of the sensor. The code in MultiWii v1.7 does seem to work. When I rotate the sensor on the yaw axis, the arrow inside the circle in MultiWii config does change direction (visible in the video of my other post about using bluetooth serial module). Are you trying with the MultiWii code? Another thing to note is, if you are using the MultiWii code, your Pitch orientation would be from the header pin side of your breakout board towards the C5 marking on the board.

  6. John

    Thanks – they don’t seem to sell the BMA180 , did you get they elsewhere? Unfortunately shipping costs from multiple sources kills any price benefits!

Leave a Reply

Your email address will not be published. Required fields are marked *

+ 8 = seventeen

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>