Technology11 min read2026-04-24

⚙️ SimConnect API: A Technical Guide to Flight Telemetry Extraction

For developers and aviation technologists: how the SimConnect API works, what data it provides, and how to build training analytics on top of simulator telemetry.

What Is SimConnect?

SimConnect is Microsoft Flight Simulator's official SDK for external applications to communicate with the simulation engine. It provides bidirectional access: applications can read simulation state (telemetry extraction) and write simulation variables (scenery injection, AI traffic control, weather modification).

For flight training analytics, we primarily use the read capabilities to capture pilot performance data in real-time.

Key Capabilities: - Read 1,000+ simulation variables at up to 60Hz - Subscribe to specific event notifications (landing gear, autopilot, etc.) - Access AI traffic and ATC state - Modify simulation conditions (inject weather, failures, etc.) - Works with MSFS 2020 and MSFS 2024

Connection Options: - SimConnect SDK (C/C++ native) - Python-SimConnect (Python wrapper) - SimConnect managed wrapper (.NET/C#) - Third-party REST bridges (for web applications)

Data Points We Capture

Our training telemetry system captures these primary variables at 10Hz:

Position & AttitudePLANE_LATITUDE → decimal degrees PLANE_LONGITUDE → decimal degrees PLANE_ALTITUDE → feet MSL PLANE_ALT_ABOVE_GROUND → feet AGL PLANE_HEADING_DEGREES_TRUE → degrees PLANE_PITCH_DEGREES → degrees PLANE_BANK_DEGREES → degrees

PerformanceAIRSPEED_INDICATED → knots AIRSPEED_TRUE → knots VERTICAL_SPEED → feet/min GROUND_VELOCITY → knots

EngineGENERAL_ENG_THROTTLE_LEVER_POSITION → percent GENERAL_ENG_RPM → RPM GENERAL_ENG_MANIFOLD_PRESSURE → inHg FUEL_TOTAL_QUANTITY_WEIGHT → pounds

ControlsAILERON_POSITION → -1.0 to 1.0 ELEVATOR_POSITION → -1.0 to 1.0 RUDDER_POSITION → -1.0 to 1.0 FLAPS_HANDLE_PERCENT → percent

NavigationNAV_GSI → glideslope deviation NAV_CDI → localizer deviation GPS_FLIGHT_PLAN_WP_COUNT → waypoints remaining

At 10Hz with 25+ variables, a 1-hour session generates approximately 900,000 data points — roughly 15MB of raw telemetry data.

Building Training Analytics

The raw telemetry is just the beginning. Training intelligence requires several processing layers:

Phase Detection Automatically segment each flight into phases: taxi, takeoff, climb, cruise, descent, approach, landing, go-around. This uses a state machine driven by altitude, airspeed, and gear/flap configuration.

Standard Profile Comparison For each phase, compare actual performance against standard profiles. For example, a stabilized approach at 500' AGL should show: - Airspeed within V-ref ±5kt - Descent rate 600-800 fpm - Glideslope within ±0.5 dots - Wings level ±5° - Heading within ±5° of runway heading

Anomaly Detection Flag exceedances, trend deviations, and unusual patterns. Examples: - Airspeed below V-ref on short final (safety critical) - Bank angle >30° below 500' AGL (safety critical) - Inconsistent control inputs suggesting confusion - Prolonged autopilot use during training maneuvers

Scoring Computation Roll up phase-level scores into session-level competency scores, then aggregate into the running FRS. The algorithm weights recent sessions more heavily (exponential decay) while maintaining enough historical data for trend analysis.

The complete processing pipeline runs on Databricks, taking raw SimConnect data from ingestion to FRS update in under 5 seconds.

Ready to start your aviation journey?

Join 2,400+ pilots training with behavioral telemetry on the Aviation Data Foundry.

Explore the Developer Platform