/airplanejs

📡 ✈️ App that picks up ADS-B radio signals from airplanes and plots them in real time on a map in your browser

Primary LanguageJavaScriptMIT LicenseMIT

AirplaneJS

📡 ✈️ An SDR app written in JavaScript that picks up ADS-B radio signals from airplanes and plots them in real time on a map in your browser ✨🐢🚀✨

Map with aircrafts plottet

Build status js-standard-style

Prerequisites

Hardware

This software requires an RTL-SDR USB dongle with an RTL2832U chip in order run. Here's a few that I like:

Disclaimer: I'm trying out the Amazon Affiliate Program to support my free open source work. So if you decide to buy an RTL-SDR dongle using one of the links above I'll be grateful (the search link should work as well).

For more information about buying RTL-SDR dongles, check out the RTL-SDR.com blog buyers guide.

Software

This software also requires that you have Node.js and librtlsdr installed on your system. You can install librtlsdr with most package managers which will ensure you have the right dependencies.

Homebrew (macOS):

brew install librtlsdr

Debian based Linux distros:

apt-get install librtlsdr-dev

Usage

The easiest way to run AirplaneJS is using the npx command that you'll have availble if you have Node.js 8+ installed. Simply plug in your RTL-SDR dongle and type:

npx airplanejs

This will download and run AirplaneJS without any hassle.

When AirplaneJS successfully have connected to the USB dongle, your default browser should automatically open to http://localhost:3000.

Alternatively install the module globally like in the old days:

  1. Install AirplaneJS globally:
    npm install airplanejs -g
    
  2. Run AirplaneJS:
    airplanejs
    

Options

The following options are available when running airplanejs:

  • --help - Show help (alias: -h)
  • --version - Output AirplaneJS version (alias: -v)
  • --device <index> - Select RTL dongle (alias: -d, default: 0)
  • --frequency <hz> - Set custom frequency (alias: -f, default: 1090000000)
  • --gain <gain> - Set custom tuner gain (alias: -g)
  • --auto-gain - Disable manual tuner gain (default: off)
  • --enable-agc - Use Automatic Gain Control (default: off)
  • --port <port> - Set custom HTTP server port (alias: -p, default: 3000)
  • --no-browser - Disable automatic opening of default browser

License

MIT