NMEA Simulator X¶
NMEA Simulator X is a free, open-source NMEA 0183 and Signal K data stream simulator for Windows, macOS and Linux. It behaves like a vessel under way and streams navigation, environment, propulsion and AIS data over serial, TCP, UDP and WebSocket connections, so that chart plotters, instrument displays, gateways and marine software can be developed and tested on a desk.

Get started: install it on Windows, macOS or Linux, then follow your first simulated voyage.
How this documentation is organised¶
The documentation follows the Diátaxis framework, so each section answers a different kind of question.
| Section | Answers | Start here if you |
|---|---|---|
| Tutorials | How do I get started? | Have never used the simulator before |
| How-to guides | How do I achieve X? | Need to install, configure or connect something |
| Reference | What exactly does this do? | Need sentence formats, settings and CLI flags |
| Explanation | Why is it like this? | Want to understand the design and requirements |
| Decisions | Why was this chosen? | Are contributing and need the reasoning behind the architecture |
| Development | How do I contribute? | Want to build, test, release or extend the project |
Key facts¶
- Language and toolkit: C++20 with Qt 6 Widgets. No web technologies.
- Platforms: Windows 10 1809 and later (x64), macOS 13.3 and later (Apple Silicon and Intel), Linux x86_64 and aarch64 as an AppImage (glibc 2.39 or later) or as a Flatpak on any distribution.
- License: GPL-3.0. Qt is linked dynamically under the LGPL v3.
- Distribution: unsigned, free downloads from GitHub Releases with SHA-256 checksums, plus manifests for winget, Scoop, Homebrew and Flathub.
- API: the
coreandiolibraries are documented in the C++ API reference. - Headless mode: the
nmeasimcommand-line tool runs the same engine without a display.