3D Robotics

ArduPilot 2.0 Beta Code Released!

I'm delighted to announce the release of the ArduPilot 2.0 software, now in public beta. This software uses the current ArduPilot hardware but handles the FMA Co-Pilot stabilization function itself, without the need for a separate stabilization unit. It is, in short, a complete integrated autopilot. That little ArduPilot board can do a lot! 2.0 Features:
  • All the ArduPilot 1.0 functions: programmable 3D waypoints; return-to-launch mode, in-flight reset ability, fully programmable actions at waypoint and totally expandable board.
  • Now integrates the stabilization and navigation functions, eliminating the need for a FMA Co-Pilot and vastly improving waypoint tracking
  • Controls elevator and ailerons/rudder. Throttle control coming in 2.1
  • "Fly-by-wire" mode stabilizes the aircraft in RC mode, duplicating the function of the FMA Co-Pilot
  • Stores home waypoints and sensor calibration in EEPROM, so they are retained even in the case of a system restart
  • Controls altitude with the elevator, vastly improving performance in wind
  • Currently optimized for the three-channel EasyStar. Versions have also been tested on Funjet and four-channel Superstar (code coming soon)
  • Simple in-field calibration process
  • Can use any thermopile XY sensors (default settings are for the FMA sensor, but Paparazzi, AttoPilot and custom sensors can also be used)
  • Currently supports the EM406 GPS. Support for Locosys and Ublox GPS modules coming soon
  • Uses "chained PID loops" to combine the stabilization and navigation functions seamlessly
What you need (if you already have an ArduPilot and FMA Co-Pilot you don't need anything else): Instructions for modifying the FMA sensor cable to use it with ArduPilot are here. Instructions for in-field calibration and setup of ArduPilot 2.0 are here. (Note: ArduPilot 2.0 put the EM406 GPS module into binary mode, which disables its onboard LED. That means that if you try to use the same GPS module with ArduPilot 1.0, it won't work (unless you program back into NMEA mode with a utility such as this one). However, if you let it sit for a few days without power, the onboard capacitor will run out and it will return to its default NMEA mode and will work with ArduPilot 1.0 again) The next version, 2.1, is now in private alpha. It will include the following:
  • Uses Z sensor for self-calibration in the field
  • Uses small desktop app to load ArduPilot settings and waypoints, without having to work with code
  • Adds throttle to altitude control, improving accuracy and wind performance
E-mail me when people leave their comments –

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

Join diydrones


  • It's a nice app, Alpo, very convenient to use. Thanks.
  • In the following address there is a page, where you can make coordinates:

    Please copy this htm file to your own computer and make necessary changes.
    (Now page is in pages.google.com, and in future they will not allow javascript in their pages)
  • 3D Robotics
    Yes, we'll make it easier to pick your own sensor direction in 2.2.
  • I had the cable facing forwards so I could feed it into the cockpit through the hatch opening. I think I understand now that reversing the servos had no effect on the IR response. The IR orientation was all that mattered. I'd still like to change the code instead of having to rotate the IR sensor. It would make for a much cleaner installation.
  • 3D Robotics

    What do you mean by "reversed"? The sensor should have the cable facing backwards. Do you mean that it's now facing forwards?

    (In version 2.1 we set all those things with a setup utility, so you won't need to fiddle with the code)
  • Got the servo throws for aileron and elevator reversed in the code for my Easy Glider Pro and got her flying in autonomous mode after tweaking a few things. One thing I had to "tweak" was rotating the IR sensor 180 degrees because it seems that reversing the servos has also reversed the IR sensor response! The sensor is still reversed even after recalibrating it. How do you reverse the IR sensor input in the 2.0 code? After I get all of this figured out I'll write a blog on "tweaking the code for the Easy Glider Pro".
  • 3D Robotics
    It's a little buried in the current code. In 2.1 we handle it with a desktop setup app; no Arduino IDE required.

    [Servo tab]

    pulse_servo_2(90+pitch); //invert sign if you want to reverse the servo...
  • ArduPilot 1.0 has a line for reversing servo throw---- #define reverse_yaw 1 // normal = 0 and reverse = 1
    This isn't in 2.0. How do you reverse the servo throw in the latest code?
  • Sweet! :) ill hopefully test it out tomorrow in some high wind lol... its crazy here at the moment...
    By the way will their be a funjet/high wing trainer code out in 2.1?

    Thanks again,
  • Developer
    and sorry i mean sin (sen is in latin or spanish)
This reply was deleted.