Jump to content

Recommended Posts

About a year ago a talented fellow in France published a DiY multirotor copter project that is now called the MultiWiiCopter. The electronic design is based on a very low cost Arduino microcontroller and dirt-cheap parts from a Wii Motion Plus (WMP) game controller. It is totally open source and an entire community of contributors has helped spawn the project with cool improvements. It's hard to find someone that hasn't heard of this project.

I ignored all the MultiWiiCopter fuss until a few weeks ago. I was considering going to a larger quad and started looking around for frames and control boards. I would have gone with a MikroKopter kit but cost is still a bit steep. Being a DiY fellow, I began to digest the MultiWiiCopter discussions. From what I can tell, I'm definitely late to the party, but I think this was a good thing. That is because there are now plenty of online resources to help out. Here is a starting point:

http://www.rcgroups....d.php?t=1261382

http://www.rcgroups....d.php?t=1340771

So here I am to tell about my experience. More to the point, today I had my first hover with it. So I think it is a good time to show some works in progress. For sure, I should write about it before I forget the fun details.

Before I start, please realize that my design choices (frame selection, motors, props, tasty snacks & beverages, and so on) were just personal picks. Some project choices involved dart boards and coin tosses. So please don't think that my parts list is anything special. There's a million ways to build this monster and so be prepared to read the endless discussions in the links shown above. Then build what YOU want. That's the beauty of DiY.

First, here's a photo of the new model, compared to the Gaui 330X-S I've been flying the last few months. The new WiiCopter is definitely bigger!

post-2-0-62612000-1311375335_thumb.jpg

Share this post


Link to post
Share on other sites

I must admit that I was initially put off by the whole Arduino thing. There was talk of sketches, shields, .pde's, and other foreign concepts. I mean, isn't it just an ATMEGA processor?

But then I found this video, which from the comments on YouTube, appears to have alienated some Italian engineers. But, its tongue-in-cheek discussion instantly helped me understand the mindset of the Arduino world.

Things to know:

* Arduino is named after a bar in Italy where the developers hung out. Or so they say.

* A "sketch" is nothing more than a source code file.

* All Arduino code is written in the C language.

* The C source code files are named with a .pde extension instead of the .c that the world outside Arduino would normally use.

* The Arduino experience includes an IDE application that allows you to compile and upload the code into any Arduino board.

* "Shields" are nothing more than add-on boards sold by a growing cottage industry made up of Arduino engineers and hackers.

Share this post


Link to post
Share on other sites

While deciding on the electronic configuration for the MultiWiiCopter, I looked around for a new Quad frame. I wanted something that was bigger than the Gaui I fly. I like the X-4 motor configuration, so that is what I concentrated on.

You will find that there are dozens of choices out there, with prices starting at about $20 USD. Hoverthing's X-8 frame was the winning selection (it has the look of a scaled-up version of my Gaui 330X-S). I had them customize a black kit with two red arms. I also added some extra double-tab mounting plates. Total was $117 USD to my door.

Here's a catalog photo of the stock kit (from the retailer's web site):

vc550_black1.png

Catalog page: http://www.hoverthin...&products_id=31

The kit is very high quality (a delight to build) and they had very friendly customer support.

Here's an early build photo that shows the front mounted red arms and the double-tab plates on the center hub:

post-2-0-70116000-1311394602_thumb.jpg

They are certainly not needed, but some hobbyking.com shock absorbers are mounted on the legs.

Spring Shocks, A2016T32781/16173, 2 pair x $4

post-2-0-62478000-1311389017_thumb.jpg

I purchased motors and ESC's from HobbyPartz.com:

Exceed RC Rocket 1050KV Brushless motors, $14 X 4.

Volcano 30A ESC's, $14 x 4.

Props are from Maxx Products, maxxprodrc.com:

EPP1045 10X4.5 contra-rotating sets, $5 x 2.

The model's AUW is 52oz with a 3S 4000mAH pack. The weight does not include any camera gear or other goodies.

Share this post


Link to post
Share on other sites

Originally I was just going to build a basic MultiWiiCopter board. So I ordered the following Arduino parts from www.Sparkfun.com:

Arduino Pro Mini 328 - 5V/16MHz, $19. (http://www.sparkfun.com/products/9218)

FTDI Basic Breakout - 5V (USB/Serial adapter), $15.

To help avoid a wiring rats nest, a naked Paris V3.0 shield board was purchased from www.multiwiicopter.com (one of many sources for MulitWiiCopter shields and parts).

http://www.multiwiic...oard-v3-0-naked

MultiWii_Paris_board_V3_8039_grande.jpg?100718

I came within a mouse click away from ordering the Wii game controller items that are needed for the basic build. But a flash of insanity overcame me and I decided to create a custom 10DOF IMU sensor board. I spent a couple weeks buried in Altium Designer working on the custom hardware. Once the PCB layout was finalized, the custom board and components were ordered. A few weeks later the IMU-X (not a fancy name, I admit) was assembled and working. The reward for all the extra effort was a small (37 x 20 mm) sensor board. The IMU-X sensor board has the following features:

  • BMA180 3-axis Accelerometer Sensor
  • HMC5883L 3-axis Magnetometer Compass Sensor
  • ITG3200 3-axis Gyro Sensor
  • BMP085 Digital Pressure Sensor (for altitude hold)
  • MPU-6000 3-Axis Accelerometer / Gyro Sensor (not used, for future)
  • On-board 5V to 3.3V logic conversion, voltage regulator, and LC supply filter

post-2-0-78002400-1311380626_thumb.jpg

And despite adding more work to the endless list of things to do, I also created a custom Arduino "I/O Expander" board that would allow me to add some special functions to my Quad. The expander board is 45 x 38 mm. It contains four high current FET switches (to control four strings of LED's). Custom code inserted in the Sketch file provides several lighting sequences that are triggered by the flight mode states. Last night at 2AM I fired it up for the first time and it looks awesome. I'll post a video soon.

post-2-0-00525800-1311380638_thumb.jpg

Share this post


Link to post
Share on other sites

The I/O expander board also includes a buzzer control output and an input port for reading optional jumpers and switches.

The buzzer feature adds a second audio alert to the MultiWiiCopter. There's some custom code involved to control it.

post-2-0-04081200-1311381237_thumb.jpg

The input port can be used to read configuration jumpers. I'm using one of the inputs with a micro sized push button switch.

post-2-0-99718400-1311381403_thumb.jpg

This pushbutton switch turned out to be a very good idea. Some new code was integrated in MultiWii's V1.8 release to do some new functions:

(1) If pressed at power up the four ESC's throttle points are automatically calibrated. I love this feature.

(2) If pressed while the motors are running the model is immediately disarmed. This saved me today during one of my hover tests; During the test flight I had dialed-in too much rudder and aileron trim, which messed up the remote motor disarm function. So I carefully reached under the spinning props and pressed the button to kill the motors. If I would have needed to unplug the 4000mAH 3S LiPO I think I would be missing some finger tips right about now. :)

(3) If pressed while the model is disarmed (Tx sticks at low throttle/neutral) the ACC sensor is calibrated.

Share this post


Link to post
Share on other sites

As mentioned earlier, I maiden it today. I used the default PID settings and assigned a spare channel to enable the LEVEL feature. I definitely need to work on the PID settings since it was a handful to fly. I had some reasonable hovers with the LEVEL enabled, so it looks promising. I just need to experiment with the PID parameters and tune the board to my model.

Speaking of setting the PID parameters, the provided application program is very nice. It has a realtime 3-D stick model so you can confirm that all sensors are working (and with correct orientation). The PID values are changed in the program's provided data fields (via mouse driving sliders) and a single mouse click updates all the new parameters via the USB connection (Bluetooth connectivity is possible too). It's useful software based tools like this that help the rest of us achieve our DiY dreams!

Share this post


Link to post
Share on other sites

Fantastic, glad you explained it all I have had a peek at this thing a few times but didnt understand a thing!

Im still surprised the wii gyros are up to the job.

Terry

Share this post


Link to post
Share on other sites

I know what you mean about not understanding a thing. But things will start to click if you dive in.

I spent about an hour today playing with the PID parameters. I made some progress and it is hovering much better. It is still a bit loose feeling so I will continue experimenting with the values.

I tried to make a video of the I/O Expander board's LED lighting control feature. It was too dark and my Aiptek camcorder didn't do well. So I'll try again.

Edited by Mr.RC-Cam
deleted worthless video.

Share this post


Link to post
Share on other sites

Here's a demo video showing the LED control feature of the I/O Expander board. Not shown in the video are the Failsafe and low battery LED warnings. But those are just other blink variations, so there's no need to demo those too.

Share this post


Link to post
Share on other sites

Seems to hover just fine, is it easy to recover to level from extream manovers?

Terry

Share this post


Link to post
Share on other sites
Seems to hover just fine, is it easy to recover to level from extream manovers?

I'm still working on the PID's. At this point hover stability is very similar to a traditional R/C model heli. I need to dumb it down a lot more for my lowly stick skills.

At the moment, with my latest PID parameters, it is definitely more difficult to control than my Gaui Quad. For sure, I'm not ready to try anything more aggressive than basic hovering. Hopefully that changes with more practice or better PID's:)

Share this post


Link to post
Share on other sites

The quad is hovering great now. To help out my piloting skills I configured the PID's so that it can hover hands free in calm conditions. I achieved success only after reading that my software version (1.8 dev) introduced a temporary parameter called MAX_CORRECTION. It is a #define statement in the sketch file that defaults to 100. I understand that the prior V1.7 code was configured to a value that was the equivalent of 1000. I edited it to 350 (blind guess) and that did the trick.

is it easy to recover to level from extreme maneuvers?

With the stability feature (ACC) turned on the quad will quickly transition from a steep attitude, back to level, when the sticks are released. It is very similar to what you experience with a FYE-20A stabilizer. There are times where I feel the mulitwiicopter does a better job than the FY-20A (but it could just be due to the larger model). But for sure, it works as well as the FY-20A. The big difference is that you have much more control over how the multiwii behaves. The PID parameters you choose will define the model's behavior.

I haven't tried fast forward flight yet since I haven't had time to fly at a large enough field. So in the meantime I have moved on to setting up the compass and altitude sensors. I've tried several PID values on the compass and I cannot tell if it is actually doing anything. The sensor works fine in the GUI, but in flight the model does not appear to have any better tail holding with the compass turned on than without. So I'll continue hammering on it.

The altitude hold feature is working, but the elevation varies a lot (at least ±10 feet). I recall reading there will be improvements to the barometer code on the next sketch release.

Despite the steep learning curve and some bugs, it is a very cool quad project. I'm quite happy with it.

Share this post


Link to post
Share on other sites

Sounds great. I flew my FY90Q quad last night but it gets way unstable when descending or slowing from fast forward flight, it also runs out of forward stick after hovering into wind for a few mins.

There are so many quad controllers about now its hard to know which way to go, a nice neat unit like the FY90Q that supports PID adjustments would be the best but I dont see one :(

Terry

Share this post


Link to post
Share on other sites

There is a new FY-90Q that has adjustable flight parameters. I think they can upgrade your older model.

Share this post


Link to post
Share on other sites

Oh yes the FY91Q dose that plus gps position hold and rth, I havent kept up with quad stuff as you may have noticed!

I wont rush out and buy it though, not until I can get the FY90Q working a bit better. Maybe the wii copter is a better bet Im not sure yet.

Terry

Share this post


Link to post
Share on other sites

OK I had a look and its semms it may be possable to adjust the parameters on my FY90Q even though there is nothing in the manual about it. I just need to get a lead then I can give it a try. This wii copter tread is going to have to be renamed in a minute!

Terry

Share this post


Link to post
Share on other sites

From what I understand, the latest FY-90Q release has the necessary firmware for the PID feature. I think they call it a "FY90Q PRO." If you've had yours for awhile then I believe the China based sales office can upgrade it.

Today I was trying to resolve my wiicopter's altitude hold and compass issues. During a test flight the model did a sudden flip and face planted into the ground. Quite an unexpected and horrific thing to see! Anyway, it was caused by a bad motor bullet connector (the factory did a bad solder job). So I'm grounded while the little fellow is mended (nothing serious). Plus I need to bleach some underwear.

Share this post


Link to post
Share on other sites

Thats the last thing you want to happen, good you found the fault and didnt go off looking for something more technical.

Terry

Share this post


Link to post
Share on other sites
good you found the fault and didnt go off looking for something more technical.

I feel very fortunate. There have been several reports of mysterious flip involved crashes with the WiiCopter. Some victims suspect the code. But fortunately my flip was just a brainless broken solder joint on a motor. The flip was quite amazing. The quad went from "here" to "there" in about a microsecond; It was all over before I could even comprehend what had happened.

The poor thing was patched up and back in the air this morning. I'm happy to report that the compass feature is now working. The reward is a very steady Yaw hold -- totally amazing.

Last on the list is to solve the altitude hold problem. At the moment it is working but it's not very precise. I've posted on the WiiCopter forum to see if the experts there can offer a solution.

I discovered an interesting issue with the altitude baro sensor that I have not seen reported by the WiiCopter gang. Like many baro sensors, the IC die inside the BMP085 is photoelectric. That is to say, any light exposure on the vent hole will cause a bias change in the sensor data. I could see this on my workbench with a small incandescent flashlight pointed towards the sensor's hole. While aiming the flashlight at it the PC application's GUI would easily push the Altitude graphing off the chart and raise the reported numeric data. My sensor is exposed to sunlight when I fly so I installed some dark rubber foam over the vent hole and the light exposure effect has gone away.This didn't solve my immediate problem, but I expect it will provide better baro performance when I get things working right.

Share this post


Link to post
Share on other sites

Last on the list is to solve the altitude hold problem. At the moment it is working but it's not very precise. I've posted on the WiiCopter forum to see if the experts there can offer a solution.

Maybe if you describe your problem I could help you. I suppose you have PID settings for the alt hold function?

You said that after installing the magnetometer, you now have very solid yaw control, is the yaw control unprecise before installing the magnetometer?

What kind of gyros does it have the multiwii?.

Share this post


Link to post
Share on other sites
Maybe if you describe your problem I could help you. I suppose you have PID settings for the alt hold function?

When alt hold is enable the model's altitude does not lock very well. I have tried many different PID values. Other users have reported this problem too. The developer mentioned to me today that it is a known issue so I don't expect any success until a future software release.

You said that after installing the magnetometer, you now have very solid yaw control, is the yaw control unprecise before installing the magnetometer?

Without the mag compass enabled the yaw drift is similar to a common quad or heli. That is to say that it works well without the mag compass. But with it enabled it provides a higher level of yaw holding I have not experienced before.

What kind of gyros does it have the multiwii?

My board has a ITG3200 gyro sensor chip. Post #4 has a full list of chips that I used on my DiY custom IMU.

Share this post


Link to post
Share on other sites

I decided to see if I could improve the baro performance rather than wait for a fix. The software is open source so access to the code is not an issue.

My IMU is using the Bosh BMP085 baro sensor. I haven't found any obvious coding issues on the functions that read its data. However, even when the quad is quietly sitting on the workbench I have noticed that the stability of the data is poor; Because of this I expect only ~1 meter resolution from it. However, the baro is being used in a high-resolution mode that should provide about 25cm resolution. So something is definitely suspicious here.

As a sanity check it would be great to hear from a MikroKopter owner because its altitude-hold works well. I don't know anything about the MikroKopter but perhaps it's PC configuration application reports the Baro altitude data like the WiiCopter's Gui App.

My specific questions are: What baro sensor does the MK use, how stable is the data, and what altitude precision (resolution) does it provide? A video showing the data readout performance would be awesome. Any chance for a shout out from Kilrah, Wavess, or other MK owner? :)

Share this post


Link to post
Share on other sites

After a couple months of experimenting, the software bug that was causing the poor Altitude Hold performance was finally identified. MultiWii builders can get the fix for version V1.8 here:

http://www.multiwii.com/forum/viewtopic.php?f=8&t=741&p=4756#p4756

For full information to the problem just start at the first post in the link's discussion.

Share this post


Link to post
Share on other sites

Hey, just wanted to jump on this thread to ask if you've considered making the i2c arduino expander open source or not on your special projects page? I've got something sort of similar running on my quad for mavi lights, but using a second pro mini board which is a bit of an over-kill. It'd be great to use your expander board to save a second mcu.

Cheers!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×