My Introduction To Radio (ADS-B)
I recently watched a video made by Jeff Geerling and his dad discussing a radio station that was built inside a mini rack. This sparked some curiosity in me and before long I was planning how I can build something of my own to experiment with radio.
I decided that my first project should be to build an ADS-B receiver as it seemed like a simple way into the hobby. This post follows me through my journey on trying to get this to work without any prior knowledge about radio.
One constraint I have for this project is that it needs to be self-contained within my homelab, meaning either inside or attached to the rack, such that it could be lifted up as one item. This is mostly a preference-based constraint, as a large reason I enjoy my homelab is that it looks cool, frankly. I acknowledge that an antenna at this elevation and in proximity of RF emitting electronics will be sub-optimal, but I'm curious to see what I can achieve within this constraint.
Getting Started
I'd done some preliminary reading and decided on some things that I need to buy, here's what I had ended up with:
SDR
An SDR (software defined radio) is a system that replaces traditional analog filters, mixers, amplifiers and modulators.
It has a tuner which selects a slice of the RF spectrum to process and an ADC (analog-to-digital converter) which converts analog RF waves into a digital medium that is then sent over an interface into a computer.
Software on the computer performs demodulation, decoding, filtering and any other signal processing.
I went with the NooElec RTL-SDR V5 at £40 for a few reasons:
- It was listed on Amazon unlike the RTL-SDR Blog V3, which was convenient.
- It has a 0.5PPM TCXO, which is a clock circuit that prevents drift and outperforms the 1PPM TCXO on the V3.
- I had seen reports that the noise floor was lower than the V3.
Antenna
Antennas on the receiving end (which is what I will be doing) work by converting passing radio waves into oscillating electrical signals. An efficient antenna needs to oscillate at the same frequency as the incoming radio waves to achieve resonance.
An SDR without an antenna is not very useful, so I needed to find something that would be best for my use case.
ADS-B transponders transmit frequencies on the 1090MHz channel, so I needed an antenna that resonates at that frequency. I went with the Pi Hut 60cm 1090MHz Antenna for ADS-B at £30 for one standout reason beyond the matching resonant frequency, with that being that it is a collinear antenna.
What this means is that multiple wire segments are stacked vertically, flattening the signal pattern and pushing the receiving power towards the horizon rather than wasting it towards the ground.
SAW Bandpass Filter and LNA
A SAW (surface acoustic wave) filter is a type of bandpass filter that blocks frequencies outside of a range by converting electrical signals into a mechanical wave that ripples across a piezoelectric crystal, allowing only the resonant frequency it was designed for to pass through to the other side.
An LNA (low-noise amplifier) is a component that boosts the strength of all signals, therefore boosting weak signals, ideally without adding significant noise of its own.
I found a TQP3M9009 21dB LNA and TA1090EC 1090MHz SAW filter sharing a PCB on Aliexpress for £6.
Extras
Along with these, I picked up some other essentials and extras:
- An NJ to SMAJ connector to connect the antenna to the LNA/SAW and a SMAJ to SMAJ connector to connect the LNA/SAW to the SDR.
- Black aluminium heatsinks for the SDR. Copper has approximately double the thermal conductivity of aluminium, but that is negligible with the amount of heatsinks I'm putting on the SDR (partially cosmetic).
- A USB extension cable to connect the SDR to my server.
- Ferrite clips to reduce conducted common-mode interference, clipped at both ends of the USB extension cable. Ferrite works by increasing the impedance of the cable to high-frequency noise, which blocks unwanted currents while allowing the desired data to pass through.
- A USB-C right-angle adapter for the LNA/SAW.
- Polyolefin shrink wrap to make the antenna black (purely cosmetic). Polyolefin has a lower dielectric constant than many other shrink wrap materials, making it most suitable for covering the antenna.
Setting It Up
I decided to use the ultrafeeder software, which is a container that includes tar1090, readsb, autogain, and some other useful programs. To test if things were working, I started by cutting a jumper wire to around 13.75cm, as this is the half-wave length of 1090MHz.
I can't show my tar1090 interface because it reveals my location, but I ended up getting around 25MPS (messages per second) with this setup. However, there were still some things I could improve.
After this, I had received one of my orders which contained the heatsinks, USB extender and ferrite clips. I positioned the antenna vertically, as ADS-B signals use vertical polarization. What this means, simply, is that the antennas on aircraft are positioned vertically and matching this polarity results in the strongest signal. I used a crudely cut bottle to hold it in place, as this was just temporary.
This change, along with moving the SDR a little further away from my rack and adding the ferrite clips to the extender, managed to net me an average of 50MPS - double the previous amount. Though of course, both of these setups are pretty terrible, but I used them for debugging while I waited on my next orders.
After a lot of waiting (with over a week of delays, thank you Evri), I'd finally received everything I'd ordered.
Connecting this up was a breeze (besides trying to get the heat shrink tube on with a hairdryer), I didn't run into any issues with the equipment. I saw a massive boost in messages to around 600MPS! That's a 1100% increase from the bottle antenna!
My range also jumped significantly; I have fairly stable tracking in a 125km radius and have even been able to receive some signals from over 315km away!
Conclusion
This project was only the beginning of exploring radio for me. I expect to take on some new projects after this, and although not documented here, I learned a lot about radio beyond ADS-B and have some interesting ideas for what I want to do next.