NMEA Simulator X is a free, open-source NMEA 0183 and Signal K data stream simulator for Windows, macOS and Linux. It mimics a vessel under way, including position, heading, speed, depth, wind, engine and AIS data, and streams the result over serial, TCP, UDP and WebSocket so that chart plotters, instrument displays and marine software can be developed and tested without leaving the desk.
- Three simulation modes. Seed values with periodic deltas and manual overrides, following a GPX or KML track or route, and replaying a recorded log.
- NMEA 0183 output. GNSS, heading, speed, depth, wind, autopilot, AIS and propulsion sentences, each individually switchable, with configurable talker IDs and strict 82-character compliance. Optional IEC 61162-450 TAG blocks.
- Signal K output. Delta messages over TCP and WebSocket with the standard hello handshake.
- ViewSync output. UDP packets for Google Earth and Liquid Galaxy installations.
- Transports. Serial port, TCP server and client, UDP unicast, broadcast and multicast with interface selection, WebSocket server and file logging. Several outputs at once.
- Headless operation. The same engine runs as a command-line tool for scripts and CI.
- Settings that persist. Named profiles survive restarts and upgrades.
Download the package for your system from the releases page:
| System | Package |
|---|---|
| Windows 10 1809 or later, x64 | NMEASimulatorX-<version>-win64.exe installer or -win64-portable.zip |
| macOS 13.3 or later | NMEASimulatorX-<version>-macos-arm64.dmg (Apple Silicon) or -macos-x86_64.dmg (Intel) |
| Linux x86_64 or aarch64 | NMEASimulatorX-<version>-<arch>.AppImage (glibc 2.39 or later) or NMEASimulatorX-<version>-x86_64.flatpak |
Every package includes the nmeasim command-line tool, and SHA256SUMS.txt lists the
checksums. The builds carry no paid code signature, so Windows and macOS show a one-time
warning on first launch; the installation guide explains what to
click.
Prerequisites: a C++20 compiler, CMake 3.25 or newer, Ninja, vcpkg and Qt 6.10 with the Serial Port and WebSockets modules.
export VCPKG_ROOT=/path/to/vcpkg
export QT_ROOT_DIR=/path/to/Qt/6.10.3/gcc_64 # or msvc2022_64, macos
cmake --workflow --preset devThe full walkthrough for each platform is in docs/how-to/build-from-source.md.
The documentation lives in docs/ and is organised as tutorials, how-to guides,
reference material and explanations, with a C++ reference generated from the source
comments. Architecture decisions are recorded in docs/adr/. The site is
published at https://dimitrios-kafetzis.github.io/NMEA_Simulator_X/.
Contributions are welcome. Please read CONTRIBUTING.md for the workflow, coding standards and the definition of done, and the Code of Conduct.
The feature set is modelled on the closed-source NMEASimulator by panaaj, which served the marine software community for years. NMEA Simulator X is an independent implementation and shares no code with it.
NMEA Simulator X is licensed under the GNU General Public License v3.0. Qt is used under the LGPL v3 and is linked dynamically. The Share Tech Mono typeface of the instrument readouts is © Carrois Type Design and used under the SIL Open Font License 1.1.
