Crius All In One Pro GPS Howto – Updated for MW2.2

March 17, 2013 0:38 | By | 8 Comments

The Crius AIO promises loads of functionality with its many ports. But how do you hook up that GPS module anyway? We’ll show you how in this updated MultiWii 2.2 tutorial. Things are substantially easier with the new version, read on after the break.

We already did a HowTo for the Crius All In One (AIO) Flight Controller, but with the recent release of MultiWii 2.2, the time is ripe for an updated look at getting GPS to work on this versatile board. We used the u-blox based GPS module with a serial interface. The AIO uses an Atmega 2560, which means ample serial ports and no need for an extra serial-to-I2C board – something you would need for the Crius SE or Crius Lite.

Back in our old tutorial, we used the UBlox software to configure the GPS module individually before connecting it to the Crius board – but all this is now a thing of the past. MultiWii 2.2 can talk to UBlox GPS in its native language, and configures GPS on startup.

IMGP5049

Kudos and thanks go to RCG User Quadframes and the other fellow AIO users for various bits and pieces of information that helped to get this tutorial together.

Wiring the GPS module

The GPS needs to be connected to the RX2 and TX2 ports on the Crius AIO controller. At the same time, 5V power has to be supplied as well, but the serial ports 1, 2 and 3 on that connector don’t offer Vcc (they can if you power the board externally and remove the yellow jumper, but that’s for another tutorial) – so the easiest way is to just use the 5V and GND pins of the I2C port. This is simple because Crius was so nice to supply all the molex connectors needed with the board – all you have to do is switch around the pins a bit.

This is the simple solution to get a serial GPS working: Use 5V and GND from the I2C port, and connect the GPS to the RX2 and TX2 ports on the Crius AIO

This is the simple solution to get a serial GPS working: Use 5V and GND from the I2C port, and connect the GPS to the RX2 and TX2 ports on the Crius AIO

Flashing MultiWii 2.2

Download the latest MultiWii 2.2 release from http://code.google.com/p/multiwii/downloads/list

The second needed piece of software is the Arduino SDK, which can be downloaded for free.

For Windows: http://arduino.googlecode.com/files/arduino-1.0-windows.zip
For Mac: http://arduino.googlecode.com/files/arduino-1.0-macosx.zip
For Linux 32bit: http://arduino.googlecode.com/files/arduino-1.0-linux.tgz
For Linux 64bit: http://arduino.googlecode.com/files/arduino-1.0-linux64.tgz

Connect your Crius AIO board using the on-board USB connector, unpack the sourcecode, launch the Arduino IDE, and open any of the MultiWii source files. This will load up the entire project. Now switch to the tab “config.h” and uncomment this under “Boards and Sensors definitions”:

#define CRIUS_AIO_PRO_V1

For the GPS, scroll down to the GPS section in config.h and set the following:

#define GPS_SERIAL 2
#define GPS_BAUD 115200
#define UBLOX

Note that you’ll want to do the usual other configuration stuff in config.h, like selecting your airframe type, or changing the MINTHROTTLE and related values for your ESC as needed.

Compile the software and press upload to flash your AIO. That’s all there’s to be done here.
If you get a “sketch too large” error, make sure you’ve selected the right board type. The board type you have to select in the Arduino IDE is the “Arduino Mega 2650 or Mega ADK”.

A note about flashing the Crius AIO via FTDI:
If you, like us, broke off your USB connector due to the super flimsy soldering they used there, you can flash via a USB FTDI interface. Just take one of the molex connectors that fits into the molex socket right of the USB port, and solder the wires to the output pins of the FTDI board. The wires are GND, 5V, RX, TX and DTR. Of course you need to cross the RX and TX pins, so RX on the Crius goes to TX on the FTDI board. You can then both flash and use the MultiWiiConf tool as you’d normally do.
There’s forum posts floating around claiming that you must only connect TX, RX and GND, and power the Crius via your ESCs to be able to flash. That information is incorrect.

Installing the AIO controller

The white arrow points to the front of the aircraft. The motor outputs for a Quad X copter are defined as follows:

Use the outputs 2, 5, 6 and 3 for a Quad X airframe.

Use the outputs 2, 5, 6 and 3 for a Quad X airframe.

Incidentally, these outputs are right next to each other on the Crius AIO controller. After connecting the motors, it’s a breeze to get your receiver hooked up. There is only one ground and one V+ pin in use, every channel only uses the signal pin of your receiver. Just use the supplied cables, as they come pre-made for this kind of connection setup.

The finished setup. Note the motor connectors on the bottom left, the inputs for the receiver are on the left, the GPS power comes from the molex connector to the right, and the GPS serial data goes into the RX2/TX2 pins on the molex connector on the top side.

The finished setup. Note the motor connectors on the bottom left, the inputs for the receiver are on the left, the GPS power comes from the molex connector to the right, and the GPS serial data goes into the RX2/TX2 pins on the molex connector on the top side.

Connect your USB cable and start the MultiWii configuration tool for MultiWii 2.1, connect to the serial port, click “Start”, and check if all your sensor values are visible, and whether the GPS sensor has been recognized. If you’re outside, you should start to see the GPS satellite counter increasing and, new in the MultiWii 2.1 config tool, your coordinates, altitude and speed.

Another good tool to use is MultiWii WinGui, as it not only allows you to display a live GPS map with compass and position history overlay, but it also features a comprehensive logging and log playback functionality.

WinGUI is a nifty program that's great for verifying GPS functionality

WinGUI is a nifty program that’s great for verifying GPS functionality

From here on everything works like with the Crius SE or Crius Lite: Set up your switches to activate autolevel, altitude hold, GPS position hold and GPS return home functions as desired. Then, tune your PID values: The defaults are most likely okay or a tad too high, quick oscillations mean a too high P value for pitch and roll, slow oscillations mean a too high I or D value. Above all, make sure your props are balanced!

That’s it! Connect your bluetooth adapter, start up EZ-GUI on your android phone and send your multicopter to distant waypoints with a touch on the GPS map! Happy flying and, thanks to GPS, happy auto-return-home!

 

 

Tags: , , , , , , ,

Category: Featured, Howto

About the Author ()

FPVCentral is a private, independent news and review site for all things related to First Person View RC model flight. Covering everything from hobby, commercial and military drones, RC models and electronics related to FPV flight, we are not sponsored by any manufacturer or affiliated with any company or project.

Comments (8)

Trackback URL | Comments RSS Feed

  1. Vadimus says:

    Is it an Ifly-4 frame?

  2. Dinuka says:

    What is the maximum distance for the mobile Phone From the Quadcopter that the return home will work ? If its controlled via Bluetooth it cant be having a huge distance right ?

Leave a Reply