I am interested in getting an arducopter with an ardupilot(APM). I read through the documentation and from what I understand, ardupilot is the low level hardware and firmware that directly controls the motors of the arducoptor.

I would like to know if there is a higher level programmatic interface to the ardupilot? The mission planner provides a user interface to control the ardupilot. But is there a programmatic interface to control it?

In other words, would it be possible for a user written 'linux process' to receive and send sensory data to and from the ardupilot respectively?


1 Answer 1


Yes, there is programmatic interface. Like many autopilot systems the Ardupilot uses a protocol called Mavlink. It allows for both sending commands and receiving telemetry data. It also allows for managing the data that is sent to the ground control system to avoid overburdening ones communication link. There is support for Mavlink in C and python as well as a ROS library (see Mavlink Github).

Furthermore this can be used for onboard control via a single board computer (SBC) such as a Raspberry Pi, Gumstix, or PCduino by interfacing the preferred SBC with the Ardupilot XBee port which is really just a TTL level serial.

  • $\begingroup$ I went through that link. It seems to imply that mavlink can be used for enabling communication between the arducoptor and the ground control station(GCS) through a radio link. But I would like to know if it is possible to interface a single board computer like the raspberry pi for example, directly with the ardupilot? I believe this opens up many more possibilities. Most of all, this allows the arducopter to be autonomous without having to depend on a ground control station if need by. $\endgroup$
    – Jay
    Dec 4, 2013 at 4:34
  • $\begingroup$ In short, the answer is again yes. See my updated answer. $\endgroup$ Dec 4, 2013 at 6:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.