3D Robotics

ArduPlane home page




Convert any RC airplane into a fully-autonomous UAV!
Just add the APM 2 autopilot to any RC aircraft and it becomes a fully-programmable flying robot with a powerful ground station and Mission Planner.  


Features include:

  • Return to Launch with a flick of your RC toggle switch or a mouse click in the graphical Ground Station
  • Unlimited 3D GPS waypoints
  • Built-in camera control
  • Fully-scriptable missions
  • One-click software load, and easy point-and-click configuration in the powerful Mission Planner. NO programming required!
  • Replay recorded missions and analyze all the data with a graphing interface
  • Supports two-way telemetry with Xbee wireless modules. 
  • Point-and-click waypoint entry or real-time mission commands while the UAV is in the air
  • Fly with a joystick or gamepad via your PC--no need for RC control!
  • Built-in failsafe will bring your aircraft home in the case of radio loss


All instructions and software are here.






APM 2 is an open source, Arduino-compatible, pro-quality autopilot. It is the most advanced IMU-based open source autopilot available today, and provides an entire UAV control system with scriptable missions with 3D waypoints, in-flight uploading of commands and powerful ground station software. 


APM 2 supports any kind of of vehicle with a one-click change of code. Available code include ArduPlane (fixed wing), ArduCopter (rotary wing), ArduRover (ground vehicles) and more.


Everything you need to create an ArduPlane UAV:


APM 2.5 autopilot with GPS ($179)

[Optional] Telemetry kit ($75).



You'll also need a at least a five-channel RC radio setup, a soldering iron, a mini USB cable and of course something that flies!3689354440?profile=original (We're partial to the SkyFun delta wing (right) and
Bixlee 2   powered glider (left) or its equivalents ourselves).






Source code/firmware

Note: ArduPilot Mega requires no programming, but it's open source and you're welcome to modify it if you'd like. If you are going to play with the code, you can use the free Arduino IDE to edit and upload the code to the ArduPilot board.



E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Is possible to use the LS20031 GPS receiver in binary or only in NMEA? Will it be supported in next revisions of APM? Thanks.
  • @Doug - Once again that caught me. Thanks.
    If I need more reaction to a gyro in stabilize mode would I increase the GAIN on the PID for that function.
    I am kind of confused on that and the instructions do not go into much detail.
    Also for a heli do I still need a head lock gyro or does magnetometer/gps/gyro eliminate that need?
  • Developer
    @hoopty - The latest rev (r780) compiles fine for me using the MediaTek gps library. Make sure you do not have GCS_PROTOCOL set to 3 (Xplane)
  • Sweet just need my rudder servo and shell be crashing in style in no time xD
  • @Ritchie
    Simple answer yes.The "power bus" is common to all servo/receiver connections.
  • Just a quick check before I start cutting and soldering.
    If I connect the battery to the ESC and the ESC control cable to the APM output does the "power" reach the receiver and servos connected?
    If not I'll have build a harness for it all
  • Anybody try compiling the latest version with the MTK GPS library. I run into many compiliation errors.
  • Chris I knew it was built in thanks to the manual but as the elevons are not stated (left and right) your answer seemed plausible. Any idea which channel is left and which is right for elevons?
    Thanks for finding out more for me Chris
  • It's ok, but if I have understood it well (my english level isn't as good as I wish), using elevon mixing, you are lossing the elevator as itseft, making elevator as a mixing of the two alerons. With this code you can still use CH2 for Elevator and CH1 & CH5 for alerons. If it's wrong, please say it to me.
  • 3D Robotics
    Ritchie: I stand corrected on elevon mixing. It is supported (has been from the start), but is controlled by the DIP switch, not code. See this
This reply was deleted.