MultiWii 2.2 vs. MegaPirate 2.9 Beta

June 22, 2013 11:47 | By | 6 Comments

When you buy a new open source flight controller with decent power you usually get the choice between “MWC” and “MP” for your software. MWC in this case stands for MultiWii (why they put the extra C for Controller at the end is a mystery), and MP stands for MegaPirate. Both are flight controller software capable of controlling your multicopter, though they are radically different under the hood. But which one should you flash onto your controller? Find out more after the break.

Things are similar to buying a laptop: You get the hardware with some default and possibly outdated OS installed, but there’s alternatives out there, which you can download and install on it. And just like that, you can put different software onto your flight controller. Well, if it’s a “good” flight controller, like the Crius AIO. Cheaper and more limited FCs like the Crius SE can’t run certain firmware like MegaPirate, due to restrictions in EEPROM size.

We’ve already covered MultiWii in great detail, and it’s a capable piece of software. However, it does lack certain functionality, like support for multiple waypoints.  Also, its GPS position hold, while functional, could be a lot better and is very difficult to set up and tune right. MegaPirate on the other hand promises easy setup and a proven set of control algorithms, something MultiWii is still fiddling with at every new release. MegaPirate is a port of the excellent ArduCopter2 software to cheaper Arduino Mega boards. Among the supported hardware is the Crius AIO, FreeIMU and BlackVortex.

Downloading and Compiling

MultiWii comes as a zip file containing both the Arduino microcontroller code, and a java-based configuration GUI. Compiling is a breeze, as MultiWii works with any version of the Arduino IDE, and does not require special libraries to be copied into the IDE path. Uploading works fine as long as you select the right chip type, and MultiWii typically takes up about 20% of the EEPROM on the Crius AIO.

MegaPirate comes as an Arduino project only. At the time of writing it worked only with a specific version of the Arduino IDE, which is mentioned in the readme. Also, there are libraries that need to be copied into the Arduino IDE directory. Some of them overwrite existing files and it’s not clear why this is needed or what effects this has if you use the same IDE for other projects. For this reason, it’s best to keep an extra copy of the Arduino IDE just for compiling MegaPirate.
The configuration software is not included, and has to be downloaded from the ArduCopter Mission Planner project site. The upside is that this software uses a standardized protocol, called MavLink, so it’s actually compatible with a lot of different devices. Conversely, any MavLink compatible software or app will work with MegaPirate, to a certain degree.
When compiled, the software uses over 60% of the Crius AIO EEPROM, a huge difference to MultiWii.

Configuration

To compile and flash MultiWii, you have to open a config.h file and fiddle with a bunch of settings. The most important thing is to set the right hardware board and multicopter type, after that it’s up to you to figure out which serial port your GPS is on, what baud rate to use etc. while not touching any of the other many, many settings in that file. For beginners this can be absolutely daunting. Error messages when selecting the wrong board type are cryptic. When setting up GPS there’s no way to debug problems, it either works or it doesn’t. Worse, you have to set a min-throttle value in config.h so that arming the copter makes the props just start to spin. If you don’t do this, you risk loss of control during flight because the ESCs can switch off at random during flight.
The PC software is difficult to use and sometimes you end up dragging UI elements on the layout instead of changing a value, which is very weird. Setting up flight modes and switches however is quite intuitive. Calibrating the magnetometer is a must if you plan to use GPS functionality.

MegaPirate configuration requires some fiddling with the file APM_Config.h to select the board you’re using, the multicopter layout, and what of GPS you have. It’s similar to MultiWii, but there’s a lot less cruft in that file.
The PC software takes a bit of time to connect to the board and load all the values, but after that it’s absolutely impressive. It combines both realtime monitoring, waypoint management and FC setup. Note that it can also flash specific airframe firmware onto the flight controller, but this only works for genuine ArduPilot flight controllers. In short, don’t try to flash anything with this program. Again, remember to calibrate your magnetometer (from within the configuration page) if you plan to use GPS functionality.

 

Finetuning

With MultiWii, finding the right values can be a nightmare and depending on your frame the margin of error is very small. Aside from the defaults, there are no hints about what values might be appropriate for a small, medium or large frame. A good feeling for PID controllers is required for repeatable success, otherwise get ready to spend a lot of time tweaking values. Thankfully there’s bluetooth support and android apps, so it’s at least possible to make this a lot easier than having to reconnect a USB cable every time.

Fiddling with the PID parameters. It should be noted that the defaults were usable (though not quite crisp enough) on a 450-size frame.

Fiddling with the PID parameters. It should be noted that the defaults were usable (though not quite crisp enough) on a 450-size frame.

 

MegaPirate offers you two choices. You can can either delve into a huge amount of PID values to finetune even the smallest misbehavior – or use the simplified main PI configuration page which lets you tweak the general stabilization with just one or two values. Better yet, useful defaults are included for small, medium and large frames. And contrary to what one might think, these suggested values actually work really well.
In fact, setting up MegaPirate to fly crisp and stable, and getting AutoLevel to work just right, is as easy as setting up a Naza FC – and the results are fantastic.

The main PID setup in APM Mission Planner. Note that the defaults work for most frames, and guidance values are given for different frame sizes.

The main PID setup in APM Mission Planner. Note that the defaults work for most frames, and guidance values are given for different frame sizes.

 

Optional Features (GPS, etc)

Both projects offer support for GPS and Bluetooth, as well as additional support for sending data to OSDs and displays. MegaPirate uses the MavLink protocol for that as well, which gives it instant compatibility with a lot of existing OSD solutions out there.
Both offer support for camera gimbals. However, only MegaPirate supports Camera Tracking, which allows you to define a point of interest in the world which the camera will then point to. This allows flight plans to get quite complex and do some amazing stuff.
Speaking of flight plans, this is the major killer feature of MegaPirate. If you want to place waypoints and have your copter fly complete missions unattended, MegaPirate is where it’s at. There’s nothing quite like setting up your own ground station with a data uplink right to your copter, modifying flight missions on the screen while having the aircraft execute these commands in real time.

A grounstation setup with APM Mission Planner, 433MHz wireless data link, and a quadcopter with a Crius AIO board running MegaPirate 2.9R8

A grounstation setup with APM Mission Planner, 433MHz wireless data link, and a quadcopter with a Crius AIO board running MegaPirate 2.9R8

Available on both systems is support for Ultrasonic altitude measurements, though with the advances in SMD air pressure sensors, this is honestly quite unnecessary. Altitude hold on MultiWii can be fiddly to find the right parameters for, with MegaPirate it usually works perfect out of the box.

WinGUI is a nifty program for MultiWii that's good for verifying GPS functionality. In-development snapshots show that waypoint management support is being worked on, but MultiWii itself does not support that yet.

WinGUI is a nifty program for MultiWii that’s good for verifying GPS functionality. In-development snapshots show that waypoint management support is being worked on, but MultiWii itself does not support that yet.

 

The killer feature: Unlimited waypoint mission planning. This is a $1300 upgrade on the DJI Wookong-M, completely free with MegaPirate.

The killer feature: Unlimited waypoint mission planning. This is a $1300 upgrade on the DJI Wookong-M, completely free with MegaPirate.

Flight Results

MultiWii can give you very good results and a solid flying experience. It allows stabilized hover as well as aerobatics, and has plenty of modes to accommodate most pilots and use scenarios. However, getting there can be difficult as the parameters are plenty and there are no guidelines as to where to start. There’s a lot of experimentation involved, and some things like GPS position hold and altitude hold are just not “there yet”. Yes they work, but the results are often underwhelming. Normal flight and autolevel are competent, if a bit difficult to set up on a new multicopter.

MegaPirate flight results are generally better than MultiWii in almost every regard. Autolevel is much more snappy and locks in tight, the default parameters work perfect for most applications. General stabilization is very solid, GPS position hold works great. And once you have autolevel and GPS hold working, your first automated flight will have you cheer with delight.

 

Final Thoughts

MegaPirate comes with a massive software suite that does a lot more than most people will ever use, but the UI is actually quite easy to use. There are guidance hints for the important parameters, as well as a console mode that allows direct interaction for example with the GPS module, to check for baud rates and errors. The whole thing looks and feels a lot more polished.

MultiWii has a lot of catching up to do. The accuracy and speed of the flight stabilization are considerably better in MegaPirate, and the added support for waypoints is something MW just doesn’t have yet. Don’t get us wrong, we love MultiWii. But if your board supports it, definitely give MegaPirate 2.9R8 or higher a try.

And in the end, let’s not forget that both projects are free and open source. This not only means being able to talk to the developers without paying a hefty fee, but software updates for the forseeable future and continual improvements. Both projects make huge strides with every new release, while DJI users are forced into expensive software and hardware upgrades.

MegaPirate gives the hobbyist a stable software package for their flight controller, one that rivals the features of a $800 commercial flight controller + $1300 software update. Even if one has to compile the software themselves, the price of $0.- for a solid package is hard to beat. A complete controller package with GPS and RF datalink comes to about $110 on RCTimer.

It’ll be interesting to see how MultiWii will improve over the next few months. Until then, MegaPirate gets our solid thumbs up, with MultiWii remaining the software of choice for smaller boards.

 

Tags: , ,

Category: Reviews

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 (6)

Trackback URL | Comments RSS Feed

  1. Xav says:

    Thanks a lot for this great article. After reading this, the choice is very easy. I hope I will receive my AIO pro soon.

  2. dklein says:

    Excellent review – thank you. This answers most of the questions I had and many I hadn’t considered. I have spent a fair bit of time with Multiwii and you are right about the fiddling. I am curious though, since you are clearly a fan of the MP software and also shop at RCTimer, why not the Arduflyer board? You mentioned there are a few things that won’t work on the AIO board. Is it the extra cost? I’m asking because I already have an AIO with Multiwii running but I see they are selling the Arduflyer 2.5 boards for $76 at the moment, which is only $19 more than the AIO. (I think this is temporary as they’ve introduced a 2.5.2 board but the difference is negligible). Thanks again!

  3. dklein says:

    no need to post this comment but just you might like to know that the captcha doesn’t work in firefox. I can’t enter anything. Had to use IE to post this comment. Yuck!

  4. franknitty69 says:

    Great article. One year later is megapirate still more advanced than MultiWii or has MultiWii caught up?

Leave a Reply