So, what do you do when you have some old hardware lying around, and want to reuse that instead of buying the new ArduMegaPilot: Build you own ground station and modify parts of the code for the Ardupilot.

First of all I got tired of LabView, and the other standard parts, and found later versions of Ardupilot too messy to manipulate. Second, most of the available ground stations are written for Windows, not good at all on a Mac. Third, I needed some functions, that is not obviously available when using Ardupilot.

What I have done is to implement a simple ground station in Java, using standard components. It shows the basic information transmitted by the Ardupilot. It uses Google Earth to show the planes position on a map. Further more, it supports two way communication with the Ardupilot. This means that I am able to adjust gains, upload waypoints from a Google Earth .kml file and so on, while the UAV is in the air.

If anybody is interested I will make the sourcecode publicly available.

Best regards




EDIT: I have add'ed the source code for the ardupilot and the source for the Java groundstation. The code is not commented at all, and is highly customized for my setup. Feel free to use any parts you want. Any questions, hit me! The code also contains quite good examples of how to encode at decode binary GPS data. Enjoy.




E-mail me when people leave their comments –

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

Join diydrones


  • Ok. agreed: Thats the way to go. Wait for the source code to check, if I can use it in my case.
  • Hey guys.


    The trick is to not mess up the data stream from the GPS module, since only one serial port is available. I created a command queue in the ground station, so it transmits one command after each GPS message. These are only received every second in my case. Then I modified the code for the binary GPS message parser, to be able to parse additional commands. I will make the source code available asap.




  • Could you say a few words, what you did on the ardupilot side to allow for 2-way communication ?
  • 3D Robotics
    amilcar: I don't think it has a full MAVLink implementation, so no. But I might be wrong. Best person to ask would be Jason.
  • Correct me if I'm wrong, but with the new Ardupilot update it is possible to use QGroundControl (Linux/Mac/Windows).

    Or am I wrong ?

  • 3D Robotics
    Please note that for anyone using Windows the HK GCS works great with ArduPilot and is super-polished. I think this is primarily for Mac users.
  • Developer
    I have several ArduPilot's that really need a make over and want to dump LabView too , Hook me up!
  • Great idea, I'm using ArduIMU+ and this looks promising!! Yes please share
  • Great idea
  • Written in Java, yes I'm interested!
This reply was deleted.