I've just uploaded the latest Ardustation 2 release - 2.0.15 which adds Mavlink 1.0 support. This is to support the upcoming releases of ACM and APM with Mavlink 1.0. You can still use this release with Mavlink 0.9 by commenting out the "#define MAVLINK10" statement in the main ardustation2.pde file. 

This version will also warn you if it detects the wrong Mavlink heartbeat being transmitted.  Ardustation 2.0.15 will display an error message on the LCD when it detects the wrong heartbeat and direct you recompile with the opposite state of the #define MAVLINK10 statement. The start up message displayed on the LCD will indicate if you have compiled for Mavlink 1.0 or Mavlink 0.9. 

I've have tested Mavlink 1.0 with ACM 2.6 Gamma, APM 2.4 (with Mavlnk 1.0 enabled) and with the Mavlink 1.0 version of the Mission Planner.

As always, please let me kinow if you have any issues with this release.

heyno@heino.com or comment on this forum post. 


and is also available in my git clone here:


and you will need a git client to pull the clone down.



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

Join diydrones

Email me when people reply –


  • Do you know why I would be getting this during a flight? I'm using latest arduplane code with mavlink 1.0. Most of the times it works but during a flight I notice it stops tracking and then I see that error. I restart it and all is ok again.

    Wrong Mavlink

    Recompile with

    Mavlink 0.9


  • I'm using 3S 2200 LiPo for the antenna tracker with a castle BEC for the ardustation because it came with a wrong resistor on the power regulator. Anyway since I'm installing this in a permanent location, I would like to power it with a 12v adapter. I have a 2 amp 120/12 adapter. Would it be a problem to hook it up directly like that but still keep the battery on in case something happens to the 120v or the adapter? Just to have backup but so I don't have to worry about running out of battery power. I just know LiPo's need a specific type of charging but I'm thinking with 12v it will not cause a problem of overcharging or would it?

  • Yes I must have remembered that getting me stuck last time. I'm getting ready to fix my antenna to a 6 meter mask and will not be able to mess with it easily though not impossible. I know can get the home location in the usual way and then just not press home again on subsequent flights where I restart the antenna tracker. I guess that would work as I don't always reset the home position now from day to day and it's always pointing right. But what I would prefer to do is put in it's exact longitude latitude since it will always be at that location. I'm guessing when you press the home button, it fixes that log/lat in a variable somewhere? Can I just fix the variable to it's permanent location?

  • I'm getting an error when trying to upload via Arduino 1.0.1 on OS X. I started by replacing the library and ardustation2 folder in my sketch folder. I then compiled which was ok but then when I upload I get this.

    Binary sketch size: 23,804 bytes (of a 32,256 byte maximum)
    avrdude: stk500_recv(): programmer is not responding

    I'm connecting and powering via FTDI cable. I chose Arduino Uno as board type.

  • Hi Heino,

    I was using the Ardustation with the old code. I set the pan servo for 360degrees work.

    Is it still possible ?

    The pan test feature does no more work for me, with your code.

    On another side I would like to port the code for usage with MatrixPilot, which is MAVlink1.0 ready.

    I can receive flight datas, but e.g. altitude does not match.

    MatrixPilot does use another way to compute altitude over ground.

    I tried to modify the Ardustation code, but without success.

    Would you like to mentor me doing those changes, e.g. adding new packet ?

    Thanks and best regards,


  • Hi ... Thanks for your attention ... I have another question .... my tracker uses Futaba servos ... and when I did the test, the servo was beyond limits .. how I can add a limit on the software ..? ? the problem is below 50 and above 140 in servo angles ... I understand the servos futaba only have 60 degrees of movement on each side .... sorry for the inconvenience

    Luis Carlos



  • Hi Heino...it´s possible to add a menu to set home altitude for the arduplane... similar to switch between absolute and relative altitud...this function it´s available in the mission planner...


    Thanks for your attention..

  • Heino,

    Thanks a lot for the update and also keeping your git clone up to date. Makes merging changes so much easier. I didn't get as much flight time this summer yet at least not as much as I would have hoped for. Since I switched APM to a different plane I'm still spending time tuning the PID levels.

    Middle term I also plan to throw together an antenna tracker for a video link. Latest then I should figure out how you solved this but I guess I should just look at the code. Was planning to throw the tracker together with some servos, hot glue and shapelock, let's see how that goes.

    Cheers, Andre

  • Moderator
    awesome work. this works with the $59 ardustation correct?
  • Joachim,

    The fact that the 3DR radio is out of the picture is a good thing because I would have originally said that the way the 3DR radio handles rf transmissions might be a problem with new logic I added to compensate for the Xbee dropping bytes during transmission.  Without any rf technology in the loop means that it could still be the logic I added clobbering the heartbyte because of the unique timing of your APM2 and Ardustation.  However I would have expected that to occur with 0.9 also - so it is definitely a mystery to me right now.  I'll will create a 3 conductor cable and hook up my quad and Ardustation in the same way to take the xbee out of the picture and see what happens then.  When I'm set up this way, I'll add some diagnostics to the code to display the values of the first 20 bytes of the 1HZ frame and basic timing of when they arrive so that I can identify if the heartbyte is being corrupted or tripping my parser abort logic. That will also say if serial comm is shut down completely on your setup for some reason. The first message transmitted in 0.9 or 1.0 Mavlink is the heartbeat, so it should be obvious once I add the debug to see why the parser doesn't see it or any other traffic for that matter.  The fact that parameter download doesn't work for you tells me that the "start" message that turns on Mavlink 1.0 is not working. I bet you're not getting any traffic, even when you select start from the Ardustation. 

    I bet the Ardustation would see traffic if you also had the mission planner sending the "start Mavlink" message to the APM2 like I do when I have multiple ground Xbees running. This is difficult because you can't connect both the laptop running mission planner and Ardustation as easily as with multiple Xbees. I once had a bug where the start did not work, but I could start the traffic from the mission planner and things did work.  

    I'll setup my non xbee mode with my Ardustation and fool around with it to see what I can add to help you see if the traffic is occurring at all or not or if the heartbyte is being corrupted.  I'll also look at the Mavlink 1.0 "start" command to see if something may be up there.


This reply was deleted.