3D Robotics

As we prepare to migrate our current LabVIEW groundstation from ArduPilot to supporting ArduPilot Mega, we're taking the opportunity to rethink its architecture and code base.

Right now it's written in LabVIEW, a visual programming environment that has the advantage of rapid development and easy-to-make instrument displays, as well as being cross-platform. But the problem with it is that the development tools aren't free (indeed, the ones that can create an executable file start at $1,249!), and distributing the files requires users to download a runtime engine and serial driver. As a result, we don't have as much community participation in the ground station as we do in most of our other projects.

Over the past year, we've been looking for an alternative with free and good development tools. It needs to be cross-platform, compatible with open source code standards, and appropriate for a ground station (ie, able to handle a rich visual environment and to talk directly with the serial port). Eventually a good candidate emerged in Nokia's Qt application and UI framework, and I'd like to present it here for community feedback.

You can see a glimpse of Qt above, but here's the description from the site:

"Qt is a cross-platform application and UI framework. Using Qt, you can write web-enabled applications once and deploy them across desktop, mobile and embedded operating systems without rewriting the source code.


Note that it's cross platform on more than just computers--it will also run on phones, too, which introduces the possibility of an ArduPilot GCS on Android or some other smartphone, which would be very cool. Also, we intend to integrate the current ArduPilot configuration utility into the GCS, so one desktop program can handle all the ArduPilot functions, from mission planning to real-time data display, including integrated Google Earth and video handling and image processing.

So what do you think? Is this a good code foundation for a full-featured groundstation? Does Qt look like something you'd adopt for the right project?

[UPDATE: See this Swiss team's MAV groundstation for an example of what Qt can do. Nice! It's open source, so we can build on it if we want.]

E-mail me when people leave their comments –

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

Join diydrones


  • If you are talking about building something like this... I'm in.

  • 3D Robotics
    We're going to stick with LabView for the initial release of Mega, but still plan to migrate to QT for V2.
  • That sounds like a relief :) Looking forward to it very much
  • Admin
    I think Ardustation mega team is working on new GCS but too premeture to talk about it right now.
  • So what was the decision? Did the group decide to move it to QT or sticking with LabView?
  • It does look good and trying to find a multi platform solution is a very good idea. Certainly NOT labview please!

    The MAVLink Onboard Integration Tutorial looks like it would allow you to easily make an ardupilot link to the existing MAV Groundstation? If so this seems like an opportunity for someone to make an initial version work very quickly.


    In terms of embedded devices, I used a Nexus for the first time today and immediately checked out the spec. It has a 1ghz processor, accel, gps, a 5mp camera ++. I have shunned the idea of a google phone but I have to admit it was quite interesting. If it had some serial ports if would make a great ground station, if it had ppmand giros it would make a great imu! or maybe not :)

    I managed to get my Tahoe II board working today as a functional ardupiliot compatible groundstation. It works well but the microsoft SPOT stuff is heavy and the 100mhz processor could not rotate images smoothly whilst the ardupilot was sending telemetry at such a rapid rate. I had to slow down the sending of the telemetry from the ardupilot to about 5 a second.

    Initially I liked the idea of building an ardupilot/arduIMU ground station using the microsoft micro framework because it provides a windows compatible emulator that could be tuned for the aurpilot/imu. The microsoft system does provide a porting kit making it very flexible and allowing for high speed native code/add-ons. Maybe the new range of processors due for release will make it more viable however, whist free support is available on the micro framework site, I have found it very difficult to find examples and a good community.

    In conclusion, hardware and embedded op systems are developing rapidly so jumping on the back of the brilliant MAV system and holding off investing huge effort in creating a new ground station from scratch seems to me to be the most sensible thing to do.
  • Interesting, I am willing to play around with QT a little bit.
  • Admin
    practicals/Labs were always more fun than class in college :(
  • 3D Robotics
    Okay, as soon as I get the PixHawk source we can mess around with it. If it seems good, Qt it is...
This reply was deleted.