More Ardustation MAVLink software


I've written my own Ardustation software for talking to the APM using MAVLink. The software is based on my previous version (for APM v1.x), which was in turn based on code written by Michael Smith.

It is capable of editing parameters on-board the aircraft, including dedicated pages for PID settings. It can send commands, such as restarting the mission. There are also two summary pages showing flight status and mission status. The design is fairly modular, so pages, commands and parameters can be removed or rearranged etc.
Whilst I was developing this software, I was unaware of the level of development on the Ardustation 2 code. I am still happy with my version, however, as it suits my current needs. If you'd like to check it out, follow the download link below.

The demonstration video above is shown on my ArdustationUno, but the software is 100% compatible with the standard DIYDrones Ardustation
3689430230?profile=originalThanks to Build Your Own Drone for supplying the unit pictured above for testing the compatibility of the software.

So far I have tested it with ArduPlane 2.24. The download is linked below, I've included a previous version in case of difficulties. You will need to use the included libraries.


-- Update 01 Dec 2011 --

Depending on whether you use the airspeed sensor you should change line 50 of ArdustationM.pde such that the PID settings page alters the correct navigation pitch value. Set it to 1 if you are using the pitot tubes



I've found that downloading parameters is currently a bit hit and miss, it seems that only about 10 are downloaded at a time, so you may have to request the parameters more than once before they show up. Alternatively you can edit the local value before syncing with no problems.

E-mail me when people leave their comments –

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

Join diydrones


  • Hi Jean-Louis,

    I haven't done anything noteworthy on it since dec 2011. I got some basic parameter editing working with ACM in feb when I was dabbling with a tricopter.

    Have you found this code to be incompatible with the new APM builds? I've been really busy with work recently and haven't tried them out.



  • Developer

    Hello Colin,

    Have you done some updates of the ardustationM since dec 2011 with the latest version of Mavlink ?

    Regards, Jean-Louis

  • Thanks Alex :)

    Cheers Fete, I'm glad it worked for you :)

    I mostly just use my APM on fixed wing at the moment, so I expect most of the parameter editing won't work for AC. I did play with it on a tricopter one weekend, so started an arducopter branch of the ardustation. It's somewhat work in progress, but should allow you tinker with the important PIDs. If you want to try it, it's on my github here

    Good luck with your enclosure

  • Thanks for developing and posting this code, Colin. I'd put the ArduStation aside when I was unable to get it to work with the ArduStation2 codebase last year. I still can't get AS2 to connect to my APM, but your code worked out of the box. I've compiled against and ground tested it with AP2.24 and AC2.5.1, the two firmware I currently am using. I will test-fly when I can get myself some decent weather. Also, now I need to build an enclosure for this little beauty of a ground station.
  • the ability to change the baudrate without reflashing is cool

    very nice design, Colin, thank you!

  • Yes, very weird. Oh well, I'm glad you got it to run smoothly in the end. I'm also running 2.24, the newer versions don't fit on my 1280 without disabling more than I'd like to. 

    Enjoy ;-)

  • Colin,

    Definitely something strange going on but not convinced it is the xbees.......

    Been having some issues with APM v2.26 and downgraded to 2.24 tonight. The Ardustation with your code has been running really nicely - fast smooth updates with no change to the defaults or my Xbees. Tried it with radio on radio off - can't get to to fail.


    Behaviour earlier was as you describe losing heartbeat and really slow update. Either some sort of interference issue or APM issue?



  • All,

    I've uploaded the latest version now to the blog now.



    I doubt you'll see any real difference in performance since this morning's version. I was just testing out some things my end and I think I hit the same problem as you, with really slow update rates!

    I am lucky enough to have three xbees, so I switched out the xbee in my plane and lo and behold the problem went away, nice smooth updates again. This is weird as yesterday there were no problems at all. I shall have to investigate, but it looks like your xbee link is the issue here.

    Good luck,


  • Paul,

    Try changing line 54 of ArdustationM.pde to

    #define MAV_STREAM_RATE 2

    and see if that helps. One issue I found was that if you request too much information from the APM, packets start to get dropped as the station can't decode the messages quickly enough. The above setting means everything but attitude comes in at 2Hz; attitude can be left at 4Hz. I think these are the settings I was using in my latest version- which worked very well for me. You can tell there's too much info coming in when heartbeat messages start to drop and it beeps at you. I can also post a copy of my XBEE series 2 settings when I get home. 

    So far as running different versions, the code checks for an eeprom signature when it turns on, if it's not correct it will automatically erase the eeprom and write the default settings. Although you might be getting some weird default parameters showing up on your version there, as the current push to GIT doesn't initialise them. This is fixed in what I will post this evening.


  • Hi Colin,

    If I'm just going for a quick fly around I much prefer not to take a laptop and Ardustation is perfect for what I want (tweak a few parameters and get a bit of confidence that it is going in the right direction!).

    Loaded up the new version. Something not right in my setup, I get a full set of data but changes in attitude come through really slowly and intermittently. Mode changes (Auto/Stab etc) come through straight away. I'll go back to basics starting with the XBees and power suppies and see if I can narrow the issue down - I'll let you know either way how I get on.

    One thing you might be able to clarify - I've had a few versions of different software on  - is there anything else you need to do when loading the s/w other than loading up the programme via arduino (resetting eeprom type stuff)?

    thanks, Paul


This reply was deleted.