ArduCopter Beta 2 release--GPS position hold, altitude hold and more!

ArduCopter Beta 2 release


After a long wait we are delighted to finally release our second official firmware for ArduCopter. This code is our intermediate code (code name NG) that is a step towards reconciling with the full ArduPilot Mega framework. The next version (codename ArduCopter Mega, ACM) will be fully compatible. As always, be careful when testing fully new software.


Our development group has been flying this software on many ArduCopters without any problems but still it does not mean that is won't have any bugs, there might be one just behind the corner. Tho we have been trying to nail them all down.


Thank you for whole ArduCopter/ArduPilot Mega teams for this great release.


Always check our latest release notes and test instructions from ArduCopter Wiki pages.


Main new features:

  • New architecture. This puts us on the path of integrating fully with the main ArduPilot Mega code, which brings compatibility with all the UAS tools (ground stations, mission planners, datalog analysis, and a full two-way flight command language) that are already in place with the fixed-wing UAVs. As a result of this back-end code migration, you should see full UAV features come to ArduCopter more quickly going forward and rotary-wing development keep pace with the fixed wing versions.
  • CLI (Command Line Interface) for easy and quick configuration: The ArduCopter Configurator still works fine but some of tests have been moved only to CLI. The CLI allows people with Macs and Linux to set up ArduCopter without having to run the Windows-only Configurator.
  • GPS position hold: This has been tested with MediaTEK GPS that comes along with ArduCopter kits. Expected hold will be around 3-5 meters from activation location. ArduCopter can still be manually flown with position hold on, but it will return to the hold position when you release the sticks.
  • Magnetometer support: The DIY Drones magnetometer is now in stock and fully supported.
  • Altitude hold: This barometer assisted altitude hold works while user has activated GPS position hold. It is possible to alter altitude even when position hold is on with throttle.
  • Easy X and + configuration: You can choose between either X or + flight modes by simply moving a DIP switch. (Note that the APM/IMU must be mounted in the + position, regardless of which mode you're flying in. This may change in future versions of the code, but for now it simplifies installation for most users.)
  • Helicopter code: preliminary and flyable code for more traditional helicopters. Code has been tested around world with some Trex450 style copters.
  • ESC calibrations for official ArduCopter ESC's

Here's a video of GPS position and altitude hold working:



Quick install notes:

--Download the code and unzip the ArduCopter RC2 folder to your desktop. It will include two folders: "ArduCopterNG" and "libraries"

- Move the libraries folder into your regular Arduino sketchfile folder, replacing the libraries that are already there. Delete all the old libraries folder and copy this one in instead.

- Open the ArduCopterNG.pde file in Arduino and check that the #defines in that file and ArduUser.h meet your requirements. Typically the only one you will need to check are magnetometer orientation (if you're using a magnetometer):

#define MAGORIENTATION  AP_COMPASS_COMPONENTS_UP_PINS_FORWARD       // This is default solution for ArduCopter
//#define MAGORIENTATION  AP_COMPASS_COMPONENTS_UP_PINS_BACK        // Alternative orientation for ArduCopter
//#define MAGORIENTATION  AP_COMPASS_COMPONENTS_DOWN_PINS_FORWARD    // If you have soldered Magneto to IMU shield as shown on the wiki

- Upload software to your ArduCopter electronics

- Run the CLI by changing position of SW2 switch and reboot your APM--towards the servo rails is CLI mode; towards the GPS connector is flight mode. Open the Arduino serial monitor, setting baud rate to 115200 baud and ensuring that "Carriage Returns" are enabled. You should see a command line on the monitor. CLI instructions are here.

- Run and all necessary settings like factory reset and IMU level calibrations along others your might need.

- Make normal flight preparation tests before connecting your propellers

- Fly safe....


Installation and latest information, please do check our ArduCopter and ArduPilot Mega wiki sites for more information.


ArduCopter NG, NG specific details and test procedures

ArduCopter Wiki, for all quad and heli based information and updates

ArduCopter Heli, especially for ArduCopter heli modifications. It is flyable and needs more beta testers.

ArduPilot Mega Wiki, for general electronics related information and also fixedwings


Last but not least, the release code: ArduCopter RC2



Views: 4196

3D Robotics
Comment by Chris Anderson on December 18, 2010 at 9:02am

"NG" was our codename for this version. It stood for "next generation". The version following this, which is based on ArduPilot Mega, is codenamed "ACM", for ArduCopter Mega. When they're released, they're all called ArduCopter [version].

Comment by Eric Smith on December 18, 2010 at 9:29am

Hi Chris,


Could you explain the difference between ArducopterNG and ArduPilotMega? I gather that at some point these two code bases will be merged into a single program. At this point why should someone use one over the other? In my case I'm building a "towel-bar quad" not using the Arducopter kit.

3D Robotics
Comment by Chris Anderson on December 18, 2010 at 9:33am

ArduCopter is for quads. ArduPilotMega is for planes. Very different!


The code bases are being merged, but will never be a single program. They share libraries, etc, but will always be released separately as "ArduCopter" and "ArduPilotMega"


Comment by Eric Smith on December 18, 2010 at 9:54am

Wow, I missed that major point! I just noticed that the size of the zip files for ArduCopter (300K including lib) and ArduPilotMega (1.1M)  are very different with that of APM being much larger. I would have thought the ArduCopter would be more complex and thus have more code.

3D Robotics
Comment by Chris Anderson on December 18, 2010 at 9:57am

APM is much more complex. It's a full UAV system, with scriptable missions, etc. The plan is to get ArduCopter there in Jan.

Comment by Simone Chiaretta on December 18, 2010 at 2:10pm

Looking forward to trying to assemble ArduCopter these Xmas holidays, and try all the latest features of Arducopter

Comment by Randy on December 19, 2010 at 7:09am

@Mees (from page 2) re the compass orientations for a Sparkfun Mag..


Not all the possible options for compass orientation are right in the arduCopterNG pde because there are 32 different possibilities!  You can find the full list in the the AP_Compass library:


because you have the sparkfun mag you should pick on of the options that starts with AP_COMPASS_SPARKFUN".  For example: AP_COMPASS_SPARKFUN_COMPONENTS_UP_PINS_FORWARD


please tell me if this isn't clear.



Comment by Vincent Mees on December 19, 2010 at 8:16am



Ok thx, I've founded it and it compiles ;-)

But when I now switch to CLI, nothing shows. Speed and comis OK. Did a test with compass and it works.

3D Robotics
Comment by Chris Anderson on December 19, 2010 at 8:36am

When you say yo switch to CLI and nothing shows, are you resetting your board after you move the slider switch?
Comment by Vincent Mees on December 19, 2010 at 8:48am

Switch has to be to the back. That was it.

Mea culpa


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service