Skip to main content

G1000 PFD — Primary Flight Display

Build log for the Garmin G1000 PFD replica: bezel fabrication, touchscreen mounting, and X-Plane integration.

6 min read Updated 2026-10

Overview

The Primary Flight Display (PFD) is the left-hand screen of the G1000 suite. It shows attitude, airspeed, altitude, vertical speed, HSI, and COM/NAV tuning. In the real aircraft it is a Garmin GDU 1040 running Garmin's proprietary avionics software.

In this build the PFD is replicated using a 10.1" touchscreen monitor running X-Plane 12's native G1000 implementation, mounted behind a 3D-printed bezel that matches the real panel proportions.

Bezel Design

The PFD bezel is printed in PLA. Every knob and key on it sends one of X-Plane's sim/GPS/g1000n1_* commands, the ones the default G1000 Skyhawk's own bezel uses. In the app it's part of the Cessna 172 G1000 Blueprint, on an ESP32-S3.

Softkey Row

The 12 softkeys along the bottom edge have no fixed function: the G1000 labels each one on the screen above it, and the label changes with the page (PFD, CDI, DME, XPDR, …). So each key simply presses its softkey, sim/GPS/g1000n1_softkey1 to softkey12, and the screen decides what it does. Each is a 6×6 mm tactile switch.

Knobs and Keys

ControlPartX-Plane 12 (sim/GPS/g1000n1_…)
NAV volume, push IDEncoder with pushnvol_up / nvol_dn, push nvol
NAV knob outer / inner, pushConcentric encoder with pushnav_outer_up / _down, nav_inner_up / _down, push nav12
NAV flip-flopPush buttonnav_ff
COM volume, push squelchEncoder with pushcvol_up / cvol_dn, push cvol
COM knob outer / inner, pushConcentric encoder with pushcom_outer_up / _down, com_inner_up / _down, push com12
COM flip-flopPush buttoncom_ff
BARO / CRS, push CRS syncConcentric encoder with pushbaro_up / _down, crs_up / _down, push crs_sync
RANGEEncoderrange_up / _down
Pan joystick5-way switchpan_up, pan_down, pan_left, pan_right, push pan_push
FMS knob outer / inner, pushConcentric encoder with pushfms_outer_up / _down, fms_inner_up / _down, push cursor
D→, MENU, FPL, PROC, CLR, ENTPush buttonsdirect, menu, fpl, proc, clr, ent

The HDG and ALT knobs and the autopilot keys are on the GFC 700 glareshield panel in this build.

Wiring

The eleven encoders use the ESP32-S3's own pins (GPIO 1–18, 21 and 38–41). The 31 keys, knob pushes included, sit on three MCP23017 I²C expanders on GPIO 42 (SDA) and 47 (SCL), skipping each expander's output-only channels 7 and 15.

Status

Bezel design in progress. Monitor selected (Elecrow 10.1" IPS capacitive touch). Wiring and X-Plane mapping defined.