Arducopter 2.1 release

Ardupilot 2.1 is out and can be downloaded by the mission planner (or with Git). You must have the latest version of MP to be compatible. If you're compiling with Arduino, you must use the "mrelax" version of Arduino that is in our downloads section. This is because Arduino was never tested with code larger than 128K. And since our code is probably the most complex Arduino project ever, we found the issue. This altered version of Arduino allows you to specify a special compiler flag that makes it work again. Otherwise it's functionally identical to version 22. When we transition to 1.0 of Arduino, you won't need to use a modified version, since they have patched it for us.


This version has a few new features, but is mostly a bug fixes and compatibility with APM2.  The nav routines have been updated and well tested. I'm getting very reliable results now. 

One new feature that I snuck in was SuperSimple mode, which re-calibrates simple mode when you are flying with GPS > 20m from home. It allows you to fly in any direction in Simple outside of this radius. Check the wiki for more info.

Added Auto_land mode to help with Failsafe implementations.


Here's a video I took flying WPs using CH 7 to toggle record them. I flew back and forth over the park to se how straight a line I could maintain and how repeatable it was, then I recorded a few waypoints to the left and right, then I recorded a landing wp by toggling CH7 when the copter was on the ground. The landing could be improved, it was trying to maintain a location and didn't level out in the last meter to the ground as it should. I was missing the screw holding my Arm in place so it folded in just a bit, no real damage done. BTW, this video is W/O a sonar.


The next video is of the Loiter control. I improved loiter a bit with a bug fix and the stability patch from the stabilization. Wind was mild. Could be tuned just a little higher.



Here's a video from Dec 17 showing WP recording. The radio was on the ground the entire video. The 3DR frame did not have a sonar on it. The landing was recorded as well.



Tridge wrote a Geo - fence routine to restrict flight within a certain area for Arduplane. We'll port that over to AC. You'll be able to fly acro inside a safe area and have it go into AP if you loose control!

We need one more pass to finalize the Optical flow integration.

Finalization of the Z Accel code.


Have fun and fly safe,




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

Join diydrones

Email me when people reply –


  • GREAT VIDEO Jason ! ! ! !

    Did you use PLANNER to set up the waypoints and then execute the flight plan via PLANNER?



  • Will those patches find its way to an official release for the APM1280? Or is 2.0.55 the last official release for this APM?

  • Since I hadn't been some time watching ACM development I missed things around I2C compass communication problem.

    Can somebode describe me the state of the preblematic driver? Is there still this threat of dead control loop?

    I'm asking because I suspect one of my crash (not ACM, it was APM) to this problem.

  • Moderator

    Strange that loiter works for many and doesn't for others. It's great on my custom quad after tuning. I agree, though, that automatically rooting out any loiter instability/inaccuracy will be sweet.

  • I have tried declination of -10 and 10.

    In both the circle was CCW.

    There is something wrong with the algorithm.

    The ardupirate did something good, i dont know what? but i know it used to stay in about 1 meter radius in GPS hold mode.

  • Loiter still (after the code fixed) doesnt work good.

    with low values P it drifted

    With high values P it circles around the WP

    the magnetometer is perfectly set.

  • I have found a bug that would affect people living on high latitudes (ell actually it affects everybody). I already alerted Jason et al., but if you want to try the fix yourself you will probably sharpen up rtl and loiter.

    It's about the variable ScaleLongDown that gets multiplied to the longitude error.

    It's always 1, so it is actually like being on the equator, while longitude difference changes based on your latitude.

    So this is the fix:

    in commands.pde modify this code

    // this is used to offset the shrinking longitude as we go towards the poles
    float rads = (abs( * 0.0174532925;
    scaleLongDown = cos(rads);
    scaleLongUp = 1.0f/cos(rads);

    with this:

    // this is used to offset the shrinking longitude as we go towards the poles
    float rads = (fabs((float) * 0.0174532925;
    scaleLongDown = cos(rads);
    scaleLongUp = 1.0f/cos(rads);

    Let us know if you find any improvements!

    Today I had very good performance on RTL and Loiter without PID tuning.


  • I see that the Loiter reset is disable.

    #if AUTO_RESET_LOITER == 1
    if(control_mode == LOITER){
    //if((abs(g.rc_2.control_in) + abs(g.rc_1.control_in)) > 1500){
    // reset LOITER to current position
    //next_WP = current_loc;

  • Developer

    Hello to All,

    Here my PID setup used for the latest serie of tests flights done on the arducopter v2.0.56 that I have done on dec 10, 2011:


    I have done some minor change from the orginal version 2.0.56, so I have:

    - used the log.pde file from the v2.0.50 because the log.pde of the v2.0.56 doesn't work for me, most particular about the baro_alt datas.

    - corrected a minor bug about the loiter latitude in the navigation.pde,

    - reduced the required time to 2 sec for arming the motors (ARM DELAY) from 30 to 10 in the motor.pde,

    - updated the APM_Config.h file so as to use the magnetometer and a quad plus config.

    you may download my updated version of the firmware of the arducopter v2.0.56a HERE

    Below the recorded flight path in AUTO mode:


    and the logged altitude during the flight:


    here, the video of one of tests flights:

    Congratulations to Jason and all the Team... The arducopter firmware is nearly close to be perfect....

    Regards, Jean-Louis

  • Redid some test with the version of Jean Louis Naudin and flies stable. (Previous test was probably bad because I didn't reset eeprom)

    To be honest, not more stable than previous versions I've flown.

    Nevertheless, the baro alt hold (no sonar installed) was very nice. No pulsing, just gentle up and downs not more than a metre.

    Loiter works but I get CW circles getting bigger.

    I read in a previous topic that this could be stoppes with playing with declination. But I can't find the topic any more.

    Was it increasing declination when loiter goes clockwise? Or invers??


    The Dev team is getting closer .........


This reply was deleted.


DIY Robocars via Twitter
RT @donkey_car: Human-scale Donkey Car! Hope this makes it to a @diyrobocars race
DIY Robocars via Twitter
DIY Robocars via Twitter
Jun 16
DIY Robocars via Twitter
RT @GrantEMoe: I won my first @diyrobocars @donkey_car virtual race! Many thanks to @chr1sa @EllerbachMaxime @tawnkramer and everyone who m…
Jun 13
DIY Robocars via Twitter
RT @gclue_akira: JetRacerで自動走行したコースを、InstantNeRFで再構築。データセットは別々に収集 #jetracer #instantNeRT
Jun 13
DIY Robocars via Twitter
RT @SmallpixelCar: SPC 3.0 Now the motor also works. This car is doable. I just need to design a deck to mount my compute and sensors. http…
Jun 13
DIY Robocars via Twitter
RT @SmallpixelCar: My new car SPC 3.0.
Jun 7
DIY Robocars via Twitter
RT @SmallpixelCar: High speed at @diyrobocars thanks @EdwardM26321707 for sharing the video
Jun 7
DIY Robocars via Twitter
RT @SmallpixelCar: Today at @RAMS_RC_Club for @diyrobocars. Used @emlid RTK GPS and @adafruit @BoschGlobal IMU. Lap time 28s…
May 28
DIY Robocars via Twitter
May 15
DIY Robocars via Twitter
May 14
DIY Robocars via Twitter
May 13
DIY Robocars via Twitter
RT @f1tenth: Say hi to our newest #F1TENTH creation for @ieee_ras_icra next week in Philly. It’s going to be huge! 😎 🔥 @AutowareFdn @PennEn…
May 13
DIY Robocars via Twitter
May 11
DIY Robocars via Twitter
May 8
DIY Robocars via Twitter
RT @SmallpixelCar: Noticed my car zigzagged in last run. It turned out to be the grass stuck in the wheel and made the odometry less accura…
May 8