Troubleshooting common problems

Balu

Lurker
Staff member
Admin
Moderator
I just thought we could do a little collection on common multirotor problems and how to fix them. Things that get asked in the forum all the time.

Perhaps we can make it a sticky once we have a few problems and their solution listed.



Every time you change something in your setup, test it! Always do that without mounted propellers!

You will make errors and they usually result in the multirotor doing crazy things. Even if it is only a small plastic propeller, getting hit by one rotating at 10.000 to 20.000 RPM will result in more than a few scratches and quite often even require stitches.



Start with the basics

If you are having issues, try to disable as much additional features as possible to eliminate other sources of error. On a multicopter that means to disable autolevel, compass, baro, and GPS mode on your flight controller. Sometimes issues are caused by problems with the sensors or the logic routines. By putting the copter into full manual mode, you can do a very basic determination of whether it is able to fly at all.

Even if you can not fly in the most basic mode (manual, rate, acro, ...), you can hold the airframe in your hand (no props, remember) and see how it behaves. If the motors start flipping out and try to fly all over the place something probably is wrong.

Once you have determined that the copter holds position in acro mode, and that the motor speeds up when you dip the boom, then you can re-enable the advanced features, one at a time from there, to see where the problem is. Start with the accelerometers, since all of the other modes rely on it to do autolevel.



The multirotor instantly flips when I throttle the motors up

This is a very common problem even for experienced builders. The control board is trying to correct the attitude of the airframe, but has wrong information. This will make things worse, resulting in a more aggressive correction - with an even worse outcome. The end result usually is a copter laying on its back, sometimes with a broken propeller

Solution: Check everything your board knows about your airframe.

  • Is the board front pointing to the front of the frame and is the right way up? If it is rotated, did you configure the right angle?
  • Does the board use the right motor layout? Each type of frame like Tri, Quad-X, Quad-+, etc. require a different layout. Make sure the right one is chosen
  • Are the motors plugged into the right output ports according to the chosen motor layout?
  • Are the motors spinning in the right direction?

You can test if everything is alright by picking up your quad, arming it and throttling up. Remember: Still without attached props! If you lower any of the booms, this motor should speed up.

  • If all above are true, you can check if you mount the props the right way. Make sure you use CW and CCW props in their right spots and that the numbers written on them point the right way (usually up).


I can not arm my Multiwii / Flip style flight controller

MultiWii controllers require to have the controller input in a specific range. If your transmitter / receiver does not reach the required end points, the controller will simpy ignore the input.

Solution: Make sure your transmitter sends the correct data.

  • The MW board by default expects a PPM timing range of 1000 to 2000 us, with 1500 us as the mid-point. By default, the board requires the channel to exceed 1100 or 1900 us in order to detect the "bottom" or "top" of the range, for the purpose of arming or disarming the board (in other words, left stick down and to the right).
  • To check those settings, hook your MW board up to your computer and load up the MultiWii GUI program. You will also need to install the Arduino IDE in order to get the driver needed to allow your computer to talk to the MW. In the MW GUI program, look at the channel inputs screen to see what values the MW is seeing from your transmitter. With the sticks centered, the channels should be very close to 1500. With the sticks at their extremes, they should be close to 1000/2000. If they don't at least exceed 1100/1900, that's why you can't arm.
  • You should always start the adjustment procedure with trims centered.
  • How to configure this on your transmitter varies depending on what transmitter you have. If your transmitter cannot change its channel endpoints, the only other option other might be to modify the MultiWii code, which is a topic outside the scope of this post. For each channel, adjust the top and bottom endpoints so that the MW GUI shows 1000/2000 for the lowest/highest stick position. A common "gotcha" is that on some transmitters, you adjust the top/bottom endpoint by pushing the stick in that direction. So if you leave the stick centered and adjust the endpoint, you have only adjusted the top. You must then intentionally push the stick downwards and repeat the adjustment to adjust the bottom endpoint.
  • Next, adjust the center point so it shows 1500 for the center stick position. On some transmitters, you will have a separate setting for adjusting the center offset of the channel. On other transmitters, the only way to change the center position of the channel will be with the trim switches.
  • Whatever you do, I don't suggest taking somebody else's endpoint numbers off the Internet and just going with them. The instructions on RTFQ say to set your endpoints at +125/-125, which is Paul's attempt to cover everybody with one simple instruction. But on a Taranis, the right numbers are actually about +/-97. Hook up the FC to the GUI and see for yourself exactly what the channels are at, and work from there.




The copter drifts in self-level mode

If your copter drifts when using autolevel, don't try to adjust using the trims on your transmitter. Unlike on a model without a flight controller it's not your job to counteract that movement, it's the FC who needs to do that job. Your transmitter is only telling the FC what you want the copter to do, but not how it's done.

[Bed mode activated, shutting down Balu for a reboot, need to include the suggestions later...]
 
Last edited:

joshuabardwell

Senior Member
Mentor
Regarding MultiWii endpoints, the MW board by default expects a PPM timing range of 1000 to 2000 us, with 1500 us as the mid-point. By default, the board requires the channel to exceed 1100 or 1900 us in order to detect the "bottom" or "top" of the range, for the purpose of arming or disarming the board (in other words, left stick down and to the right). If you can't arm, the first thing to do is to hook your MW board up to your computer and load up the MultiWii GUI program. You will also need to install the Arduino IDE in order to get the driver needed to allow your computer to talk to the MW. In the MW GUI program, look at the channel inputs screen to see what values the MW is seeing from your transmitter. With the sticks centered, the channels should be very close to 1500. With the sticks at their extremes, they should be close to 1000/2000. If they don't at least exceed 1100/1900, that's why you can't arm.

How to configure this on your transmitter varies depending on what transmitter you have. If your transmitter cannot change its channel endpoints, then I don't know of any option other than the modify the MultiWii code, which is a topic outside the scope of this post. For each channel, adjust the top and bottom endpoints so that the MW GUI shows 1000/2000 for the lowest/highest stick position. A common "gotcha" is that on some transmitters (I can't remember the make), you adjust the top/bottom endpoint by pushing the stick in that direction. So if you leave the stick centered and adjust the endpoint, you have only adjusted the top. You must then intentionally push the stick downwards and repeat the adjustment to adjust the bottom endpoint.

Next, adjust the center point so it shows 1500 for the center stick position. You should always start the adjustment procedure with trims centered. On some transmitters, you will have a separate setting for adjusting the center offset of the channel. On other transmitters, the only way to change the center position of the channel will be with the trim switches.

Whatever you do, I don't suggest taking somebody else's endpoint numbers off the Internet and just going with them. The instructions on RTFQ say to set your endpoints at +125/-125, which is Paul's attempt to cover everybody with one simple instruction. But on a Taranis, the right numbers are actually about +/-97. Hook up the FC to the GUI and see for yourself exactly what the channels are at, and work from there.
 
Last edited:

joshuabardwell

Senior Member
Mentor
A tip that I think is useful is, if you are having issues, disable autolevel, compass, baro, and GPS mode on your FC--rate mode, acro mode, whatever it is called in your ecosystem. Sometimes issues are caused by problems with the sensors or the logic routines. By putting the copter into full manual mode, you can do a very basic determination of whether it is able to fly at all. Even if you can't fly in manual mode, you can still hold it in your hand and see if it is steady, or if the motors start flipping out trying to fly all over the place.

Once you have determined that the copter holds position in acro mode, and that the motor speeds up when you dip the boom, then you can re-enable the advanced features, one at a time, from there, to see where the problem is. I'd suggest starting with ACC, since all of the other modes rely on the ACC to do autolevel, and for additional precision (e.g. alt hold).
 

AkimboGlueGuns

Biplane Guy
Mentor
This probably goes without saying, but put your props on the right way. I learned this after having to replace one on my Nano QX and wondering why it was flying so funny for the entire next flight. Mostly a no brainer, but it never hurts to check.
 

joshuabardwell

Senior Member
Mentor
Let's talk about trims for a minute. When flying a multirotor, your trims should almost always be centered. The only time you should use your trim switches is if that is the only way you can get your channels centered where the FC expects them to be. On a model without a FC board, you, the pilot, are the FC. If you see the model rolling to the left, you counter that by trimming aileron to the right. On a model with an FC, it's not your job to counter drift, it's the FC's job. The only thing your transmitter is for is for telling the FC what you want the copter to do. If the copter is drifting and the FC is not correcting it, the right thing to do is to tune up your PID's, or remove the vibration that is causing the FC to get confused, or replace your broken gyro, or whatever.

One reason that you shouldn't use trims on an FC is that the sticks work differently in acro/rate mode vs. angle/horizon/self-level mode. In acro mode, the stick position corresponds to a rate of angular movement. The further the stick is pushed, the faster the copter rotates about the desired axis. In self-level mode, the stick position corresponds to an angular position. The further the stick is pushed, the farther over the copter tilts.

So let's say that you have an ACC that is slightly out of calibration. In other words, when the copter is perfectly level, the ACC thinks the copter is tilted slightly. So when you switch into self-level mode, the copter starts to drift, because the FC goes to what it thinks is "level," but really it's not level. So you put in a few clicks of pitch trim to counteract that. Now your pitch channel is not actually centered. Instead of being at 1500 like the FC expects, it is at 1450. This works fine in self-level mode, but as soon as you switch to acro mode, the mis-calibrated ACC is no longer counteracting the un-centered channel, and the copter will want to constantly roll backwards.

In short: if the copter drifts in acro/rate mode, then your channels are probably not centered. It's possible that your gyro is not calibrated, but this is relatively unlikely. Most (all?) FC's will calibrate the gyro at powerup, so this is why it's important to have the copter sitting still for 30 seconds or so after you power up, but as long as you do that, it's unlikely that a bad gyro is the cause of the drift. Gyro drift can be caused by vibration, but most FC's are relatively immune to this as long as the PID's are set to reasonable values. Bad PID's are another possible cause of drift in acro/rate mode, but really, if the copter drifts in acro/rate mode, the first thing to do is check that your channels are centered in the FC's monitor software.

If the copter drifts in self-level mode, start by checking that the accelerometer values are correct when the copter is flat/level. If necessary, recalibrate the accelerometer. Then use whatever method your FC supports to trim the accelerometer. Remember that flat/level on a table is not necessarily the same thing as "hovers in one place" when you're in the air. If your motors are not all perfectly perpendicular to the plane, there will be some thrust going in another direction. So it's expected that even a perfectly calibrated ACC will need a little trim in flight.
 

Ace2317

Senior Member
How to set up wiring:

It's important to understand where wires go, how to connect what, how to plug it in, etc. As a standard rule for almost any build, your connections should follow this pattern:

1. Transmitter connected to control board through servo leads. Be sure to connect in the proper channel order and have positives to positives and negatives to negatives.

2. Connect ESCs (and any necessary servos) to control board's output channels with the attached servo lead from the ESC/servo. Make sure your ESCs have built-in BECs that don't require you to use an external BEC. Linear 5V BEC within servos is what you want. (Someone check me on that, please).

3. Connect battery to all ESCs through positive and negative leads on ESCs. Consider using a premade breakout cable to transfer power to ESCs or you can make your own.

4. Connect motors to three leads from ESC. Be sure to check motor rotation before soldering!

Test everything (BEFORE YOU PUT YOUR PROPS ON!).