HK GCS Proof of Concept


I must be crazy throwing my hat in this ring... but here goes.

Yet another Ground Control Station project has begun. It's little more than a proof of concept. There is absolutely no documentation or error trapping and is not overly functional... but hey, you've got to start somewhere.

My hopes are to create a language file for this so I can get some friends from around the globe to help me translate this into a bunch of languages.

A few things to warn you about right from the start.

1) It's written in VB.NET so it won't run on Linux or Mac don't ask. If you're looking for something cross-platform, check one of these GCS programs out:

Andrew Matthews GCS - Cross-platform - Written in "Processing."

Jaron - Cross-platform - Written in Java and "Processing."

PixHawk - Cross-platform - Written in QT

AP GCS - Soon to be cross-platform? - Written in Labview

2) More than likely, this program cannot become the "default" GCS program for AP/APM because of #1 and the general concensus among the APM developers that VB.NET is not the right way to go. For that reason I probably won't make this open source... but it's still "freeware."

My next functions I'm planning on adding are Google Earth integration, Live Camera feed (essentially done but I need to optimize and add some error trapping), KML file support and Recorded file playback.

Unzip the files into a folder and run the HK_GCS.exe file. The emulator is in there as well for testing.

Right now, I'm able to parse NMEA, uBlox, MediaTek, SiRF, ArduIMU binary and text and AP commands.

NOTE: This program requires .NET 3.0 and the "Interop Assemblies" in the links below

Once I get a little further, I'll have an installer so we won't have to worry about this stuff.

Steps to follow to get this thing to work:

1) Download and install the .NET 3.0 Framework

2) Download and install the interop assemblies

3) Download and install the GPS Emulator (this will give you the DX8VB driver)

4) Download the file above and unzip into a folder.

5) Run the GPS emulator. If you haven't already installed the com0com feedback ports, click the "Install Ports" button

6) Click options, setup feedback ports and select 2 unused port numbers (I like 254 and 255).

7) Wait for the ports to get added to your system (will take a minute and you'll have to click next)

8) Select one of your newly created ports in the Emulator but don't click connect yet.

9) Open the HK_GCS.exe and select the Serial Data tab. Click Search COM

10) On the emulator Click Protocols and select something. The 2 checkboxes for ArduIMU Binary are good choices.

11) Click Connect and Start on the main screen of the emulator.

You should see the plane moving on Google Maps and should be able to change pitch, roll, etc on the emulator and have it change things on the Instruments tab of the GCS.

Don't worry, it won't be this many steps in the future. Steps 1-5 will be part of a setup.

E-mail me when people leave their comments –

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

Join diydrones


  • Shailendra Singh, what programming language are you working with?
  • Sir,
    i am working on mine 4th year project as AMATEUR UAV.i want to make a simple GCS that can display the GPS data instrument panel,no google map only GPS coocrdinate and gyroscope and accelerometer data.How can i proceed.As i am weak in programming kindly help me in that.

    With regards.
    Shailendra Singh
    Team "SURYAAN"
  • I still don't have the pre-requisites in this setup, but here's a newer version. I'm making progress on the units for distance and speed and I'm about 1/2 done with loading and saving files.
  • I totally agree. Google Maps does not allow for caching... that's why I'm planning on adding Google Earth....
  • how can i do if i dont have internet conection or cell signal on the field
    I mean, using google maps is not the best choice for me
  • Having added a COM port everyhting works ok.

    Thanks for the help, Peter
  • Do you have any COM ports on your computer? Does it show anything in the combobox (drop-down)?

  • Happy,

    Any ideas as to why I get this error when I start the COM Port scan on the GCS?

    System.ArgumentOutOfRangeException: InvalidArgument=Value of '0' is not valid for 'index'.
    Parameter name: index

  • Thanks guys! I think it probably makes sense to push the translations back until after I get some more of the key features done. I would hate to have you keep translating more and more stuff!!!
  • Hi Happy
    I could do german translation.


This reply was deleted.