{"id":1369,"date":"2014-03-17T01:32:40","date_gmt":"2014-03-17T00:32:40","guid":{"rendered":"http:\/\/majek.mamy.to\/?p=1369"},"modified":"2014-05-27T23:34:31","modified_gmt":"2014-05-27T21:34:31","slug":"rtlsdr-and-adsb","status":"publish","type":"post","link":"https:\/\/majek.sh\/en\/rtlsdr-and-adsb\/","title":{"rendered":"RTL-SDR and ADS-B"},"content":{"rendered":"<p>I was searching Internet about FLARM and other possibilites to track small aircrafts, and how to use it in airplane models \ud83d\ude42<br \/>\nOf course, I found another interesting thing which reminded me that USB DVB-T tuner with well known Realtek RTL2832U could be used as ADS-B receiver.<br \/>\nIn short, ADS-B is some kind of beacon transmited by most larger aircrafts. Protocol is well described, so everyone who could receive such signals could also decode it and do something with it. Most known site using these data is <a href=\"http:\/\/flightradar24.com\" target=\"_blank\">flightradar24.com<\/a>.<\/p>\n<p>Simple ADS-B receiver application (rtl_adsb) is already included in rtlsdr library, but it outputs to console only received packets with at most brief protocol decoding. Because my old tuner with FC0013 can&#8217;t receive 1090MHz, so during testing new one I forgot to check this.<\/p>\n<h2>dump1090 by antirez<\/h2>\n<p>But today I found quite impressive software to receive and visualize data: <strong>dump1090<\/strong> (<a href=\"https:\/\/github.com\/antirez\/dump1090\" target=\"_blank\">https:\/\/github.com\/antirez\/dump1090<\/a>) and I had to check it:-)<\/p>\n<p>It compiled flawlessly with just a &#8216;make&#8217;.<br \/>\nRunning it without any options gives similar results to &#8216;rtl_adsb -V&#8217;, so nothing special here \ud83d\ude42<\/p>\n<pre>$ .\/dump1090\r\nFound 1 device(s):\r\n0: Realtek, RTL2838UHIDIR, SN: 00000001 (currently selected)\r\nFound Rafael Micro R820T tuner\r\nMax available gain is: 49.60\r\nSetting gain to: 49.60\r\nExact sample rate is: 2000000.052982 Hz\r\nGain reported by device: 49.60\r\n*8d471f4e9941f28fa8948de31fa4;\r\nCRC: 000000 (ok)\r\nDF 17: ADS-B message.\r\n  Capability     : 5 (Level 2+3+4 (DF0,4,5,11,20,21,24,code7 - is airborne))\r\n  ICAO Address   : 471f4e\r\n  Extended Squitter  Type: 19\r\n  Extended Squitter  Sub : 1\r\n  Extended Squitter  Name: Airborne Velocity\r\n    EW status         : Valid\r\n    EW velocity       : 497\r\n    NS status         : Valid\r\n    NS velocity       : -124\r\n    Vertical status   : Valid\r\n    Vertical rate src : 0\r\n    Vertical rate     : -2304\r\n\r\n*5d471f4e76710a;\r\nCRC: 00002c (ok)\r\nDF 11: All Call Reply.\r\n  Capability  : 5 (Level 2+3+4 (DF0,4,5,11,20,21,24,code7 - is airborne))\r\n  ICAO Address: 471f4e\r\n  IID         : SI-28\r\n\r\n*200014121f6bd2;\r\nCRC: 471f4e (ok)\r\nDF 4: Surveillance, Altitude Reply.\r\n  Flight Status  : Normal, Airborne\r\n  DR             : 0\r\n  UM             : 0\r\n  Altitude       : 31050 feet\r\n  ICAO Address   : 471f4e\r\n<\/pre>\n<p>But it&#8217;s getting more interesting while adding options. First one is <em>&#8211;interactive<\/em> which gives human readable summary with data gathered sorted by aircraft.<br \/>\nLooks much better:<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b1-640x332.png\" alt=\"dump1090 with --interactive\" width=\"640\" height=\"332\" class=\"alignnone size-medium wp-image-1374\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b1-640x332.png 640w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b1-150x77.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b1.png 655w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Next interesting option is <em>&#8211;net<\/em> that enables few networking features. Most impressive is webserver with map and planes on it, moving real time!<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b2-640x454.png\" alt=\"web interface of dump1090\" width=\"640\" height=\"454\" class=\"alignnone size-medium wp-image-1375\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b2-640x454.png 640w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b2-150x106.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b2.png 687w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Interesting thing is that I receive this using only stock small antenna located near window. Tuner is able to receive without any special antenna signals from planes up to 250km from me &#8211; that&#8217;s amazing.<\/p>\n<h2>dump1090 by MalcolmRobb<\/h2>\n<p>And this is not the end! There is a <a href=\"https:\/\/github.com\/MalcolmRobb\/dump1090\" target=\"_blank\">fork of dump1090<\/a> made by MalcolmRobb with significant improvements.<br \/>\nOn console in interactive mode there are additional information, for example Squawk (transponder) number and heading, displayed information is also more clear:<\/p>\n<p><a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b3.png\" alt=\"dump1090 --interactive by fork by MalcolmRobb\" width=\"637\" height=\"290\" class=\"alignnone size-full wp-image-1380\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b3.png 637w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b3-150x68.png 150w\" sizes=\"(max-width: 637px) 100vw, 637px\" \/><\/a><\/p>\n<p>Web interface is also improved. Aircrafts now looks like planes, not like arrows\/triangles, browser keeps history of positions, so a trail could be draw for each flight. There is also Openstreetmap support additionally to Google Maps used earlier.<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b4-640x419.png\" alt=\"web interface of fork of dump1090 by MalcolmRobb\" width=\"640\" height=\"419\" class=\"alignnone size-medium wp-image-1381\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b4-640x419.png 640w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b4-150x98.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b4.png 953w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b5-640x385.png\" alt=\"web interface of fork of dump1090 by MalcolmRobb\" width=\"640\" height=\"385\" class=\"alignnone size-medium wp-image-1382\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b5-640x385.png 640w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b5-150x90.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2014\/03\/ads-b5.png 954w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>There are also other improvements. For both versions of <strong>dump1090<\/strong> I use also <em>&#8211;agressive<\/em> switch. On normal PC it&#8217;s not so intensive as author warns, so it could be added without hesitation because it really improves reception and doesn&#8217;t eat cpu.<\/p>\n<p>One missing thing for me &#8211; submiting data to flightradar24 site. But don&#8217;t mind me &#8211; it&#8217;s more a wish than complaining. <strong>dump1090<\/strong> is really good piece of software!<br \/>\n<\/p>","protected":false},"excerpt":{"rendered":"<p>I was searching Internet about FLARM and other possibilites to track small aircrafts, and how to use it in airplane models \ud83d\ude42 Of course, I found another interesting thing which reminded me that USB DVB-T tuner with well known Realtek <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/majek.sh\/en\/rtlsdr-and-adsb\/\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6],"tags":[63,56],"_links":{"self":[{"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/posts\/1369"}],"collection":[{"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/comments?post=1369"}],"version-history":[{"count":17,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/posts\/1369\/revisions"}],"predecessor-version":[{"id":1404,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/posts\/1369\/revisions\/1404"}],"wp:attachment":[{"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/media?parent=1369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/categories?post=1369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/tags?post=1369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}