Quadrocopter MultiWii Arduino Mega Shield

In order to use GPS, an Arduino Mini is not sufficient, it needs a second serial interface. This is provided by the Arduino Mega.

In order to keep the cost low, I used the old Arduino Mega 1280. It is available via Ebay (topengineer1986) for about 21 EUR inclusive shipping.

The following sensors should be placed on the low cost shield board:

Further support is integrated for:

Board Layout

The shield board was designed from the AeroQuad MegaShield board example (Eagle files).

The used acceleration Sensor BMA180 is a little better than the BMA020 (see Link), but the BMA020 has the better price/performance ratio. And the board from ELV has a built in LLC. Therefore I put it on the shield board.

The BMA020 board has a 2.5 V regulator on board. This voltage will also be applied to the other sensors, Magnetometer and Barometer. The ITG3205 on the WiiMotionPlus board does have its own regulator of 2.8 V. From the data sheets you can see that all sensors are capable to allow 400 KHz for the I2C bus. The level shifter on the BMA020 board shift the I2C signals to 5V for the CPU. So, the internal pull ups of the CPU can be used.

Layout Specialties (Eagle 5)

On the Bottom side is a GND Polygon frame, it is included in the routing.

On the Top side the GND Polygon frame must be drawn AFTER routing, then actuate Ratsnest for GND filling. Otherwise the auto routing will generate more vias. In case of a layout change, the Top GND polygon frame must be deleted first, and replaced as a last step.

Using the CAM output select EPS device for further processing. Height will be 3 inch, width 3.5 inch. Deselect "Pad filling", and in case of the Top layer select "mirror". As layers select 1/16 Top/Bottom and 17 Pads and 18 Vias only.

As the next step copy and paste the EPS files into a Libre Office document. In order to avoid unwanted copper etching, place filled black rectangles around your layout. Because the print dialog in Libre Office is not so sophisticated, output a PDF file. Unfortunately the PDF export from Libre Office does not show the EPS images, so print in a PDF file. Then use your PDF Reader to print the layout in best quality on your printer on a film. I use an ink-jet printer Canon i550.

Build Up Sequence

Because the I2C bus is a bus, which means if one device fails the bus no longer works, and it is difficult to figure out the defect device.

  1. So I will start with the WiiMotionPlus gyro board with 5V I2C bus connection. The software is MultiWii_dev_20110928, and has the following config changes:

     #define MINTHROTTLE 1300 // for Turnigy Plush ESCs 10A
     #define MEGA  // not needed in version 2.1
  2. Next step is to connect the ELV BMA020 acceleration sensor board. Config changes:

     #define MINTHROTTLE 1300 // for Turnigy Plush ESCs 10A
     #define MEGA    // not needed in version 2.1
     #define BMA020
  3. The internal 2.5 V I2C bus (Logic Level Converter = LLC) from the ELV BMA020 board is connected to the shield, and the barometer BMP085 is hooked on for test:

     #define BMP085
  4. The internal 2.5 V I2C bus (Logic Level Converter = LLC) from the ELV BMA020 board is connected to the shield, and the magnetometer HMC5883 is hooked on for test:

     #define HMC5883
     // to correct Mag orientation
     #define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  = -Y; magADC[PITCH]  = X; magADC[YAW]  = Z;}
    Unfortunately the magnetometer jumps in the value quite often, no matter if the I2C bus speed is 100 KHz or 400 KHz.
  5. A GPS receiver (NMEA protcoll) is connected to the shield:
     #define GPS
     #define GPS_SERIAL Serial3 // should be Serial2 for flyduino v2
     #define GPS_BAUD   38400
    The distance from home deviates over 5 minutes up to 16 m.

5. I connected the internal 2.8 V I2C bus (chip ITG3205) from the Wii Motion Plus board to the 2.5 V LLC.

List of pages in this category:

-- RudolfReuter 2011-10-04 15:01:30


Go back to CategoryQuadrocopter or FrontPage ; KontaktEmail (ContactEmail)

QuadrocopterMegaShield (last edited 2012-08-16 12:50:05 by dslb-084-058-179-021)