Octorotor ~ Hardware
22 December 2010 | No Comments »Arduino Fio
The main octorotor processor is an Arduino Fio, running an AtMega328 at 8MHz; the Arduino Fio has an Xbee socket on its back side, which is indeed being used for wireless communication with a 1mW Xbee.
The great advantage for working with the Arduino Fio is that it can download code and run it both wirelessly, making software development and debugging seamless.
The major limitation for my specific application with this board is communication; the Fio has only one hardware serial for the Xbee, so I used a software serial library to have the capability to communicate to my Inertial Measurement Unit (IMU).
In order to learn how to set up the Fio wireless programming : http://arduino.cc/en/Main/ArduinoBoardFioProgramming
Note: at some point during the Xbee setup ,while using X-CTU, I screwed up and downloaded the wrong firmware version, which locked the Xbee in this limbo state. I thought I had broken it for good, but before smashing my head against the nearest wall I decided to check the tubes…
After reading through some forums I found out one solution is to disconnect the Xbee ( I mean, UNPLUG THE CABLE) in the middle of the download, and try again. I don’t guarantee it, but this worked like a charm for me.
IMU
The inertial measurement unit is the octorotor’s major feedback sensor input.After a good share of research I decided on the SFE 9DOF Razor IMU, this seemed like the optimal solution because for $125 I was able to have access to:
- LY530ALH – 300°/s single-axis gyro
- LPR530ALH – 300°/s dual-axis gyro
- ADXL345 – 13-bit resolution, ±16g, triple-axis accelerometer
- HMC5843 – triple-axis, digital magnetometer
- AtMega 328 – programmable microprocessor
Having the AtMega 328 means I can implement my Kalman filter on the IMU itself, and only communicate the filtered pitch, roll and yaw over the software serial to the Arduino Fio.
In order to program the board all you need is:
- FTDI 3.3V Basic Breakout board ~ http://www.sparkfun.com/products/9873
- Arduino’s Sketch software (open the board as a Arduino Pro or Pro Mini 3.3V 8MHz)
- And the base code: http://code.google.com/p/sf9domahrs/downloads/list
SparkFun Electronics (SFE), is an amazing source of DIY goods; they offer a vast amount of breakout boards for a huge variety of sensors and components. If you need a place to buy your parts, I would strongly recommend starting at:








