NMEA Clients

The NMEA Server isn't much use without a client application, but unfortunately I don't have many that are suitable for publication. Since some have inquired about client applications, however, I've put one client application into a somewhat publishable form and provided it below, as well as a patch for NTP to use the NMEA Server, which was contributed by Jon Miner.

You can always see the basic operation of the NMEA Server by using a telnet application to connect to port 1155 (or whatever port you've instructed the server to use) of the host on which the server is running. Telnet can't do much in the way of analyzing or visualizing the data, however, so client programs like SatStat are far more useful.


[SatStat screen shot]This client displays the azimuth and elevation of each visible GPS satellite on a plan display similar to the satellite-status screen on many consumer GPS receivers. SatStat also displays signal strength and dilution of position (DOP) parameters.

The display is updated at the frequency of incoming NMEA data.

Java Runtime Environment Required

SatStat is a Java application and requires Sun Microsystems' Java runtime environment (JRE) 1.2 at a minimum, or an equivalent JRE from another vendor.

Installing and Running SatStat

Assuming you have obtained and installed the JRE, installing SatStat is as simple as downloading the JAR file (updated 25 March 2002) and saving it in a location of your choosing.

On Windows systems, if you've installed the latest JRE, you can run SatStat by double-clicking on the JAR file from an Explorer window.

Alternatively, and on non-Windows systems, you can start SatStat with the following command:

    java -jar SatStat.jar

Older or third-party JREs may have different syntax. Consult the documentation for your JRE if you have difficulty with the above command. For JREs that must be given an explicit class name when starting an application, the main class name for the program is SatStat (SatStat.class).

Once SatStat has started, use the Connect menu to select the host on which the NMEA ServeR (or some other NMEA-over-IP server) is running.


All error messages are sent to standard output instead of being displayed in a GUI element as users would normally expect.

SatStat isn't compatible with the JavaBeans architecture; neither are any of its component parts.

Refreshing of the display isn't optimized--that is, it can be slow and jerky on some systems.

Source Code

You can obtain the source code by downloading the gzipped tar file here.

NTP and the NMEA Server

Jon Miner patched NTP 4.1.1b to take input from the NMEA Server, eliminating the time server software's need for exclusive access to the GPS receiver's serial output.

Jon's patch and instructions are at this location. Thanks to Jon for sharing his work with the rest of us.

Chuck Taylor -- (Copyright) -- (Contact)