====== Portable ADSB Receiver with GPS ====== I have been running an ADSB receiver for a couple of years now, feeding [[https://flightaware.com/|FlightAware]] and [[https://www.flightradar24.com/|Flight Radar 24]] before I discovered the [[https://adsb.oarc.uk/|OARC ADSB map]]. I also have a camper van, and I got to thinking it might be quite fun to track planes when I'm parked up somewhere, just to fill in the gaps on the OARC map even if only for a few days. This should be straightforward; the only catch is you need to set the location of the receiver each time for the [[https://www.flightradar24.com/glossary#mlat|MLAT]] feed to work properly. The obvious solution to that is a USB GPS dongle and some startup scripts that set the location before the feeders start - easy, right? The basics really were easy, but getting it all to work together, and in a case, took a number of false starts and a box full of adapters I ended up not using :-( ===== The 'design' ===== Other people are using Pi Zeros successfully for ADSB so I figured that would be a good starting point (they were also fairly easy to get hold of, unlike any other Pi variants at the time!). I wanted everything inside a box, rather than having the dongle sticking out the back, and I know from other builds that the USB SDRs run hot, so it should be a metal box to help with heat dissipation. I'd had good experience with the NooElec dongles on other projects so these [[https://www.amazon.co.uk/dp/B076GWF6FF|'Nano' RTL Dongles]] looked a good bet - small, come with a heat sink, and with fly lead to connect to a bulkhead socket for the antenna. The USB GPS was a bit of a punt but works perfectly. The problem now becoming apparent was I needed to run power, GPS and SDR through just two micro USB ports on the Pi Zero. This [[https://thepihut.com/products/zero4u-4-port-usb-hub-for-raspberry-pi-zero?variant=18768521796|4-port hub]] connects to the Pi board through pogo pins, and has the option to supply power for the USB ports directly rather than further loading the Pi's power circuits. I used a [[https://thepihut.com/products/panel-mount-extension-usb-cable-micro-b-male-to-micro-b-female?variant=27740394833|panel mount Micro-USB extension]] to a [[https://thepihut.com/products/adafruit-usb-micro-b-breakout-board?variant=27739636049|breakout board]] to feed power to the Pi and the Hub - if you were feeling clever with brackets you should be able to directly mount the breakout board and skip this cable. Finally I found a [[https://www.amazon.co.uk/dp/B08N6JG5TK|metal case]] that was just the right size. ===== The Software ===== I planned to use Mark, 2M0IIG's excellent [[https://wiki.oarc.uk/flight:adsb|feeder setup instructions]] for the basics, but I wanted to be able to just plug in the power and have the whole system start up, without any need to connect through SSH or a browser to configure anything. Similarly, I wanted to be able to cleanly shut the Pi down without SSH. So the startup scripts need to * wait for the GPS to initialise * get a location and updates the feeder configuration * start the feeder. And then I needed a way to initiate a clean shutdown. Fortunately I found a way to do this with just a [[https://greiginsydney.com/pi-shutdown-button/|pushbutton]]. {{:adsb:the_box_plus_hotspot_in_situ.jpg?direct&200|Receiver and hotspot in situ}} {{:adsb:gps_and_adsb_antennae.jpg?direct&200|GPS and ADSB antennae on the van}} {{:adsb:adsb_coverage.png?direct&200|Coverage map}} {{:adsb:inside_the_box.jpg?direct&200|Inside the box}} ===== Bill of Materials ===== * Raspberry Pi Zero W * [[https://www.amazon.co.uk/dp/B076GWF6FF|'Nano' RTL Dongle]] * [[https://www.amazon.co.uk/dp/B07FKRXXSM|Remote-mount USB GPS dongle]] * [[https://thepihut.com/products/zero4u-4-port-usb-hub-for-raspberry-pi-zero?variant=18768521796|4-port hub for Pi Zero]] * [[https://thepihut.com/products/panel-mount-extension-usb-cable-micro-b-male-to-micro-b-female?variant=27740394833|Panel-mount Micro-USB Female to Male cable]] * [[https://thepihut.com/products/adafruit-usb-micro-b-breakout-board?variant=27739636049|Micro-USB B breakout board]] * [[https://www.amazon.co.uk/dp/B08N6JG5TK|metal case]] * From the junk box * connecting wire * latching and non latching push switches * rubber feet