MD-1 NMEA Device (COM6) Driver Download



How to connect GPS, SONAR, sensors, auto pilot units etc. in ships and boats via NMEA 0183 to Arduino.

3 Right click on the My computer icon and push Properties tab then. Choose Hardware tab. Click on Device Manager button. 4 Find your HP un2420 Mobile Broadband Module NMEA device in the list and press double click on the biometric device. Click Reinstall driver button. 5 Choose Install from the specific location and click on the Browse button.

Md-1 nmea device (com6) driver downloads
  1. On Device Manager window you will see the new COMports and drivers installed. A) under Ports (COM & LPT) you will see 4 new USB Serial Ports, with theirs identifiers automatically chosen by OS; in the figure 5:. USB Serial Port (COM3). USB Serial Port (COM4). USB Serial Port (COM5). USB Serial Port (COM6).
  2. Ericsson F3507g Mobile Broadband Module. This is a Ericsson WWAN Adapter that is installed in a Mini-PCI Express slot.
  • 16,684 views
  • 5 comments
  • 9 respects

Components and supplies

About this project

NMEA-0183 is an electrical standard to connect GPS, SONAR, sensors, auto pilot units etc. in ships and boats. In difference to the newer NMEA 2000 standard (based on CAN) the NMEA 0183 is based on EIA RS422 (some older and/or simple systems use RS-232, or a single wire).

I want to show you how to connect an Arduino UNO (or any other Arduino) to any NMEA-0183 device with differential output. Although the standard calls for isolated inputs and outputs its useful to use our RS422/RS485 Arduino Shield with isolated interface.

Connection to NMEA 0183

In the picture below you can see a typical device with differential output. The terminals are NMEA OUT+ and NMEA OUT- or TX+ or TX-. The NMEA IN+ and NMEA IN- wires are optional.

If you have a single transmit wire from your device (most likely labeled TX or NMEA OUT or something like that), then your device uses the RS-232 protocol. In this case you will need a simple RS232 converter.

Jumper Setting

  • UART RX to position 2
  • UART TX to position 3
  • Voltage to position 5V

DIP Switch Setting

Firmware

You can find a lot of different NMEA-0183 software stacks for Arduino. A very good solution is the NMEA library by Justin R Cutler

It's necessary needed to change the pins for the software UART to pin 2 and 3!TakecarethatthebaudrateofthesoftwareuartisthesameasinyourNMEAdevice-typical4800Baud.

Test Run

After compilation and uploading the program will decode incoming NMEA protocols. You can open the serial monitor to see the decoded protocols.

If you have no NMEA device at home, you can also use a Simulator on your PC and a simple USB to RS485 adaptor instead of a real device.

Code

Parsing NMEA 0183 protocols

Author

hwhardsoft
  • 13 projects
  • 40 followers

Additional contributors

  • Nmea0183 library by Justin R Cutler

Md-1 Nmea Device (com6) Driver Downloads

Published on

February 8, 2019
Write a comment

Members who respect this project

and 5 others

See similar projects
you might like

Table of contents

Write a comment

Md-1 Nmea Device (com6) Driver Download Windows 10


Introduction

This article shows how to use virtual serial (COM) port to read and convert GPS data stream from one format to another allowing older legacy GPS applications to work with the newer GPS receivers.


Background


I have HPC CASIO Cassiopeia A-10 with Windows CE 2.00 that I'm using exclusively for GPS navigation. I'm using TeleType application for WinCE 2.00 with Delorme Tripmate GPS. Recently I upgraded my GPS with Pharos GPS-500 SiRF III and the TeleType application didn't work with it. It turns out that the application is working with an older version of the NMEA protocol than the GPS-500. The application is using NMEA 0183 v2.0 and the GPS-500 NMEA 0183 v2.3.

The application is actually using only two sentences from the NMEA protocol - GGA and RMC:

GGA —Global Positioning System Fixed Data

NameExampleUnitsDescription
Message ID$GPGGAGGA protocol header
UTC Time161229.487hhmmss.sss
Latitude3723.2475ddmm.mmmm
N/S IndicatorNN=north or S=south
Longitude12158.3416dddmm.mmmm
E/W IndicatorWE=east or W=west
Position Fix Indicator1See Table 1-4
Satellites Used7Range 0 to 12
HDOP1Horizontal Dilution of Precision
MSL Altitude9meters
UnitsMmeters
Geoid Separationmeters
UnitsMmeters
Age of Diff. Corr.secondNull fields when DGPS is not used
Diff. Ref. Station ID0000
Checksum*18
<CR> <LF>End of message termination

Note that there are no differences in GGA between NMEA v2.0 and v2.3.

RMC—Recommended Minimum Specific GNSS Data

NameExampleUnitsDescription
Message ID$GPRMCRMC protocol header
UTC Time161229.487hhmmss.sss
StatusAA=data valid or V=data not valid
Latitude3723.2475ddmm.mmmm
N/S IndicatorNN=north or S=south
Longitude12158.3416dddmm.mmmm
E/W IndicatorWE=east or W=west
Speed Over Ground0.13knots
Course Over Ground309.62degreesTrue
Date120598ddmmyy
Magnetic VariationdegreesE=east or W=west
ModeAA=Autonomous, D=DGPS, E= DR (missing in v2.0)
Checksum*10
<CR> <LF>End of message termination

The last field 'Mode' does not exists in NMEA v2.0. In order for my application to work, it needs to translate the RMC from v2.3 (the GPS-500) to v2.0 (the application). In the translation, it needs to remove the last field from the RMC data and made it look like this:


Using the code


To build virtual serial (COM) port I used the excellent example provided in the following article DemoDriver.asp. (Big thanks to the author.)

The virtual port serves as a connection between the actual port and the application. In the process of reading the data from the GPS and passing it to the application, the virtual port translates the GPS data format from NMEA 2.3 to NMEA 2.0 for the RMC sentences.

The following code shows the virtual port 'read' function:

MD-1 NMEA Device (COM6) Driver download

The function 'Convert' is doing the work of locating and translating the RMC sentences:

The function goes through the input buffer pBuffer and locates any RMC sentences. For each RMC it checks for the string 'A*' at the end and removes it. It also calculates and updates the CRC check sum at the end.

To install the virtual port driver we need to copy the driver dll file to windows folder at the device and add these entries in the registry:

'ManagePort' is the port number where the GPS device is connected to. In my case the GPS is connected with PCMCIA card and shows up as COM2 in the device.
'Index' is the virtual serial port COM number. In this example it is COM6.

To deploy the application to the device we need to build a cab file. This is simple INF file that is used to build the cab file:

Collapse

After the cab file is installed a soft reset is required for the driver to start working.


Points of Interest


Doing this small project was full of fun and I learned how to build simple device drivers for Windows CE 2.00. Now I have my Cassiopeia running the TeleType GPS application with the new GPS-500 receiver. The GPS-500 is very compact and it works out of my PCMCIA extension slot from where it gets its power and doesn't require batteries and/or bulky cables. It also gives me the opportunity to continue using my old and brave Cassiopeia A-10 for GPS navigation.


References


TeleType GPS FAQ: http://www.teletype.com/pages/support/faq.html
NMEA Reference Manual: http://www.sparkfun.com/datasheets/GPS/NMEA Reference Manual1.pdf