From FlightGear wiki
Revision as of 08:43, 1 May 2018 by Mickybadia (Talk | contribs) (v1.4.3)

Jump to: navigation, search
ATC-pie logo
Tower viewing, following a departing aircraft
Tower viewing, following a departing aircraft
Developed by Michael Filhol
Initial release February 1, 2015
Latest release 1.4.3 (April 29, 2018)
Written in Python3
OS Any
Platform Qt5
Development status Active
Type ATC client
License GNU GPL v3

ATC-pie is an air traffic control simulation program allowing to play solo games, connect to FlightGear multi-player networks and set up tutorial sessions for teacher supervision of an ATC student. It features en-route centre control (CTR) as well as airport-based service (TWR, APP, GND...) and 3D tower viewing with FlightGear. Voice instruction recognition and pilot speech synthesis are also featured in solo games.

It is essentially designed for realism and simulates many tasks and situations of real-life ATC such as:

  • strip rack and sequence management;
  • radar monitoring and transponder identification;
  • handovers to/from neighbouring controllers;
  • ATIS recording;
  • flight plan filing and editing;
  • routing and conflict anticipation.

The program is free and open source, and programmed in Python3 for Qt5 hence system-independant. Only Python3 and its Qt5 bindings must be installed. That done, it is meant to work straight away, with no make/compile command to run or external resource to install. The whole world is immediately available on radar. Tower viewing requires the appropriate FlightGear aircraft and scenery.


Visit the ATC-pie screenshot wiki category for more

Working principles


You are the air traffic controller, working with or without a tower window or radar scope, depending on your position and local facility. Players will connect to the network (multi-player), AI traffic be simulated (solo), or teacher traffic generated (tutorial session), with different types of aircraft and transponder equipment.

As in real life, your main radar technology is SSR, hence unless you cheat or activate the primary radar, will show you only what you pick up from on-board transponders in its range. This means:

  • if a transponder is off, you will not see the aircraft on your radar screen;
  • if a transponder is on, you will at least be able to see its position and read the transponder code, possibly its altitude and even its type and callsign, depending on the mode set by the pilot.


The ATC-pie strip detail sheet

Your basic traffic flow and sequence working unit is the strip, each representing a controlled (or soon expected) aircraft. Strips are created, filled with details and moved along and across racks until handed over to a different controller or discarded. Strip details include:

  • most importantly, the aircraft's callsign, to be used on the radio;
  • information like aircraft type, airspeed, route... that can be specified by the pilots themselves when filing flight plans;
  • transponder code and flight parameter assignments (or vectors: heading, altitude/FL, speed).

Linking strips

Strip details can be manually edited, but every strip can also be linked to a flight plan and/or a radar contact. Linking to a strip will automatically:

  • make the strip display the missing elements available from the linked aircraft transponder or flight plan;
  • if you use radar, inform the contact label with useful details provided on the strip, e.g. assigned altitude.

Any detail mismatch between a strip and its linked flight plan or radar contact will be reported for you to resolve.

Radar identification

Radar identification: both matched strip and radar contact marked in blue

To identify an aircraft and link the right radar contact to a strip, an ATC can rely on different things. He can read an aircraft's callsign straight away if its transponder has mode S turned on, tell from reported positions and altitudes, or use a transponder code.

For instance, say a VFR traffic makes an initial radio contact giving his callsign and approximate position, with no mode S transponder. ATC will typically pull out a new blank strip and give the pilot a unique transponder code to squawk, writing it on the strip alongside the announced callsign, then wait for it to appear on the radar. This allows for radar identification of aircraft–strip pairs such that:

  • the strip is assigned a transponder code;
  • no other strip is assigned the same code;
  • the aircraft is the only unidentified traffic squawking that code in radar range.

ATC-pie identifies such pairs automatically and reports them to you so you can properly link the two and get back to the pilot: "radar identified".

Detailed feature list

Session types

Available modes and sessions:

  • FlightGear multi-player connections (FGMS)
  • Solo games with simulated IFR traffic
  • Teacher–student tutoring sessions
  • For all session types: en-route centre or airport control mode
  • For all airport sessions: 3D tower view available

FlightGear multi-player games:

  • Weather: real world METAR retrieval
  • Strip exchange: handovers with other ATC-pie and OpenRadar instances in range
  • Flight plans: interface with Lenny64's data base (the de facto FG standard), incl. in-game retrieval, opening, closing, filing and editing (work on local copies and manage sync with online status)
  • In-app announcement of ATC sessions on Lenny64's event page

Solo sessions (AI traffic):

  • CTR control mode, or configurable combination of TWR, GND, APP and DEP positions in airport mode
  • Voice instruction recognition (with Sphinx)
  • Pilot read-back speech synthesis (with pyttsx)
  • Weather: randomised
  • Strip exchange: handovers to/from virtual ATCs
  • Airline choice and custom aircraft appearence
  • Configurable airspace rules and entry/exit/routing points
  • Adjustable difficulty (traffic density)

Tutoring sessions (teacher with student):

  • Teacher spawns and manipulates traffic visible to student (flight and transponder settings)
  • Weather: wind control by teacher
  • Strip exchange: configurable ATC neighbours and handover supervision by teacher
  • Traffic snapshots and recall to repeat situations with the student


Common data sources:

  • Airport and navigation data retrieved from X-Plane file sets (whole world base set included, custom files accepted)
  • Radar background images and hand drawings (integrated OpenStreetMap tile retrieval helper and EuroScope/VATSIM/IVAO .sct sector file import)
  • Ground elevation maps (can be generated automatically with a provided script)
  • Editable aircraft data base (ICAO designators, cruise speeds, WTC, etc.)
  • Online real world declination lookup for true/magnetic distinction

GUI features:

  • Multiple window workspace (radar screens, strip racks and bays) saved by location
  • Floatable/dockable panels and toolbars (see screenshot) and layout save/restore
  • Customisable colours
  • Notification system combining selectable sounds, status bar messages and time-tagged history
  • General and location-specific notes and settings saved on close and restored on restart

Misc. tools:

  • Quick point-to-point heading and distance measuring tool and access to Earth coordinates
  • Multiple weather station monitor
  • Direct text annotation of radar screen with mouse
  • AD/nav/parking point browser and indicator
  • Custom alarm clocks with quick keyboard timer start

ATC surveillance

Radar and transponders:

  • SSR and primary radar activation
  • Full transponder support and mode-dependant radar behaviour (off, A, C, S, GND)
  • Radar identification assistant (detects unique matches between strip info and radar contacts)
  • Runway occupation/incursion detection
  • Visible mismatches between assigned vectors and picked up positions (see all-in-one graphics)
  • Route/vector conflict anticipation and separation incident alarm
  • Approach spacing hints for inbound sequences

Tower viewing (airport mode, requires FlightGear):

  • Internally started or through connection to an external instance
  • Controller pane to orient/zoom view or follow aircraft
  • Additional views can be connected (for multiple camera angles)

Traffic management

Strips and racks:

  • User-defined racks with configurable colours for linked radar contacts and ATCs to collect strips from
  • Runway boxes with automatic WTC timers when freed
  • Loose strip bays with customisable backgrounds

Routes, vectors, conflicts:

  • Convenient mouse input for vectors, taxi instructions and route/waypoint changes
  • Route presets, analysis, drawing and world map view
  • Current leg and next waypoint display with geodesic calculations of headings and distances



  • FGCom integration, incl. echo test and possible use of externally running client
  • ATIS recording with pre-filled preparation notepad (see feature dialog)
  • Multiple frequency transmissions and monitoring, frequency-specific sound level selection

Text chat:

  • Preset messages and auto-completion
  • Predefined and custom aliases for context-sensitive replacements (general, location- and ACFT-specific)
  • Sender blacklist management (filter out trolls)

Using ATC-pie

To download the program and learn more about how to use it, read the ATC-pie installation and user guides. If you have a question, check the FAQ for help or try the forum.