Archived | Correlate flight and weather data in augmented reality

Get the code

Archived content

Archived date: 2019-05-21

This content is no longer being updated or maintained. The content is provided “as is.” Given the rapid evolution of technology, some content, steps, or illustrations may have changed.


There is a lot of data floating in the air and you can grab it with a Software Defined Radio. It’s possible to track every nearby commercial flight with a simple Raspberry Pi sensor node, enhance the data with weather information, and render it with a mobile augmented reality display.


This code pattern shows how Watson IoT platform and Weather Company data can be used to integrate sensors and mobile clients. With advances in avionics and the availability of cheap computing resources such as Raspberry Pi, a simple ground station may be easily built. Once configured, ground stations can be replicated using Docker to be able to cover large areas. Each ground station:

Uses a SDR receiver with an antenna to receive information about flights within a 150 miles radius, depending on the altitude and the line­-of-­sight. Software Defined Radios (SDR) are an emerging technology for consumer, enterprise, and government applications, in which a radio signal is demodulated in software instead of custom hardware.

Act as network-­connected IoT device to publish the flight information over Watson IoT Platform MQTT services. An iOS application subscribes to the data stream while also requesting Weather Company temperature data for the GPS coordinates of the aircraft. This information is displayed in both a map view and an augmented reality display, in which the user can hold their phone up to the sky with an aircraft location overlay.



  1. The Raspberry PI plus SDR receiver, representing a Ground Station, receives and decodes ADS-B messages from commercial flights and publishes MQTT messages with JSON payload to the IoT Platform.
  2. The IoT Platform with device-type and device-id receives the MQTT messages and make them available on a topic.
  3. The optional Streaming Analytics service can subscribe to the topic in the IoT Platform to process messages.
  4. The data from the Streaming Analytics service is used to create dashboards.
  5. The app subscribes to the topic in the IoT Platform and invokes the Weather Company Data API to render flight and weather information in a map and augmented reality view.
  6. The Weather Company Data Service exposes APIs to access weather data using coordinates.


Ready to put this code pattern to use? Complete details on how to get started running and using this application are in the README.