The 1090MHz Riddle

An open-access book about decoding Mode-S and ADS-B data


Begun with a frustration on the lack of technical public information on ADS-B and Mode-S in the year 2015, I created a live online document to record my understanding of ADS-B data. Previously, this was known as “ADS-B Decoding Guide” project. Together with the tutorial, we also developed its related Python library, the pyModeS. With time, I received many feedbacks, compliments, and contributions from open-source community users.

Since the beginning of 2017, the interests of tapping into Mode-S Enhanced Surveillance (EHS) data brought us a whole new chapter of Mode-S inference and decoding into the pyModeS. This also enriches the “ADS-B” guide. With the advance in this area, I am planning to compile a more comprehensive online book to cover both ADS-B and Mode-S decoding and related topic.

That’s the starting of this new repository. I am also starting to host the online book on my own server to allow more flexibility of editing and publishing. You can read the most up-to-date book on

Oh, it is still GNU GPL. It was great to see the pull requests from different contributors previously. I am looking forward to seeing more comments and pulls from the community. Enjoy!

About the book

This guide document is shared on GitHub and Please feel free to help us improving it.

Links to this guide document:

You can download the pyModeS tool from GitHub, which is a Python implementation of all (and more) message types described here:


From TU Delft:

  • Junzi Sun, PhD Candidate, TU Delft

  • Huy Vû, Master Student, TU Delft

  • Jacco Hoekstra,, TU Delft

  • Joost EllerBroek,, TU Delft

From GitHub community:


Since the start of the this project, I have received many questions by email. However, the best way to post your questions is using the GitHub Issues. This way, your questions and my answers can help others as well:

Anyhow, still feel free to drop me a messages at: j.sun-1[at]


  • Technical Provisions for Mode S Services and Extended Squitter. International Civil Aviation Organization, 2008.

  • Technical Provisions for Mode S Services and Extended Squitter, 2nd Edition. International Civil Aviation Organization, 2012.

  • Annex 10 to the Convention on International Civil Aviation, Aeronautical Telecommunications. International Civil Aviation Organization, 2002.

  • Minimum Operational Performance Standards for 1090 MHz Extended Squitter (DO-260B), RTCA, 2009

  • Elementary surveillance (els) and enhanced surveillance (ehs) validation via mode s secondary radar surveillance, Project Report ATC-337, Lincoln Lab., MIT, 2008.

  • Fundamentals of mode s parity coding, tech. rep., Massachusetts Institute of Technology, Lincoln Laboratory, 1984.

  • Dump1090 Project

  • A Very Simple ADSB Receiver

Site maintained by @junzis. Build with LaTeX, Pandoc, and GitHub