Skip to content

ericjohncarlson/MMM-FlightTracker

 
 

Repository files navigation

MagicMirror² Module: Flight Tracker

MMM-FlightTracker is a module for MagicMirror² that displays real-time information about nearby aircraft using ADS-B data.

This fork has been modernized with:

  • tar1090 integration for richer aircraft data (recommended)
  • Flight route lookup via adsb.lol API
  • Streamlined dependencies (removed RTL-SDR support, network-only mode)
  • Zero CVE vulnerabilities

Features

  • Display aircraft callsign, airline, type, altitude, speed, heading
  • Show flight routes (origin-destination) when available
  • Support for tar1090/readsb JSON API or legacy SBS1 TCP stream
  • Distance and bearing from your location
  • Configurable units (metric/imperial/knots)
  • Sort by distance, altitude, speed, or age

Installation

Clone this module into your MagicMirror's modules directory:

cd ~/MagicMirror/modules
git clone https://github.com/ericjohncarlson/MMM-FlightTracker
cd MMM-FlightTracker
npm install

Configuration

Add the module to your config/config.js:

tar1090 Mode (Recommended)

Use this mode if you have tar1090, readsb, or adsb-ultrafeeder running. This provides the richest data including full aircraft descriptions and pre-calculated distances.

{
    module: 'MMM-FlightTracker',
    header: 'Nearby Aircraft',
    position: 'top_right',
    config: {
        client: {
            mode: 'tar1090',
            host: '192.168.1.100',  // Your tar1090/readsb host
            port: 8080,             // Web interface port
            enableRoutes: true      // Lookup flight routes via adsb.lol
        },
        interval: 5,
        altitudeUnits: 'imperial',
        speedUnits: 'knots',
        orderBy: 'distance:asc',
        limit: 8,
        showAirline: true,
        showType: true,
        showSpeed: true,
        showAltitude: true,
        showHeading: true,
        showRoute: true
    }
}

Network/SBS1 Mode (Legacy)

Use this mode to connect to a dump1090 SBS1 stream on port 30003:

{
    module: 'MMM-FlightTracker',
    header: 'Nearby Aircraft',
    position: 'top_right',
    config: {
        client: {
            mode: 'network',
            host: '192.168.1.100',
            port: 30003
        },
        latLng: [40.4406, -79.9959],  // Required for distance calculation
        interval: 5,
        altitudeUnits: 'imperial',
        speedUnits: 'knots',
        orderBy: 'distance:asc',
        limit: 8
    }
}

Configuration Options

Option Description Default
interval Polling interval in seconds 1
animationSpeed Animation speed in milliseconds 1000
passingByThreshold Altitude threshold (ft) to separate "nearby" vs "passing" planes. Set to -1 to disable. -1
latLng Your coordinates [lat, lng] for distance calculation (required for network mode, optional for tar1090) []
orderBy Sort order: distance:asc, altitude:desc, speed:asc, age:asc, etc. undefined
limit Maximum number of aircraft to display -1 (all)
altitudeUnits metric (meters) or imperial (feet) Global config
speedUnits metric (km/h), imperial (mph), or knots Global config
showAirline Show airline/operator name true
showType Show aircraft type code (e.g., B738, A320) true
showSpeed Show ground speed true
showAltitude Show altitude with climb/descent indicator true
showHeading Show cardinal direction (N, NE, E, etc.) true
showRoute Show flight route if available (e.g., DFW-PHL) true

Client Options

Option Description Default
mode tar1090 or network network
host Hostname or IP of your ADS-B receiver Required
port Port number (8080 for tar1090, 30003 for SBS1) Required
enableRoutes Enable route lookup via adsb.lol API (tar1090 mode only) true

Display Format

SWA1098 / SOUTHWEST AIRLINES CO · B38M (DFW-PHL)
500 knots  ↑ 31000 ft  NE  60.4 nm
  • Line 1: Callsign / Airline (max 25 chars) · Aircraft Type (Route)
  • Line 2: Speed, Altitude (↑ climbing, ↓ descending, → level), Heading, Distance

Data Sources

tar1090 Mode

  • Aircraft data: Local tar1090 JSON API (/data/aircraft.json)
  • Includes: registration, aircraft type, operator, pre-calculated distance
  • Route data: adsb.lol API (cached per callsign)

Network Mode

  • Aircraft data: SBS1 BaseStation format over TCP
  • Enriched with local CSV databases (airlines, aircraft types)
  • Distance calculated using Haversine formula

Credits

License

Apache-2.0

About

MagicMirror module that uses ADS-B systems to track nearby planes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.0%
  • CSS 1.0%