Last year’s big hack was software-defined radio; a small USB TV tuner that could listen in on radio broadcasts anywhere between 64 and 1200 MHz. This year, it’s all about the Raspberry Pi, so it’s surprising we’re only just now seeing a mashup of these two pieces of hardware. [Corq] is using a Raspi and RTLSDR TV tuner to listen in on aircraft transponders, and getting a whole bunch of data from aircraft flying overhead.
Even though the ADS-B decoder [Corq] is using is written for OS X, he’s reading the data coming from the USB TV tuner over the network with a program called Dump1090. This program allows [Corq] to attach his SDR to a Raspbery Pi and put it somewhere the antenna will get good reception – an attic, or an outdoor weatherproof case – and stream data to his desktop over a WiFi or network connection.
With a USB TV tuner and a Raspberry Pi, [Corq] is able read the tail numbers, altitude, latitude, longitude, speed, heading, and even the type of aircraft currently flying over his house. That’s cool enough, but the fact that he can effectively do this over the Internet makes it a brilliant hardware mashup.
31 thoughts on “Listening To Aircraft Transponders With A Raspberry Pi”
I thought aircraft transponders only squawked a code when interrogated (hit by radar). Or do they just do it every so often, too?
They squawk when interrogated. There’s radar coverage over most populated areas, and even over many unpopulated areas, at least at higher altitudes. So for practical purposes, they’re squawking every so often. When they sqawk in response to an interrogation, anyone can pick up that response, as long as they have a reasonable line of sight to the aircraft.
There’s no interrogation in non-human Aircraft communications. Source: Two parents in Air Traffic Control, and pilots license.
ADS-B type transponder don’t need interrogation, B is for Broadcast.
It is not a transponder (like mode-a or mode-c) but ads-b that he is listening into
@vpoko the mode-C tarnsponder you are referring to is actually a different system than ADS-B. Mode-C transponders respond to interogations with their MSL altitude and some other info like tail number and “squawk code”. ASD-B on the other hand is a newer system that involves unsolicited information being squawked out. I think it also has provisions for two way communication.
erm.. .You gotta be kiddin’ me! This is how you get to hackaday?
You can find the ADSB Decoder in the standard toolchain of rtltcp. You just have to start it!
Soo.. Where exactly is the point on this?
flightradar24.com already uses raspis for data reception since months..
Please, kind sir, regale us with the tales of your lofty hacks! Certainly someone with your knowledge and bearing has crafted hacks far more worthy for this fine establishment?
Indeed, thought the same thing here. I ported the code to C# a while back, should maybe release it so the windows boys can enjoy ADS-B too without a hassle.
There are already several tools for decoding ADSB using a rtlsdr dongle on windows…
and the standard linux rtl_tcp toolkit does contain a decoder for adsb.
Look for rtl_adsb.
There is no evil magic involved there:
I’m using this together with with a tool called VirtualRadar since I got the thing in Feburary.
@Barefoot: OK. Look at my github/Manawyrm.
And thank you for being such a special snow flake… now show us your hacks.
@Neckbeard: Open up your eyes. I already linked my github profile.
also you could look over to my webpage…
SDRsharp for one…
It would be neat to see this data somehow integrated into simulators like FlightGear for
It has been done, experimentally, but the current infrastructure is a bit to much of a hack at the moment. Also it puts a huge extra load on the multiplayer system, both on client side and server side.
Anyway, here is the forum topic/thread that contained most of the discussions about that experiment:
I made a motorized rig for my cheap telescope to track and photograph passing aircraft from ADS-B data. Started with porting the code from rtlsdr to C# and use an old CNC controller to drive the steppers over serial link. Maybe I should start a blog.
yeah start a blog, thats great konjunction of technologies :) at least publish your work somewhere.. and while on the subject, its funny how one could use the data for more than tracking a airplane, so maybe authoroties should be at least paying attention :D
Yes, please make a blog or write up of your work. Automatically photographing aircraft sounds like a really fun project!
The 1960 design (that’s what we use today) transponder only sends out barometric pressure (called the secondary return) and 4 digit squawk; NOT altitude and that alone is absolutely non contributory data to the lateral information, which is collected by the “primary” return which is the 1920s technology of simple directional echo measurement. The pressure is converted into altitude and combined with the primary echo to plot what one sees on TV as the controller scope image. On top of that the possible squawk codes are less than 9999. I have to dial the knobs next time to see where each digit stops – pretty sure it stops at 7 or 6.
Only the squawk part is readable since it is primitive yet digital data. So even if one was to come up with a squawk listening device that would be useless for lateral plots.
Now what I still wait is for someone to come up with a cheap mode-C receiver. Mode-C is a broadcast by the ground stations back up in the air with the full mixed data from primary and secondary. It is intended to be received by aircraft equipped with Mode-C receiver and plot it “like a real” radar.
Here you can see NOT just planes; you can see anything that has an RF reflective paint and happens to fly. ADS-B is very cool but the moment you turn it OFF you disappear from the sky. It is like a volunteering your position by self-reporting it. With Mode-C you won’t be seen only if the multi-kW radar breaks down OR you are just not there :)
The squawk codes are octal, 0-7 for each digit. Special codes start with a 7 (7000 for uncontrolled VRF, 7700 for an emergency, 7600 for a radio failure etc.
Check rtl1090 & beamfinder feature of planeplotter.
I would like to run this completely on the PI then NEMA strings for aircraft locations could be output to aviation GPS software for collision avoidance LK8000 and XC-Soar are both opensource gliding applications that can take this data in NEMA and display it on a moving map.
http://sq7mru.blogspot.com/2013/05/cubieboard-w-suzbie-amatorskiej-cz4.html – @ Cubieboard ;)
Yeah, this was the *first* thing I did when I got a Pi, hardly groundbreaking. What’s much more interesting is using rtl_sdr piped into multimodeNG to decode pager messagers. Seeing as this made it into HAD I’ll put together a submission when I’m back with my equipment.
Exactly my thought. But your project sounds interesting! Please submit this.
There’s a mini writeup of it here:
It stinks that there is little to no ADS-B traffic in the central US. I have read that it is mostly from international flights, and the FAA has not mandated it until 2020 in th US. I have let mine run for 24 hours with little position information.
Does thing work with hauppauge and linux?
Who are you and what do you know? Don’t comment on my post unless you have something useful to say.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)