For those of us who take longer trips or operate under IFR, the availability of up-to-date in-airplane text weather and NEXRAD imagery over ADS-B has been a sea change in terms of the ability to react to developing weather. The availability of traffic information has likewise improved situational awareness in our busy airspace.

Like many things in aviation, the main barrier to adopting this new technology has been cost. Certificated, installed systems cost into the thousands, and the $550-$900 cost of portable systems is still a major hurdle for most.

About three years ago, the response of several Cloud 7 ForeFlight users was to do something that came very naturally to cost-conscious flying club members: form another club! And thus, the Stratus SIG (special interest group) was formed. Today, the Stratus SIG consists of just under half of of the total Cloud 7, and owns a set of Stratus 2 ADS-B receivers. For about $200, any Cloud 7 member can buy into the SIG. This entitles them to reserve a Stratus just as they would reserve an airplane, and use it in any Cloud 7 aircraft.


Recently, Reddit and various aviation message boards have been abuzz over the development of a $100 DIY ADS-B In receiver compatible with most of the popular EFB apps, including ForeFlight, WingX Pro, Naviator, and Avare.

By combining a $35 Raspberry Pi 2 computer, a $21 RTL-SDR (software defined radio), and under $50 of other components, you can build a portable 978 MHz ADS-B receiver, capable of receiving both weather and traffic (978 ADS-B Out aircraft and ADS-R/TIS-B ground station rebroadcasts) and sending it over WiFi to your tablet or phone.

The open-source “Stratux” software that runs this delivers the well-documented GDL90 data format over WiFi. To most apps, the device appears to your software as the WiFi module of a FreeFlight ADS-B receiver.  In essence, this provides most of the functionality of a first-generation Stratus 1S at twenty percent of the cost, and eliminates vendor lock-in.

I’ve built one this past week, and can personally confirm that it receives both weather and traffic data, displaying it on ForeFlight (iOS) and Avare (Android). My first build on used a hardware list based on recommendations from this post on reddit.com/r/stratux and includes:

  • Vilros Raspberry Pi 2 Model B starter kit ($64 on Amazon). This kit contains:
    • Raspberry Pi 2 Model B computer
    • Clear plastic case
    • 8 GB Kingston micro SD card
    • Edimax EW-7811Un 150Mbps 11n Wi-Fi USB Adapter
    • 2 amp 5V power supply with micro USB connector
    • HDMI cable (very useful for monitoring boot process, and/or using local console)
  • NooElec NESDR Mini 2 USB RTL-SDR & ADS-B Receiver Set ($22)
  • KMASHI MP816 10000mAH battery pack ($14)

My total BOM cost was $100.

Installation and setup is plug-and-play, following the reddit instructions:

  • Download the v0.1r3 (stable) image from github.com/cyoung/stratux/releases/
  • Install image onto 8 GB MicroSD card using Win32Diskimager
  • Install RPi into protective case
  • Insert MicroSD card into slot.
  • Plug radio and WiFi adapter into USB ports, and plug the antenna into the SDR
  • Extend the antenna to about 6″ in length
  • Plug the RPi into power.
  • Connect iPad to the “stratux” network.

That’s it! Once you’re in the air, weather data will begin streaming as soon as you’re within range of a ground station, and TIS-B traffic will also appear if your airplane is equipped with ADS-B Out (or if you’re inside the “hockey puck” of another Out-equipped aircraft).

What about dual-frequency capability (978 UAT + 1090ES) or a GPS/AHRS like the Stratus 2? The latter is still on the bleeding edge of development. However, 1090 support is quite good at this point, I’ve been ground and flight testing the v0.2 beta with a second receiver.

Now that a v0.2 image has been published, installing a second radio is almost plug-and-play. The biggest challenge is having enough power to run the radios. Why? Without going too deep into detail, there’s not a lot of margin to play with:

  • With two radios plugged into the RPi, the whole system draws about 900 mA of current.
  • The RPi needs at least 4.9V on its input to be happy. You can tell it’s happy if the red PWR light is on.
  • It absolutely needs something north of 4.75V to keep USB in spec, and to keep random radios from crashing out.
  • Because we’re trying to push a lot of current (900 mA) through the cable, voltage can drop as much as 0.4V across a cheap 28AWG cable due to Ohm’s Law (V=IR). This is bad when you’re only starting with 5.0V. Thin cables will cause you nothing but problems.

The battery I used for my testing only put out about 4.91V at a 900 mA load, meaning I had to use a very short and heavy cable to keep the RPi from undervolting after I started running the second radio. On the other hand, I was able to use a 2.1A,  24V DC USB adapter in the airplane with a decent quality 3-foot cable, and it ran like a champ. Other users have reported success with using powered USB hubs.

Once you have a working power source, this will almost constantly pick up 1090 ES traffic from the ground. Around here it’s mostly turbines going into MSP, but also the occasional GA airplane with a GTX330ES, like 65045 or 761SP. In the air, it sees the 978 MHz ground station almost instantly, and paints the full picture of all the traffic in the area.

IMG_0278

Receiving TIS-B and 1090 ADS-B traffic from multiple aircraft around MSP. The “uuuu” and “eeee” codes are a debug feature that the developer added to identify whether the ADS-B frames were being received on 978 or 1090 MHz.

 

IMG_0282

ForeFlight’s “Devices” screen, showing statistics on the amount of data received. It’s pulling traffic and weather from six ground stations. And yes, that’s NEXRAD weather radar.