Skip to content
A customizable aviation information receiver
Rust JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
src change: report WGS-84 height above ellipsoid in ownship geometric Jul 29, 2018
webui change: report WGS-84 height above ellipsoid in ownship geometric Jul 29, 2018
.gitignore Initial public commit. Jul 2, 2017
.travis.yml travis: fixed failed build. Oct 24, 2018
Cargo.toml feature: added BMP280 support for pressure altitude sensor. If pressure Jul 29, 2018 docs: updated documentations for new release. May 5, 2018 doc: added ForeFlight ID message information. Jun 18, 2018
LICENSE readme: updated recommended casing information. Jul 15, 2018

Build Status Cargo Release


Pitot - a customizable aviation information receiver


Please note that Pitot is only an aid of situational awareness and should not be used as the primary source of obtaining flight related information. The Pilot-in-command always assumes the responsibility of ensuring the safe outcome of any flight they operate.

The software is still under heavy development and may not be feature complete and may contain bugs. Use at your own risk.

Latest release

Date released: Jul 15, 2018

Download Link:

All Pitot releases are signed using Datong's PGP key 1908AE626BFCE242.



  • Raspberry Pi 3

Need confirmation

  • Older Raspberry Pi models


Notice that I currently only have ForeFlight available on my iPad, Pitot likely supports much more EFB than listed here but not all of them has been tested.

If you have tested Pitot with your EFB and confirmed it is working, please open a Pull Request to update this list.


  • U-blox over GPIO (such as RY83xAI)


  • High priority: U-blox over USB (should be easy to integrate but disabled for now as I do not have necessary hardware for testing)
  • Low priority: Generic GPS with NMEA protocol


  • Any RTL based SDRs


  • ADS-B, ADS-R and TIS-B traffic (978 UAT and 1080 ES)
  • All FIS-B products (978 UAT)


  • Medium priority: AHRS


  • GDL90 over UDP
  • WebSocket (still under development)
  • GDL90 message buffering when device is sleeping or EFB is not active


  • High priority: Web interface or control App
  • Low priority: Serial output for EFIS integration

Recommended hardware build

Note: You can use services like makexyz to print your cases. The most important thing to remember is to use ABS as printing material and not PLA. As later will easily melt in high temperature conditions.

Getting started

First, program your SD card using the latest release image.

For Mac users, you may use Pi Filler. For Windows users, check out this article from Raspberry Pi Foundation.

If you need instructions for doing this on Linux, you should probably consider use something else :)

Next, insert the SD card into your Raspberry Pi's card slot, observe the correct side with the pins before inserting.

Now, power on your Raspberry Pi and give it up to 3 minutes to finish up initial setup. You may observe the Pitot Wi-Fi showing up but unable to connect, this is normal when first powered on and DO NOT unplug the power cable until Raspberry Pi has finished the setup process. If you have lost power before the setup process is completed and you believe your SD card is bad, simply reprogram the card and try again.

During the setup, your Raspberry Pi will reboot multiple times to expand partitions and setup the readonly file system. As soon as you are able to connect to the Pitot Wi-Fi and observe data flowing into your EFB, the setup has been completed. If you are unsure, just wait 3 minutes and it will be finished and ready for use.

To power off Pitot simply unplug the power cable, like how you shutdown any avionics inside your airplane. Pitot uses readonly file system while running and otherwise does not write to the partition and thus a complete Linux shutdown is neither expected nor necessary.

Currently Pitot works pretty much out of the box, with minimum configuration required.

For Pitot to use your installed SDRs for 1090 and/or 978 reception, you must program the serial of the SDRs to contain strings 1090 or 978 respectively. Pitot will not use the SDR at all unless it includes those strings (aka. no guessing).

For GNSS module, Pitot will detect whether your Ublox chip is running the 3.01 firmware and will enable Galileo constellation tracking automatically.

Web interface

Pitot has a simple web interface that displays basic system and GNSS status information. It can be accessed via once you are connected to the Pitot Wi-Fi.


Please check out for guides on how to develop, test, build and contribute to Pitot.

Any improvements are welcomed! However, if you don't have anything specific in mind, planned features as mentioned above are a good way to get started!


If you want to integrate Pitot with your EFB, please check out for more information.

Helps and discussions

We recommend you always subscribe to the announcement mailing list for notifications on new releases. It is a moderated mailing list and is expected to be extremely low on traffic.

You must join the general discussions forum before you can post in it. There is an option while joining to optionally receive email notifications from the general discussion forum. Keep in mind the traffic in the forum might be high and should you choose to receive email, receiving them in digest is highly recommended.


  • The Stratux project by Christopher Young for his great work in making the first open source ADS-B receiver and open sourcing it. Some algorithms used by Pitot, especially the UAT parsing function were heavily borrowed from the Stratux project.

Copyright and License

This project is licensed under the GPLv3 license.

Copyright (C) 2017-2018 Datong Sun (

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

You can’t perform that action at this time.