3D Robotics

ArduPilot code now in alpha

As Jordi continues testing and improving the ArduPilot boards, I've been integrating his cool binary-mode GPS parser and otherwise improving our pre-alpha code. So I think we're now a proper alpha, which is to say that although this hasn't been tested in the air yet, it does have most of the ingredients of a basic autopilot. The Arduino code is here. Improvements include: --Binary mode GPS parser with checksum error checking and high-speed (56k) throughput --Hardware-driven servo control (using the Arduino Servo Timer library), which means less processor overhead, tighter response and no jitters. --Now samples the rudder at autopilot initiation, so if the rudder is trimmed a bit one way or another that will be retained --Autopilot board LEDs now show GPS status We're going to do a few more alphas as we test the code on the latest versions of the hardware and against the simulator. Then, once we've tested it in the air, we'll move to beta. So consider this version just instructive and don't fly anything with it!
E-mail me when people leave their comments –

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

Join diydrones


  • Ok, thanks Chris !

  • 3D Robotics
    We should be starting sales within the month.
  • Chris,

    thanks for this fast response, I'm really impressed :-). No problem with things you've mentioned, I've just decided to order the ArduPilot kit for the first tries. Where is this possible ?

  • 3D Robotics

    The commercial version probably won't be out until early next year. Also, it's not clear to us that we'll be able to sell that one overseas, either (unlike ArduPilot, it's a fully functional autopilot). However, you're free to buy the boards and components and solder one up yourself--there are no export restrictions on that!

    The advantage we have over Dean is that our autopilots PCB files and code are all open source,and we're non-commerical. Export controls don't cover technology that's in the public domain. Pre-made autopilots are more of a gray area.
  • Hi friends of ArduPilot,

    just joined this great site here and I'm very impressed of the ArduPilot respectively the Pro. Awesome work. I'm a member of the original beta team of Dean's Attopilot from the beginning but recently things are going very bad for us in overseas (export restrictions), http://www.rcgroups.com/forums/report.php?p=11112276 . So I was looking for an alternative and as a AVR/ANSI C enthusiast since a long time I deciced to give ArduPilot a try :-). I'm more interested in the ArduPilot Pro, is there any idea when it's possible to order a kit of the Pro ?

    Cheers and have a nice weekend,

    RC Groups
    RC Groups - the most active Radio Control model community: electric and fuel rc airplanes,rc helis,rc boats and rc cars. Features discussion forums,…
  • 3D Robotics
    Yes, the servo timer routines only work for two servos, but you can always use the basic PWM routines on any other pin for as many other servos as you need (albeit less effeciently). ArduPilot is set up to control two servos, so we think we've got the optimal solution for our needs already. But if you wanted to control a lot of servos, you might indeed want to use a dedicated servo driver chip or a the specialized interrupt-driven servo code that Jordi has developed.

    I wouldn't use an Attiny, however, since it really only has four I/O pins.
  • Chris,

    ( Hi Aristotle , yes this is a great site )

    Back to servo drivers.

    The current system looks really good don't get me wrong.
    However, since the ATTiny is almost a single chip solution
    I was considering off loading the Ardupilot and only updating the servos say 10 X per second
    when under autopilot mode.
    With the libservo you get two servo outputs ( I think), but what if you wanted more ?

    The ATTiny could then take care of providing the actual servo drive every 20mS in addition it
    could drive a couple of servos.
    You can then address servos on an "as-needed" basis using a common bus like I2C to send commands to the servos.
    You can also add extra servos without having to add extra I/O.

    The failsafe switch over is a problem but I was considering not using that.
    ( I know that no failsafe is NOT a good idea )

    BTW, just for interest, I worked on my first autopilot in the mid 80's it used an 8051 and two rotating gyros (3000 UK pounds each) for rate control. We had a barometric pressure sensor for altitude and a magentometer for heading.
    We had 3 control options. Manual, Rate and Hold (headng and height hold)
    Neat system
    Been dying to get back into this technology ever since.
  • Aristotle,

    I am amso interested in the possibility to use ArduPilot in a helicopter, specificaly maybe T-REX 450. I am also interested to use it in aerial photographie.
  • 3D Robotics

    Thanks for the enthusiastic support and welcome to the site. My advice is to start with planes. It's possible that ArduPilot Pro (which has built-in thermopilies) could fly a heli, but we've never tested that and you'd have to develop the code yourself at this stage. Helis are a lot harder than fixed wings to make autonomous, and it's frankly more than I want to chew off at this moment. But if you're up for the challenge, we'd sure love to see if it can be done.
  • Wow I just found this site and man, I'm building an ardupilot!!!!
    I already have 8 helicopters, a few planes, a CPD-4, an FTDI cable, and like 8 arduinos.....

    I'll be watching closely, do you think this could fly a t-rex 450? I'm hesitant to hook this up to anything bigger till I've learned how it all works. I'm going to read over the code now.
This reply was deleted.