MultiWii Pro 2.2 help!

Junior Member

I'm first of all let me list what I've completed and can get working. I've calibrated the ESC individually using the receiver, I've uploaded the 2.2 firmware and can get feedback through the GUI with transmitter.

Now, my problem is when I power the board using the battery, the ESCs flip out and start beeping constantly, not the usual set of beeps. I've connected the ESCs to the board through the white signal cable only, except for one BEC on one of the ESCs to power the board until install a UBEC.

Below is a video of what happens. Any info you could give me would be greatly appreciated!

Dedicated foam bender

Have you tried hooking the ESC's power leads to each port, as in plug them all in like normal? I know one of the megapirates threads had stated ground loops if you have all of them hooked up but I seem to recall someone else had issues with only connecting the signal wires. It may have been on a tri though, the old grey matter isn't what it used to be. At any rate, I currently have all my ESC's on my hex connected with the stock 3 wire plugs with no issues. But I am running megapirates so it might make a difference.

Junior Member

Hmmm I've managed to sort that problem out only to replace it with another. I ended up calibrating the ESC through the flight controller and it sorted the initial problem out. (although I had to manually set the minimum throttle value manually after the calibration as when I armed the board, the motors would start spinning without throttle input.

Now I can't get it to take off level. All the motors spin, but I've noticed while testing in the GUI, the motors don't receive level throttle values even after a fresh ACC calibration (when calibrated, I've used a spirit level and its close to perfect).

I gave it a go anyway and it flipped instantly while attempting to take off and destoryed 2 rotors

The Warranty Voider

In Multiwii, unless you disable this feature in the config.h tab, the motors will start to spin when you arm the board. This feature is to ensure that no matter the condition (like when you're decending) the motors won't stop, which can cause a small delay to restart and result in a crash. Some people like it, some don't.

Have you calibrated your tx's PWM values in the GUI to ensure all of your channels range from min/mid/max 1095/1500/1950? Also, it flipping like it did on take off could be caused by not having the motor layout right.

I sympathize with you, it can be REALLY frustrating at times but that feeling you get when you succeed, nothing like it.

Junior Member

Gonna have a go at securing it to the ground tomorrow and see if I can get it to level out. It's basically the only thing holding me back now, I've got the GPS working, GPS hold and RTH work in the GUI, just need it in the air

Amateur Extra Class K5TWM

In Multiwii, unless you disable this feature in the config.h tab, the motors will start to spin when you arm the board. This feature is to ensure that no matter the condition (like when you're decending) the motors won't stop, which can cause a small delay to restart and result in a crash. Some people like it, some don't.

Have you calibrated your tx's PWM values in the GUI to ensure all of your channels range from min/mid/max 1095/1500/1950? Also, it flipping like it did on take off could be caused by not having the motor layout right.

I sympathize with you, it can be REALLY frustrating at times but that feeling you get when you succeed, nothing like it.

If that's the case, and you have not uncommented "#define MOTOR_STOP" under the config.h tab, then your "#define MINTHROTTLE" must be set lower then what the actual min spinning value is for your ESC. By default, your motors should spin when you arm the board.

As per the Multiwii FAQ:

Why is it important to define the minimum running value for the ESCs ?
The motors should always run whatever the situation in flight:

ESCs and motors are not perfect and does not synchronize every time at the beginning. If this happens in the air, one motor won’t be able to spin and I let you imagine the situation.

Gyro-induced corrections can put a ESC in a situation where it is under its running limit (motor stop). It should not be important because it lasts a fraction of second and propellers have some inertia. But I observed a very annoying behavior with Turnigy Plush ESCs: once it is below the running limit, the ESC reaction time to return into the running range is very high, causing crashing oscillations.

If you choose another ESC, you have to tweak this “minimum spinning value”.
The value depends also of the way the ESCs ware calibrated.
Once armed, if the motors are not running, this value must be changed.
This parameter is very important and has to be edited to compile arduino code.
It is one of the key to have a stable multicopter in descent.

The Warranty Voider

I'm on my phone now and will chime in with a better response when I get home later. First off, I think it's awesome you're actually posting videos of your problem, it makes trouble shooting soo much easier. You're definitely getting some weird results here, especially in the first vid. As a shot in the dark, before you upgraded the firmware on your pro board to version 2.2, did you wipe the eeprom first? In the Arduino IDE, under examples/eeprom load up the eeprom clear sketch and flash it to your board. After that, reflash the 2.2 firmware and see if it helps. If that doesn't work, would you mind copy/pasting your config.h code? Also, which version of the Arduino IDE are you using to compile the code?

Junior Member

You're welcome. Anything I can do to make it more detailed or easier to understand my problem, the more likely someone can help me solve it.

Ok, so I resolved the issue in the first video. Basically in the config.h there is a area to define the minimum throttle value when the board isn't armed. By default, it was higher than the value set in the ESCs after calibration so when I powered up the board, the ESCs thought the throttle wasn't parked.