RC airplane ground station software demo

Click to see full size

Today I want to share with you an application I am working on at the moment. It is a ground station for radio controlled plane and it's purpose is to illustrate raw data sent from the plane back to the ground using on-board modem.

I am writing my application in C# using Winforms. Every instrument is a separate Windows Control Library, so it can be easily reused in a different application. So far I created 3 controls:

  • Altitude indicator control
  • Gauge control (with 2 modes: Compass and Speedometer)
  • Map control (based on Google Maps)

Application can work in two modes: online mode (to be introduced soon) and offline mode. In online mode it will be able to consume data sent by airplane's modem. It will use Socket class to read raw data and then parse it, and forward it to appropriate controls.

In the offline mode we can open log file recorded during previous, real flight. Application is parsing it the same way it would in online mode.

For my 'instrument' controls I'm using PictureBox control to draw lines and rotate them using Matrix class. Background images are used to provide gauge look&feel.

For map control I'm using Google Map loaded inside WebBrowser control. I'm 'injecting' JavaScript there to programmatically create point on the map. This isn't a perfect solution because it requires connection to the Internet so I might change it to use something that works offline.

Apart from the controls listed above, I want to create:

  • Video Cotrol able to display live video streamed from the airplane's camera
  • Improved altitude control, to display both Pitch and Roll on the same control

On the picture below you can preview early stage of my Cockpit application. My UI will definitely change as I need to accommodate few other controls.

I will keep you posted on this project and show some movies later, so you can see how our airplane and ground station work together.

Cockpit main window

One more screenshot showing the Graph control:

Cockpit main window

Did you like my article? Share it!
Share/Bookmark

wow this is simply awesome!!

wow this is simply awesome!! a useful application very well described as well.

Access to code

Hi,

Is there a possibility to get access to your code?

I'm working on an Autopilot Project project and if possible I would like to see your concept.

Hey, right now I can't

Hey, right now I can't publish the code because it is a prototype built for the client.

However, one day I'm going to release a tool-kit including few aircraft instruments (altimeter, attitude indicator, airspeed indicator, artificial horizon etc.). Everything will be published as separate .dll controls that can be easily drag&dropped into the solution in Visual Studio.

I can't give you any specific date though.

Me also working on same

Me also working on same project reading data from gps device and display in c# sharp based software.

A Very easy to follow

A Very easy to follow post . Whenever i check your website i find a unique perspective . Furthermore , as a fresh developer, i need to say that the structure of your site rocks . Can you post the name of the theme .
Thank you.

RC airplane ground station software demo

Great Article. I'm building something similar myself, but in VB.NET.

I was wondering which UAV are you using to get the GPS reading, speed, altitude, pitch, yaw and roll. The UAV I'm using (AP40 AutoPilot) is from UAV Flight Systems, Inc. and the company does not exist any more, so that means I get no support.

What you are doing is exactly what I'm doing. Maybe we can share some experiences as we move along.

Please keep me posted.

hey

This particular piece of software is a prototype built for Military University of Technology in Warsaw.

The original UAV was powered by MicroPilot's MP2000, and the plane was an Xtra Easy 2RTF model.

Right now folks at MUT are working on their own implementation of an autopilot (self designed circuit boards including on-board software) that can be installed on any RC model as long as it can carry the load.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <csharp>, <css>, <html>, <javascript>, <vb>, <vbnet>, <xml>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters (without spaces) shown in the image.