I can't get the engines running even though the prearm checks were successful

My problem:

This is my first drone project so far so I’m kind of newbie.
I cant get the motors running. I tried almost every possible solution the last 2 weeks.
Now I’m at the end of my knowledge.
I want to control my drone via Wlan for now (later I want to connect a USB Modem).
The RC is a Xbox 360 Controller connected to my Laptop.
The communication is working. I configured the Joystick in Mission Planner and finished all the Prearm checks.
I had some trouble with the callibrating of my ESCs via Mission Planner. I ended up calibrating them manually with a little python program one by one.
I can arm the drone and I also receive signal. However when I try to rise the throttle nothing happens
I get no failure message and the motors also do nothing.

I’m really hope someone here may help me.

If I missed some informations about my setup let me know.
I attached some pictures of the things I think where the problem could be.

sorry for my bad english :wink:

thanks a lot in advance


My setup:
Arducopter 3.5
Navio2/Raspberry Pi 3b+
4x Emax RS2205 S 2300kv Motors
Littlebee 30A ESCs

How do you put the throttle all the way down with the xbox 360 controller? Do the ESCs get a low throttle (around or below 1000us for most ESCs) signal on startup? Otherwise the ESCs will not arm themselves and the motors will not run.

1 Like


Thank you for your reply.
I would love to test this out but my laptop got broken today -.-
I have to send it to the customers support first.

I tried to change my GCS to my desktop PC but I can’t get the Navio to communicate with my Desktop

“Mavlink Connecting…”

I try to get this working and will test your suggestion immidiatly afterwards.

Not my week after all…

Hi @Cryxos,

Did you have a chance to fix your PC and make a test?


not yet unfortunately.
I cant connect the pi to Mission Planner

I don’t no why the connection with my desktop PC won’t work. I just changed the IP.

The Notebook will need some time unfortunately.

Hi @Cryxos

Please, doublecheck your PC IP.
After that, in /etc/default/arducopter check that you’ve set the right IP.

Can you share a screenshot with ipconfig command output?

Hi @andrew.yushkevich

Ipconfig output on my Desktop PC:

Hi @Cryxos,

I think that the issue is that you need to reload settings and restart arducopter after changing /etc/default/arducopter file.

Let’s try these steps:

  1. ssh you Navio2
  2. open file with sudo nano /etc/default/arducopter
  3. set TELEM1="-A udp:"
  4. sudo systemctl daemon-reload
  5. sudo systemctl restart arducopter

After that in Mission Planner choose UDP-115200 connection type.
Press the Connect button.
In Listern Port window set 14550 port and press OK.

Let me know about the result.


I’ve done it step by step, however I have still the same problem
Mission Planner says Mavlink Connecting… forever.

see the picture below

Hi @Cryxos,

I can assume that your PC doesn’t allow Navio to connect.

Can you check the Windows firewall configuration?
You can find it in “Network & Internet” Settings. Please try to establish the connection between Ardupilot and GCS with the disabled firewall.

This will make it clear if the issue arises because of it or not.


1 Like

Hi @andrew.yushkevich,

You were right my Anti Virus program blocked all communication. I wouldn’t have expected this, because I use the same program on my laptop and it doesn’t block anything there.
Many thanks for your help.
I had a chance to test @schuermannsebastian suggestion now.
As you sad the Xbox 360 controllers lower limit is exactly 1000 I changed this in the parameter tree to 999
unfortunatly the problem still occures. I can arm the Motors without any problems.

But i cant get the motors to spin.

Hope you can help me.
Thanks in advance

Below I link some pictures

Try to set RC Trim at 999 (like RC3 Min). Not sure it will change anything, but it is the default RC3 setup when doing RC calibration.



I tried this, but it didn’t change anything, and after the RC calibration this value was reset to 1592.

Thanks anyway for this idea.

The xbox360 controller has no lower or upper limit as such. Usually the joysticks input values are interpreted by the Operating System and normalized to a specific range. -1.0 to 1.0 for example. Missionplanner takes the value from the OS and maps it to the PWM input values set for each channel. If you set RC1 to 800, 1500, 2200 for example, you will see those values during RC calibration. That also means RC calibration is pointless when you only use a joystick. Set all RCx values to 1000, 1500, 2000 for a start. Since they are independent from the RC output (ServoX_function) now, it does not really matter. Using 1100 to 1900 might trigger the “RC not calibrated” error, so you have to change it.
Your biggest problem is, that all sticks on the Xbox360 controller are spring loaded/return to center. This works fine with a rover, because center throttle is zero throttle, but with a copter, center throttle is half throttle, so you might have to hold down the throttle input all the time. As far as I know, there is no setting in Missionplanner to tell it to ignore the bottom half of the joystick throttle input. So if at any point during startup the ESCs receive a too high throttle signal, they either not arm until the throttle signal is low enough, or not arm until you unplug/replug the lipo, depending on the model of ESC you are using.
Setting up a copter with no dedicated RC TX/RX is still not easy.

1 Like

Here is your biggest issue - you’ve most likely confused arming the autopilot with the autopilot initializing the ESC’s.

For the ESC’s to be initialized, when you first give the system power your ESC’s are expecting to recieve a low throttle signal and will make some beeps and eventually give a set of beeps to indicate they have recieved said signal from the autopilot. This is standard ESC behaviour, your motors may also twitch while the beeping is happening. From here, they are ready to recieve further signal.

When you are ready to throttle up, you trigger the autopilot to arm and it starts sending flight signal to the ESC’s. When it is all working properly and you arm the autopilot, by default the motors will spin at an idle value (even when your throttle is at zero). See here for information regarding this - http://ardupilot.org/copter/docs/set-motor-range.html
The combination of your ESC calibration issues previously and no idle motor spin when armed suggests it is an ESC issue and most likely not to do with your controller.

  1. Confirm your ESC’s are periodically beeping when you power the system (once every 2 seconds or so).
  2. Confirm your ESC’s are initializing by emitting a series of tones after the periodic beeping.

Only true if you’re not operating in an AltHld type of flight mode. Impossible to say what the use case for this copter is and whether those modes will be required.

1 Like

First setup for a copter in althold etc. might be interesting with no direct control over throttle…


Can you advise if using joysticks is supported in the Edge customised QGC builds? The jostick menu registers the inputs of joysticks and controllers but I get an error saying the flight stack doesn’t support MANUAL_CONTROL

I thought I might attempt to replicate the joystick funcitonality on my gear so that I could provide further assistance on this topic but it appears EMlid QGC does not support it.

Note: I do know the thread author is using MissionPlanner and I am using QGC.

1 Like

Thank you @kyle_irys I think i understood.

When I connect my copter with the battery I hear 3 beeps than nothing I tried to start with throttle max, min, mid everything :frowning: only 3 beeps. same when I try to callibrate my esc within MissionPlanner. I do not get the periodic beeping. The only time I got the beeps was with the manual callibrating using a python program.

So like you sad I think my problem is that I need to get the callibration done within Missionplanner before arming the copter.

However do you have an idea how to callibrate my ECS’s or what I am doing wrong?

Unfortunately I do not own a RC I imagine it would be much easier that way.

I’ve recorded my setup for you to hear what it should sound like so take a listen. Sequence is plugging in battery, periodic beeping and finally long beep to signal initialisation complete - https://www.dropbox.com/s/2ix8s93x73w4n47/ESC%20Initialisation.m4a?dl=0

Considering you are getting beeping, the ESC calibration was successful but either the recieved value from the FC or the expected value calibrated is incorrect. Perhaps you shoudl detail your ESC calibration method and values so we can check that.


I plug in the usb cable to power the raspberry, then i start Mission Planner to initialize the ESC calibration by pressing the Start button in the section Inital Setup / ESC calibration. I set the throttle to high then I plug in the battery. I hear 3 beeps from the ESCs… wait a few seconds and set the throttle to low. Nothing happens.

I tried this in reversed order so first low then high same result.

I tried also to restart the arducopter programm after pressing the callibration Start button. same result.

after doing this and restart the Pi I get a flashing Navio2 LED in all colors periodicly and be forced to restart again to get the Pi working again.

I attach the pics of the calibration page and some of my copter during this process.

after pressing the Start button

throttle to high and connecting the battery

battery connected and throttle to high -> 3 beeps

then after disconnecting and reconnecting the battery -> throttle to mid

then arming the copter the green LED flashs constantly

So far thats what I am doing. I tried this in different variations.

I really appreciate your help thanks a lot.