Skip to content

NMEA GPS Simulator

A Dockerized NMEA-0183 GPS simulator with a modern web interface. Generate, receive, and rebroadcast realistic GPS position data over USB serial, UDP/TCP, and the XGPS protocol used by ForeFlight and Garmin Pilot. The repository also includes a companion Fleet Dashboard container that aggregates many simulators into a single live view.

This site is the complete operator and contributor documentation. The project README is the storefront on GitHub; this site is where you live once you start running, configuring, or extending the system.

Where to start

You are... Start here
New to the project and trying to decide if it fits your use case Overview
Ready to get a container running on a host you already have Quick Start
Planning a deployment with EFBs, Bad Elf hardware, or multiple simulators Architecture, then Hardware Requirements
Operating the simulator day-to-day User Manual (Simulator)
Operating the Fleet Dashboard User Manual (Fleet Dashboard)
Wiring the simulator into ForeFlight, Garmin Pilot, or a Bad Elf Connecting ForeFlight, Connecting Garmin Pilot, USB Serial (Bad Elf)
Building against the HTTP / WebSocket API API Reference
Configuring auto-start, env vars, or a multi-host fleet Auto-Start, Environment Variables, Fleet Monitoring
Diagnosing a broken deployment Troubleshooting, TX Checksum Offload Fix

What the site covers

Section What it documents
Getting Started What the project is, how the pieces fit together, host and peripheral hardware, and the fastest path to a working container.
User Manual (Simulator) One page per UI tab of the simulator web interface. Walks through every control, what it does, when to change it, and when not to.
User Manual (Fleet Dashboard) The companion fleet-monitoring UI, screen by screen. Includes the health chain and the per-simulator card layout.
User Guides Topic-focused HOWTOs that span multiple UI tabs: auto-start, EFB integration, USB serial, sender/receiver pairs, IP range parsing, the TX checksum offload gotcha, and more.
Reference Authoritative reference for the API, environment variables, NMEA wire format, network protocol, security model, and a troubleshooting matrix.

Live API documentation

The simulator and the Fleet Dashboard each expose their own OpenAPI specification on their own host:

  • Swagger UI at http://<host>/api/docs (interactive "try it out" explorer)
  • ReDoc at http://<host>/api/redoc (read-only structured reference)
  • Raw OpenAPI JSON at http://<host>/api/openapi.json (machine-readable spec)

See the API Reference page for endpoint summaries and authentication notes.

Conventions used across the site

Convention Meaning
!!! tip, !!! warning, !!! danger, !!! info admonitions Used consistently across pages. tip is recommended-do, warning is unexpected behavior, danger is destructive, info is background context.
Code blocks with explicit language tags All commands and configuration snippets specify the language for syntax highlighting and copy-to-clipboard support.
<host> and <dashboard-host> in URLs Placeholder hostnames. Substitute the real address of the container running the relevant service.
References to env vars (AUTO_START_MODE, etc.) The authoritative table is at Environment Variables; other pages link there rather than re-listing the matrix.

Repository and license

The source repository is on GitHub at rjsears/nmea_gps_simulator and is published under the MIT License. Issues and feature requests live on the GitHub issue tracker.