serialcs - GPS navigation and serial port in C#

Set of applications for simple GPS navigation and serial port handling in MS .NET, Mono and .NET Compact Framework. Runs also on partially broken serial port implementations in Mono and PDAs, like HTC3300 (aka. T-Mobile MDA Compact).

Quick Howto

  1. Download the most recent version from the download page
  2. If you want to compile from sources (recommended);
    1. Get and install NANt
    2. Get and install NET Compact Framework Redistributable (NETCFSetupv2.msi), if you want to compile for Windows CE/Mobile. Set the environment variable NETCF to the installation directory of NETCF.
    3. Compile using nant or nant doc
  3. Alternatively use the precompiled binary versions: serialcs-r<n>.msi compiled for desktop PC with MS .NET Framework 2.0 or the installation cabinet serialcs-r<n>.cab for Windows CE/Mobile. Warning! The binaries located in the cabinet file were compiled for .NET Compact Framework v2, which is usually installed on Windows Mobile 6. Windows Mobile/CE 5 and older may have no .NET Compact Framework at all or its older versions. In this case you'll have to download the NET Compact Framework Redistributable (NETCFSetupv2.msi) and install the current Compact Framework cabinet files to your device. The cabinet installation files are usually located in the subdirectory WindowsCE\wce<num>\<arch>, eg. WindowsCE\wce500\armv4i\ for a Windows Mobile 5 driven device with an ARM processor (the most common case).
  4. Please really read the online documentation for further details. It contains a quick introduction, on how to download maps and use sgps.exe for showing the actual position and creating GPX files. The documentations on single classes contain further usefull hints.
  5. See project page for screenshots etc.
  6. Browse repository

Acknowledgement: I want to thank to Prof. Steve Dutch for a great explanation on how to convert latitude and longitude to and from UTM. See also

See also an article GPS z .NET Compact Framework (in Polish) in the polish periodical Software Developer's Journal, 2/2009,

On you'll also find a small program cb, a not so featured replacement for sgps.exe written in C. The C program can also read the current position from the GPS' serial port and show it in a simple Win32 window. It can be compiled for diverse platforms, with wine also for UNIX. See documentation for more details.

Daniel Stoinski,, project hosted on