ADSB Pi Station

Overview

This is another solar powered project.  It uses a Raspberry Pi and a software defined radio (SDR) to receive ADSB broadcasts from aircraft.  This data can then be displayed locally or fed to one of the many aggregators.  I chose to feed to Flight Aware as I used their SDR and setup guide.  I also think they are quite community conscious and they seem to be responsive to questions.

As my setup is remote, and solar powered, I needed to monitor the system closely.  I chose to do this with an Arduino connected to a number of sensors.  The sensors include temperature, voltage, and various tamper sensors.  The Pi polls the Arduino to retrieve sensor values as required.  This allows me to normalise the “get temperature”, “get voltage” and such so the Pi simply sends a standard set of commands to the Arduino regardless of whether the Arduino implements an analog sensor, I2C or other digital sensor.

The Arduino also supports an interrupt based connection to the Pi, so that if the enclosure tamper is triggered or the Arduino senses over temperature (between polls) an interrupt is fired and the Pi then polls the Arduino to solicit the cause.

As with other projects, the sensor data is published using MQTT to the broker so another process can log and graph the data.

The Pi and Arduino are connected via a simple serial connection.  The Arduino has no real time clock (RTC).  It is simply a slave to the Pi.  The following block diagram shows the internal connectivity.

[diagram coming]

ADSB Software

The Raspberry Pi runs the standard dump1090 software from FlightAware.  My station statistics can be found here.

Backhaul

The data backhaul is via a USB 3G dongle connected to the Pi.  I used a Huawei 8372 as this was the first device I found which operated cleanly on the Pi without messing with scripts.  It simply does plug and play and presents as eth1 (not WWAN).