Shopping Cart (0)

Mission Control for Raspberry Pi

Version 1.4.2 – Released 2014-02-10

Created by Andrew Hazelden

The Mission Control Dashboard Updates in Real-time

Mission Control is a ground station program that allows you to plot the GPS based latitude, longitude, and altitude of your Raspberry Pi. The program has a graphical dashboard, and supports sharing the GPS position data via the internet using a Google Earth KMZ file.

The live data for Mission Control is provided by a MikroElektronika GPS Click board that is connected to the Raspberry Pi via a USB connection on /dev/ttyACM0.


You can download the Mission Control program for Raspberry Pi / Raspbian Linux along with the C source code here:

mission_control-1.4.2.tar.gz (3 MB)

The Mission Control project also has a page on Github.


The Live Dashboard View

You can track your position in real-time using Mission Control’s SDL based dashboard display.

Firefox Google Earth WebView

If you have the Google Earth WebView plugin installed you can track the Raspberry Pi in a remote web browser.

Google Earth Tracking

Mission Control also provides a KMZ export file that can be used in Google Earth. The KMZ file has a snapshot of the graphics dashboard and a waypoint log of the GPS Click’s trail. The KMZ export is updated every 10 seconds.


Mission Control Folder

Once you unpack the Mission Control archive you can install the software by running:

This will copy the Mission Control software to the /opt/missioncontrol/ folder. The installer adds the SDL libraries and Apache using apt-get. This installer package is designed to be used with Raspbian.

The Apache web sharing folder is located at:

For this demo the raspberry pi should have the IP address set to If you want to use a different IP address you need to the update address stored in the HTML file:

You also need to update the Raspberry IP address stored in the kml file:

A MissionControl.desktop shortcut is placed in the /home/pi/Desktop folder. The desktop item makes it easy to run Mission Control.

The Mission Control program will launch and connect to the GPS Click via the /dev/ttyACM0 serial port connection at 115200.

The preferences for the Mission Control program are stored in a plain text preference file:

You can change the serial port device, and the baud rate in the gps_prefs.usf file.

Starting Mission Control

Step 1. Connect your MikroElektronika GPS Click board to the Raspberry Pi USB port.

Step 2. Double click on the “Mission Control” icon on your Pi’s desktop to start the program.

Double Click to start Mission Control

If you are using the Raspbian LXDE window manager, you can also start Mission Control with the Internet > Mission Control menu item. You can start Mission Control with the debugging info visible by running the Internet Menu > Mission Control Terminal menu item.

You can start Mission Control using the LXDE Menus

The raw NMEA GPS log file can be viewed with the Internet Menu > GPS Tracklog menu item. This command opens the /opt/missioncontrol/gps_log/tracklog.gps file in the nano text editor.

Mission Control can be started from the command line by typing the following command in the LXterminal:

Step 3. At this point the Raspberry Pi system should show the live Mission Control gauges.

You can now start your web browser on your desktop / laptop / mobile system and track the Raspberry Pi using the Mission Control web interface. (You need to have Google Earth installed on your desktop to access the Mission Control webgui. )

Open your desktop system’s web browser and access the Raspberry Pi’s internet address:

If you want to view the Mission Control KMZ file directly in Google Earth you can download the current file using the URL:

A live network Google Earth KMZ file is accessible at:

The link.kmz file is neat because it refreshes Google Earth regularly and downloads the latest Mission Control data.

A plain text NMEA GPS tracklog is saved on the Raspberry Pi at:

This logfile is overwritten every time the Mission Control program is launched.


Fullscreen Mode

You can switch between windowed and fullscreen modes by tapping the TAB key on your keyboard, or by clicking in the Mission Control window.

A single click brings Mission Control into fullscreen mode.

View Layouts

The Mission Control preference file (/opt/missioncontrol/gps_prefs.usf) has an option that allows you to choose between three different window layouts:

Setting the @view_layout value to 0 uses a vertically arranged block layout. This vertical layout fits nicely on the Raspberry Pi screen if you decide to use the composite video connection and lower the screen resolution to 640×480.

Vertical Block Layout

Setting the @view_layout to 1 uses a horizontal layout with 5 gauges. This layout fits nicely on a 1024×768 screen.

Horizontal Layout 5 Up

Setting the @view_layout to 2 uses a horizontal layout with 6 gauges.

Horizontal Layout 6 Up

Changing the BAUD Rate

The Mission Control preference file (/opt/missioncontrol/gps_prefs.usf) has an option that allows you to select the serial port BAUD rate. A BAUD rate is the serial communication speed in bits-per-second.

The following is a list of valid BAUD rates for Mission Control on Raspbian:

Making Mission Control a Startup Item

Here is a tip for Raspbian / LXDE users on making Mission Control a startup item by copying the program’s LXDE desktop shortcut to you user account’s autostart folder.

Paste the following commands into the terminal window:

If you want to remove Mission Control from the startup items run the following command:

Uninstalling Mission Control

If you want to remove Mission Control from your system you can run the following shell command: