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 –



  • Hi

    When I use "Antenna test " from ardustation on PAN settings  from 90 to 95 my 360deg winch servo goes 90deg - how can I correct that / where in the code.


  • Admin


    I have compiled and loaded Ardustation 2.0.15 on my ArduStation and I got the correct screen at statup. I am using 900MHz Xbees on the station and on my ArduRover. I got a heartbeat right off the bat when I turned on the APM1/Oilpan on the rover. After the GPS got sat lock everything was a go and I was getting good data. Then I received a message that I was using the wrong version of Mavlink and should recompile to 0.9. After restarting the station after each occurrence of the Mavlink message the station would go longer without the message. Is this due to a packet issue or what? Would upgrading to 2.0.16 help to alleviate this problem?



  • Heino,

    If you want, I can send you the changes, it is pretty easy, remove the camera settings from the Case statement and adjust the TOTAL_PARAMS to 49 and a few other places it needs to be adjusted.

    I can't give you what I have been working on directly because I have been modifying the code a lot. I am using an ATMega644 processor instead of a ATMega328. I did this mainly because I had one laying around, I wanted 2 serial outputs, one that I can dedicate to Telemetry and the other for debugging. And also I might need it for more I/O.

    I also added some features like enabling the buzzer for a low voltage alarm, a ability to set a voltage level in EEProm for the alarm level. Soon I am going to add a graphic LCD to get more screen space so that will take some time.


  • Go here to see what I found about the 49 0f 51 error.


    The deal is that it times out but still works so you can ignore it.

  • Ardustation Users, is the Ardustation compatable with the newer 3DR radio telemetry receivers? I notice the Ardustation seems to have a place on the back for an XBee, how would I interface it to a 3DR instead. I intend to use the Ardustation to control a antenna tracker. What are the largest (strongest) Servos anyone has used to date?

    Comments and advice appreciated!


  • Ok, trying to use Ardustation for the first time.  I have to power from a BEC because the LM317 doesn't seem to be working right.

    So I've got everything connected, and the Xbees are talking (I can see the heartbeat).  But other than that it's not going well.  

    I'm using Arducopter 2.7.1, and Ardustation 2.0.15.

    When I do Get Params, it gets up to 49 of 51 and then gets stuck.  If I then Edit/View Params, is shows a bunch of stuff that don't make any sense.  I think it's showing AC params with Arduplane names.  

    (Edit: Oh wait, now the names appear properly.  Weird)

    Then, the menus don't seem to be as shown here:


    Most importantly, I don't have the PIDS menu, which was the biggest reason I'm doing this. 

    Am I doing something wrong?

  • Hello Heino,

    Hope you are still reading this :)

    I finally built myself a simple (and not yet fully functioning) antenna tracker and wanted to get going on the antenna tracking side. However, I have some conceptual problems to understand the code at that part. So let's say one has a 180 degrees Pan servo. Accessing this via the servo library allows one to control the servo over a range of [0,180] degrees, as I understand. Also, if I understand correctly, the Ardustation computes the bearing from the home location to the current location of the plane and maps that to the control (the angle from 0 to 180) for the pan servo.

    So if we assume that the tracker was initially oriented to point north (center point servo, so 90 degrees servo input), which corresponds to 0 degree bearing, then should one not just subtract 90 degrees from the bearing to get the proper servo control? Instead, inside Antenna.pde the code does something else:

    Bearing_Home=calc_bearing(Latitude_Home, Longitude_Home, latitude, longitude
    Bearing_Home = 180-(Bearing_Home/2.0);
    // Offset for servo limit
    Bearing_Home = Bearing_Home + offset;
    if (Bearing_Home > 180.0)
    Bearing_Home = Bearing_Home - 180.0;
    if (Bearing_Home <0.0)
    Bearing_Home = Bearing_Home + 180.0;

    Particularly the division by 2.0 I don't quite understand. Sorry for that strange question but I'm trying to learn here :-) Thanks and best regards,


  • Hi Heino

    Thx for great work with Ardustation!

    Can you give advice how to get Flightmodes with mavlink 1.0 because it has changed after 0.9.

    I was trying to use packet.custom_mode and packet.base_mode , but i'm not sure if it's the right way.

    Regards Jani

  • Heino,

    Do you know why my APM Planner 1.1.97 mav1.0 shows altitude 158 and the display on the ardustation is 290. Its tracking ok but it seems with this altitude difference, it would cause it to under or overshoot the plane. I'm doing this with the plane sitting on the ground next to the tracker.

This reply was deleted.


DIY Robocars via Twitter
RT @TinkerGen_: "The Tinkergen MARK ($199) is my new favorite starter robocar. It’s got everything — computer vision, deep learning, sensor…
15 hours ago
DIY Robocars via Twitter
15 hours ago
DIY Robocars via Twitter
RT @roboton_io: Join our FREE Sumo Competition 🤖🏆 👉 https://roboton.io/ranking/vsc2020 #sumo #robot #edtech #competition #games4ed https://t.co/WOx…
Nov 16
DIY Drones via Twitter
First impressions of Tinkergen MARK robocar https://ift.tt/36IeZHc
Nov 16
DIY Robocars via Twitter
Our review of the @TinkerGen_ MARK robocar, which is the best on the market right now https://diyrobocars.com/2020/11/15/first-impressions-of-tinkergen-mark-robocar/ https://t.co/ENIlU5SfZ2
Nov 15
DIY Robocars via Twitter
RT @Ingmar_Stapel: I have now explained the OpenBot project in great detail on my blog with 12 articles step by step. I hope you enjoy read…
Nov 15
DIY Robocars via Twitter
RT @DAVGtech: This is a must attend. Click the link, follow link to read the story, sign up. #chaos2020 #digitalconnection #digitalworld ht…
Nov 15
DIY Robocars via Twitter
RT @a1k0n: Got a new chassis for outdoor races (hobbyking Quantum Vandal) but I totally didn't expect that it might cause problems for my g…
Nov 11
DIY Drones via Twitter
First impressions of the Intel OpenBot https://ift.tt/36qkVV4
Nov 10
DIY Robocars via Twitter
Nov 9
DIY Robocars via Twitter
Excellent use of cardboard instead of 3D printing! https://twitter.com/Ingmar_Stapel/status/1324960595318333441
Nov 7
DIY Robocars via Twitter
RT @chr1sa: We've got a record 50 teams competing in this month's @DIYRobocars @donkey_car virtual AI car race. Starting today at 10:00am…
Nov 7
DIY Robocars via Twitter
Nov 6
DIY Robocars via Twitter
RT @a1k0n: Car's view, using a fisheye camera. The ceiling light tracking algorithm gave me some ideas to improve ConeSLAM, and having grou…
Nov 5
DIY Robocars via Twitter
RT @a1k0n: To get ground truth I measured the rug, found the pixel coordinates of its corners, calibrated my phone camera with my standard…
Nov 5
DIY Robocars via Twitter
RT @a1k0n: @DIYRobocars is back in December, but outside. Time to reinvestigate ConeSLAM! I rigged up a quick and dirty ground-truth captur…
Nov 5