Why is AUTO not armable?

I want to achieve a flight fully autonomous without using rc. But AUTO is not armable, so I have to click the button ‘Arm/Disarm’ in some other mode, then select ‘AUTO’ in the drop-down list and click ‘Set Mode’, finally select ‘MISSION_START’ and click ‘Do Action’… This is so inconvenient.

I plan to modify the code to make AUTO armable. But I suppose there are some reasonable explanations that AUTO is designed not armable. Could anyone enlighten me? Or, is there an easier way to start the flight in AUTO mode with gcs?


I use Tower (Android GCS).

You can Arm from the GCS then Start Auto mode from the GCS.

No need to use R/C for flying, just for safety.


Hello Marc,

I am going to participate in a competition(IMAV2016), and will have to plan some complex missions. I’m not sure if android gcs suffice, never tried. And I don’t have android tablet, only an android mobile phone and an ipad. Besides, google play seems unavailable in my area…

Thanks for your reply!



Here is the link to download the .apk

You can install and use it on your Android phone. Version 4.00008 is the latest.

You can plan your mission with tower (append takeoff and land is fine for a non moving landing zone). I just had a look at your challenge, not easy…

You can also plan your flight with mission planner and control it with Tower and Usb 3DR radio.


1 Like

I imagine its for safety reasons. People might be surprised by the copter flying its mission once you increased your throttle after arming without changing flight modes.

It makes some sense, but after arming, isn’t takeoff the exact movement we expect when raise the throttle?

Right, but when it takes off on its own and starts flying away they thing the worst and it’s a fly away and they need to do something to stop it.


Yes, as @iseries says, it’s just for safety. The situation we wanted to avoid was the user being confused about the flight mode and leaving it in AUTO (when perhaps he/she thought she was in Loiter) then arming the vehicle and have it immediately takeoff and start a mission.

@tridge and I have recently discussed allowing arming in Loiter but we would probably allow it only through the ground station and the ground station might need to provide some magic number (or something) in the command so that we know for sure that arming in AUTO is the intention.

By the way, if you’re comfortable compiling copter yourself you can change this by adding AUTO to the list of modes in flight_mode.cpp’s mode_allows_arming function:

I’ve created a new issue to capture this request: https://github.com/ArduPilot/ardupilot/issues/4919

Yes I’ve modified the code, and I just wrote my recommendations on that request.