Another GCS for UAVs


I have been wanting to share this for sometime and seeing as several people lately have been posting about GCS ideas, I figured I would post a little about mine to give them some ideas. Above is an image of the GCS I had developed for control over some UAV projects I had worked on for my thesis/dissertation and work on in my free/hobby time.

The callout boxes are pretty much self explanatory. The battery (I fly with primary and accessory battery with larger aircraft thus 2) and flight timer indicators are 7segment displays, and the scrolling status box at the top is a 16x2 character LCD. The touchscreen on the right is neat as I have 4 different modes in it which will turn the GCS off, display numeric attitude values, GPS map, or the artificial horizon indicator (as pictured) which is similar to the one in the APM. The radios on top are two 900 Mhz antennas (one for video or one for data) and if FPV is desired over 900, a 433Mhz radio can be plugged into a spare USB port.

Most of the data transmission I do for my work however takes place over 5.8 Ubiquiti radios that some of my local DIY friends had recommended to me. They provide a very elegant solution to frequency conflicts and allow higher bandwidth than the current serial limited radios and only require I hook up the ethernet port of this GCS and network switch. But I digress.

The groundstation has a large internal laptop supply to handle AC input, or can be directly powered through DC terminals if out at the field. From there, custom power circuits clean the power to twelve and five volts and distribute it out through the internals of the system. Also, internally it contains several microprocessors to handle the messaging to the seven segments displays, touch screens, and interfaces with the buttons and joysticks that relay the information to the internal computer for further processing.

Lastly, the nice solution of this is that the internal computer acts as a TCP/UDP server for several groundstations. An APM or my custom control systems (AIRSIDE) connect to the ground station through a radio (serial or ethernet), which the data then becomes parsed and distributed through UDP multicast messages to the peripherals on the groundside. Then, a primary ground station software (whether the APM mission planner or my control interface (as pictured on main screen)) connects to the distributing server program through TCP. Essentially allowing for the downlink to be split into multicast UDP messages for everyone who is interested, but only allowing for uplink/downlink to one primary GCS software via TCP. Thus peripheral information can be displayed as long as you follow MAVLINK protocol. Most of the software internal to the GCS has been written in C++ or LabVIEW.

Anyway, if anyone has questions, would like me elaborate on something, or provide a comms/power diagram; Please post and I will answer when I can. Hopefully this gives everyone else who is still debating on what to include on their groundstation ideas on what a final solution could look/work like.

E-mail me when people leave their comments –

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

Join diydrones


  • Yeah, if you look at the system as a whole thats where itd be. But thinking about it there could be options without a computer and other misc things. My next project was to get some nice antennas and make an antenna tracking system to incoorporate with this. However, right now the antennas right on top do the ranges out to what I need on the 900 band, and I have a tripod rig for 5.8. To summarize in a nutshell the quick add up costs for this type of system is the pelican case, an internal computer, and the monitors. Small panel mount monitors usually run easily around $120 and up. And obviously a internal computer, however, there is no reason you couldn't say wire it up for a laptop dock.  Those are gonna be the big ticket items. $1000 is tough to purchase all of these items and add a nice antenna tracking unit and recording gear, but still possible depending the routes you take and assumptions you make in design. You could always use one of the USB capture dongles for video recording. Depending upon antenna weight and size there are commercial antenna trackers already out there, or design your own.

    I run a video encoder on the platforms I am interested in capturing nice video from or performing image processing locally onboard the aircraft for navigation commands etc. (obviously implies a larger aircraft platform to carry the equipment) so I usually am not worrying about it.  My smaller UAVs just record locally to SD cards.

  • JMS: I would consider posting high-level schematic drawings for comms and electrical if people would be interested. I never really thought about selling it just never approached my mind that someone would want to buy one. If theres interest I probably would consider making a few and distributing them if there was really a big pull perhaps a kickstarter but I would have to see some major interest. Yes, if I did make more I would select my screens a little bit better for lighting conditions outside, and I would probably find a slightly wider case for a little bit larger of a screen. But if only looking at google earth on the main screen and the peripherals on everything else it works nicely. If you don't mind me asking to anyone out there, how much would you want your GCS to cost....??

    R_Lefebvre: Yes I have a little computer inside. Currently it is a FitPC because that was a small computer I had access to. However, I would like to bump down to perhaps a Beagleboard, however, since everything in windows is nice perhaps finding a smaller and cheaper windows PC would be preferable.

  • Ok, I also am using a 1500.  But was planning on using a panel frame and having a panel cut.  I just got the joysticks, still have to order the switches etc.

    I think you have a little computer running inside there?

    John, not sure what he's doing, but if there is interest, I'll probably offer something. Mine will be somewhat simpler.  I want to get an Arduino Mega running Ardustation 2 code, along with code to run the radio system which already exists. Just need to meld them together.

  • Antonius K: The function of the three joysticks are for basic flight or gimbal operations. The one on the left is a 2 axis plus one button joystick for gimbal operations (pan,tilt, and the button is return to home/store) The two on the left are for the flight operations (usually done for correctional commands in say FBW or loiter for adjustments) but the one on the left is a single axis for throttle and the one on the right is a 3axis for roll,pitch, and yaw.

    R_lefebvre: Yes it is a Pelican 1500. No, my hands avoid the lip of the case by a lot. The handle is quite large and is fine to carry. The flaw is it is quite heavy.

    elad_o: I had a series of microcontrollers developed with custom PCBs to interact with the sliders, buttons, and joysticks which would then send USB packets to the processing computer for interpretation. The purpose of the sliders BTW is to translate the camera in google earth in latitude, longitude, and altitude. It was just a fun way to interact with the map rather than using a mouse. The touch LCD is actually a shield for the arduino from adafruit. The code I placed on the arduino designs the screen appearance and interprets the data from the computer and puts it on the display. So again, this is another USB device.

    Frederik: 16.75" x 11.18" x 6.12"

  • Nice System! Could you provide the dimensions of the case?

  • first very nice and practical station

    can you please describe how and what did you used to pair the sliders and the touch lcd with the pc

  • Very nice GCS system! I am jealous! :)
  • Cool stuff.  I'm working on similar.  Is that a Pelican 1500?  Looks like you didn't use a panel frame?  The ergonomics... are your hands resting on the lip of the case?  That can't be comfortable?

  • Developer

    Very impressive indeed. Could you explain the function of the 3 joysticks? Thanks

  • Not bad!

This reply was deleted.