9 Degrees of Freedom – IMU

I’m working on a project that requires full orientation information, so I built an Inertial Measurement Unit from scratch. I really like the 9DOF IMU board that Sparkfun makes – the calibration code that comes with it is fantastic – but I wanted to redesign the board so that it could be made at a much lower price using a single-sided PCB mill. I think the electronics come out to about $20 for this project. All the code, schematics, and PCB milling files are up on github (click the cloud-shaped button to download).

Here’s what it does:

9 Degrees of Freedom - IMU



(x1) ITG-3200 3 Axis Gyro Component Distributors Inc ITG-3200 Sparkfun SEN-09793 Newark 37T8091

(x2) 4.7K resistor Digikey P4.7KECT-ND

(x2) 0.1uF capacitor Digikey 1276-1017-1-ND

(x1) 10nF capacitor Digikey 1276-1035-1-ND

(x1) 2.2nF capacitor Digikey 1276-1288-1-ND


(x1) LSM303 3 Axis Accelerometer/Magnetometer Digikey 497-13819-1-ND

(x1) 10uF capacitor Digikey 1276-2876-1-ND

(x1) 0.1uF capacitor Digikey 1276-1017-1-ND

(x1) 4.7uF capacitor Digikey 587-2994-1-ND

(x1) 0.22nF capacitor Digikey 1276-2759-1-ND


(x1) Atmega328P Microcontroller Digikey ATMEGA328P-AURCT-ND

(x1) 10K resistor Digikey P10KECT-ND

(x1) tact switch Digikey SW262CT-ND

(x2) 0.1uF capacitor Digikey 1276-1017-1-ND

(x1) 8MHz resonator Digikey 535-10004-1-ND

(x1) green LED (optional, but will help with debugging) Digikey 160-1404-1-ND

(x1) 1K resistor (optional, but will help with debugging) Digikey P1.0KECT-ND


(x1) 6 pin surface mount ISP header Mouser 649-95278-101A06LF

(x1) 6 pin through hole FTDI header Mouser 571-3-644456-6

(I included two additional rows of through hole headers in my PCB to make mounting the board easier, in this case you will need 3 of the through hole 6 pin headers. This is optional)

READ  PIDDYBOT – A Self Balancing Teaching Tool


(x1) 10uF capacitor Digikey 1276-2876-1-ND

(x1) 0.1uF capacitor Digikey 1276-1017-1-ND

(x1) 1K resistor (optional, but will help with debugging) Digikey P1.0KECT-ND

(x1) red LED (optional, but will help with debugging) Digikey 160-1405-1-ND


(x9) 0 Ohm resistor (jumpers) Digikey P0.0ECT-ND


(x1) 10mil carbide endmill Carbide Depot CU 222737 (for the tiniest features on the board)

(x1) 1/64″ endmill Carbide Depot CU 129974 (for milling out most of the traces)

(x1) 1/32″ endmill Carbide Depot CU 129985 (for cutting out the board)

(x1) FR-1 machinable single sided PCB blank Inventables 24201-02

I used a Roland Modela for the milling, though I believe this could be done on a Shopbot Desktop or similar machine as well.

Other Supplies


soldering iron

heat gun

flux pen



3.3V FTDI cable Digikey 768-1015-ND or board Sparkfun DEV-09873

(you may be able to use an Arduino as an FTDI connector, but I’m not sure this will work with the 8Mhz clock)

ISP programmer (or use an Arduino or make your own6 pin connector and ribbon cable)


For more detail: 9 Degrees of Freedom – IMU

Leave a Comment

= 5 + 3

(Spamcheck Enabled)

Read previous post:
Simulating Logic Gates

Introduction This project is a simple way of using the Arduino to simulate the behaviour of logic gates. Logic gates...

Scroll to top