Virtual Cockpit
GPS-Based Flight Instrument Simulator for Android
Welcome
Virtual Cockpit transforms your Android phone into a realistic flight instrument panel.
Using GPS and built-in sensors, it displays classic "six-pack" aircraft instruments that respond
to real motion - whether you're walking, biking, driving, or flying.
Current Version: 2.2.4 (March 10, 2026)
Virtual Cockpit running in a car
Features
- Eight Instruments: Airspeed, Attitude, Altimeter, G-Meter, Turn Coordinator, Heading, Vertical Speed, Clock
- GPS + Sensor Modes: Uses GPS when moving, magnetic compass when stationary
- Manual Override: Tap controls to compare GPS vs sensor readings
- Kollsman Knob: Adjustable altimeter pressure (QNH/GPS/QFE modes) with number pad popup
- Speed Units: Knots (KTS), Miles per Hour (MPH), or Kilometers per Hour (KPH)
- Trip Recording: Records your track to Google Earth KML files (crash-safe)
- Barometric Backup: Altitude and vertical speed from barometer when GPS unavailable
- Dual Compass Mode: Works with phone vertical (instrument panel) or flat (on table)
The standard "six-pack" of basic airplane instruments
[Top]
Download
Current Version: 2.2.0
Click the icon below to download the APK installation file:
Download Virtual Cockpit
Installation Steps
- Click the download link above
- Open your Downloads folder and tap the APK file
- If prompted, allow installation from unknown sources
- Google Play will scan the file for safety
- Follow the prompts to complete installation
Note: Virtual Cockpit will be available on Google Play soon. Beta testers get early access via direct APK download.
[Top]
Instructions
Getting Started
- Hold your phone in landscape orientation (wide, not tall)
- For best results, hold the phone vertical like an instrument panel, screen facing you
- The compass also works with the phone flat on a table or airline tray
- Grant location permission when prompted
- The app works best when mounted in a vehicle or held steady
Screen Layout
The screen is divided into three areas:
- Left column: Speed unit buttons (KTS/MPH/KPH), recording controls (REC/FILES), and GPS status
- Center area: Eight instruments arranged in a 4×2 grid
- Top bar: Version number
- Bottom bar: Website URL
The Instruments
Airspeed Indicator (top row, position 1)
- Shows ground speed from GPS
- Scale: 0-200 knots with major marks every 25 knots
- Tap KTS/MPH/KPH buttons on the left to change units
- Unit label displayed in the center of the dial
- When GPS motion mode is disabled, shows zero
Attitude Indicator (top row, position 2)
- Blue = sky, Brown = ground
- Yellow miniature aircraft in center as reference
- Bank index marks at 10°, 20°, 30°, and 60°
- Pitch lines at 5° and 10° intervals
- When stationary or GPS motion disabled: Shows actual phone tilt relative to gravity (smooth IIR filtering reduces jitter)
- When moving with GPS enabled: Shows computed bank angle from coordinated turn physics, pitch from climb rate
Altimeter (top row, position 3)
- Three-needle display like a real aircraft altimeter
- Long triangle pointer: 10,000 ft increments (one rotation = 100,000 ft)
- Short wide hand: 1,000 ft increments (one rotation = 10,000 ft)
- Long thin hand: 100 ft increments (one rotation = 1,000 ft)
- Kollsman Window (small box on dial face):
- Shows "GPS" when using GPS altitude
- Shows "29.92" when using barometric/magnetic mode
- Tap the Kollsman window to toggle between GPS and sensor modes for navigation instruments (Heading, Altitude, VSI)
G-Meter (top row, position 4)
- Round dial showing current G-force
- Scale: -1G to +3G
- 1G reference at 9 o'clock position (normal gravity when level)
- Tick marks at 0.5G intervals
- Useful for monitoring turns, acceleration, and maneuvers
- Works regardless of GPS - always reads from accelerometer
Turn Coordinator (bottom row, position 1)
- Miniature airplane shows turn rate, not bank angle
- Wings aligned with L/R marks = standard rate turn (3°/second, 360° in 2 minutes)
- Inclinometer ball shows slip/skid - keep it centered for coordinated flight
- "2 MIN" label indicates standard rate timing
- Airplane locked level when stationary or GPS motion disabled (below 5 knots)
Heading Indicator (bottom row, position 2)
- Rotating compass card with N, E, S, W and numeric headings every 30°
- Yellow lubber line at top shows current heading
- Source indicator box shows data source:
- GPS: Heading from GPS ground track (accurate when moving)
- MAG: Heading from magnetic compass (used when stationary or GPS nav disabled)
- ERR: Phone tilted beyond reliable compass range - heading frozen at last good value
- Compass works with phone vertical (normal use) or flat on a table
- Tap the Kollsman window on the altimeter to toggle between GPS and MAG heading
Vertical Speed Indicator (bottom row, position 3)
- Shows climb or descent rate in feet per minute (FPM)
- Scale: ±2,000 FPM (zero at 9 o'clock, ±2000 meeting at 3 o'clock)
- UP/DN labels with 0.5, 1, 1.5, 2 thousand markers
- Uses GPS altitude change rate, or barometric rate when GPS nav disabled
Clock (bottom row, position 4)
- 12-hour analog clock with hour, minute, and second hands
- Timezone box (above center) shows abbreviation (e.g., MST, EDT)
- AM/PM box (below center) shows time of day
- Green text = synchronized with network time
- Red text = using device time only
Left Column Controls
Speed Unit Buttons (KTS / MPH / KPH)
- Tap to select speed units for the airspeed indicator
- Selected button highlighted in yellow
- KTS = Knots (nautical miles per hour)
- MPH = Miles per hour
- KPH = Kilometers per hour
REC / STOP Button
- Tap REC to start recording your track
- Button changes to STOP while recording
- Tap STOP to end recording and save the file
- Recording is crash-safe - if the app closes unexpectedly, data up to that point is preserved
FILES Button
- Opens your device's Downloads folder
- Recorded tracks saved as KML files
- Filename format: VirtualCockpit_YYYY-MM-DD_HHMMSS.kml
- Tap a KML file to open in Google Earth
GPS Status Indicator
- Shows GPS availability and mode
- GPS ✓ (green): GPS available and enabled for motion instruments
- GPS ○ (yellow): GPS available but disabled for motion instruments
- GPS ✗ (gray): GPS not available
- Tap to toggle GPS mode for motion instruments (Airspeed, Attitude, Turn Coordinator)
- When disabled (yellow), motion instruments use sensor data instead of GPS, allowing you to compare readings
Comparing GPS vs Sensor Readings
Version 1.12.16 lets you independently toggle GPS for two instrument groups:
GPS Status Indicator (tap the GPS ✓/○/✗ box) controls:
- Airspeed Indicator - GPS speed vs zero
- Attitude Indicator - GPS-derived bank/pitch vs accelerometer
- Turn Coordinator - GPS turn rate vs level
Kollsman Window (tap the window on the altimeter) controls:
- Heading Indicator - GPS track vs magnetic compass
- Altimeter - GPS altitude vs barometric altitude
- VSI - GPS altitude rate vs barometric rate
This allows you to:
- Compare GPS heading with magnetic compass to create a deviation card
- Compare GPS altitude with barometric altitude to calibrate the Kollsman setting
- Verify sensor accuracy against GPS
- Educational exploration of how different sensors work
Compass Tips
Phone Orientation:
- Vertical (X-up): Phone upright like an instrument panel - normal use
- Flat (Z-up): Phone lying flat on a table or tray - also works!
- The app automatically switches between compass algorithms based on phone tilt
- Transition between orientations is smoothed to avoid jumps
Error Detection:
- If you tilt the phone too far (screen facing down, or rolled sideways), the heading becomes unreliable
- The source box will show "ERR" and the heading will freeze at the last good value
- Return the phone to a valid orientation to resume heading updates
Magnetic Interference:
- The magnetometer can be affected by nearby metal or electronics
- Car interiors, phone cases with magnets, and some mounts may cause errors
- For best accuracy, keep the phone away from magnetic sources
- Use GPS heading when moving for most accurate direction
About KML Recording
Virtual Cockpit records your track in KML format, compatible with Google Earth.
Recording Features:
- Track points saved continuously during recording
- Crash-safe: data is written incrementally, so even if the app closes unexpectedly, your track up to that point is saved
- Metadata includes: app version, device model, recording duration, number of points
- LookAt element automatically frames your track when opened in Google Earth
- Timestamps allow playback animation in Google Earth
Viewing Your Tracks:
- Tap FILES to open Downloads folder
- Tap the KML file to open in Google Earth
- Or transfer the file to a computer for viewing in Google Earth Pro
- Use the time slider in Google Earth to animate your route
[Top]
About Sensors
Virtual Cockpit uses the sensors built into your Android device. The more sensors your device has, the more features will be available.
Sensors Used by Virtual Cockpit
| Sensor |
What It Does |
Used For |
| GPS |
Location, speed, altitude, heading |
Airspeed, Altitude, Heading (when moving), VSI, Turn Rate |
| Accelerometer |
Detects tilt and G-forces |
Attitude Indicator (sensor mode), G-Meter, Slip Ball, Compass tilt detection |
| Magnetometer |
Digital compass |
Heading when stationary or GPS nav disabled |
| Rotation Vector |
Fused orientation (gyro + accel + mag) |
Smooth magnetic heading with tilt compensation |
| Barometer |
Air pressure |
Backup altitude and VSI when GPS unavailable or disabled |
What If a Sensor Is Missing?
| Missing Sensor |
Impact |
| GPS |
Airspeed shows zero, heading uses magnetometer only, altitude/VSI use barometer if available |
| Magnetometer |
No heading when stationary - must be moving for GPS heading |
| Barometer |
No altitude or VSI when GPS is unavailable |
| Accelerometer |
G-Meter and slip ball non-functional, attitude indicator limited |
Note: Most modern Android phones have all required sensors. Virtual Cockpit will use whatever is available and gracefully handle missing sensors.
[Top]
Future Plans
Coming Soon
- Settings Menu: Adjustable Kollsman window (enter barometric pressure), timezone selection, preferences
- Sensor Status Page: See which sensors are available and view raw data
- Night/Red Mode: Red lighting for dark conditions, preserves night vision
- Glass Cockpit Mode: Modern Garmin-style PFD display with tape instruments
- User Manual: Built-in help pages explaining each instrument
Under Consideration
- Sensor Demo Page - Educational visualization of raw sensor data
- Flight Logbook - Automatic logging of trips with statistics
- Flight Data Recorder (FDR) with detailed logging
- Replay mode - play back recorded trips with animated instruments
- Portrait mode option
- Compass calibration wizard
- HUD mode for windshield mounting
- Audio alerts for altitude and bank angle
Have a suggestion? Email me at [email protected]
[Top]
Become a Beta Tester
Your feedback as a Virtual Cockpit beta tester is valuable! Help shape the app by reporting what works, what doesn't, and what features you'd like to see.
How to Participate
- Download and install the latest version
- Use it during your normal activities - driving, biking, walking, flying
- Try different features: toggle GPS modes, record tracks, compare sensor readings
- Send feedback to [email protected]
What to Report
- Bugs or crashes (include your device model and Android version)
- Instruments that don't seem accurate
- Features you like or don't like
- Suggestions for improvements
- New feature ideas
Test Scenarios to Try
- Compare GPS heading vs MAG heading while driving - do they match?
- Try the compass with phone vertical, then flat on a table
- Record a drive and view it in Google Earth
- Force-close the app during recording - is the track still saved?
- Test on different devices if you have access to them
Prizes: Beta testers who suggest features that get implemented will receive recognition and rewards!
Share: Feel free to invite friends to join the beta. Ask them to email me to get on the official tester list for update notifications.
[Top]
Recent Version History
| Version |
Date |
Changes |
| 2.0.6 |
Mar 7, 2026 |
G-meter linear scale fix; larger indicator boxes (compass, Kollsman, clock); compass tap toggles GPS/MAG |
| 2.0.5 |
Mar 6, 2026 |
Removed inner ring from Altimeter; app starts in GPS mode |
| 2.0.4 |
Mar 4, 2026 |
Restored larger instrument size from v1.12.10 |
| 2.0.3 |
Mar 4, 2026 |
Bezel redesign: single black ring, no gray outer ring |
| 2.0.2 |
Mar 4, 2026 |
Extracted KML recording to separate module |
| 2.0.0 |
Mar 3, 2026 |
Major refactoring: extracted UI to Instruments module (~750 lines main) |
| 1.12.16 |
Mar 2, 2026 |
Split GPS control: indicator toggles motion, Kollsman toggles navigation |
| 1.12.15 |
Mar 1, 2026 |
Kollsman window tap toggles GPS/MAG mode |
| 1.12.14 |
Mar 1, 2026 |
Dual compass algorithm (works vertical or flat); attitude indicator smoothing |
| 1.12.13 |
Mar 1, 2026 |
Fixed instrument sizing on all screen sizes |
| 1.12.11 |
Feb 28, 2026 |
Crash-safe KML recording (incremental file writing) |
| 1.12.9 |
Feb 27, 2026 |
Compass tilt error detection (ERR display) |
[Top]
Virtual Cockpit