Source code and project on github
This is a Arduino firmware able to convert NMEA 183.3 strings to NMEA 183.2. It's necessary to let the old Kenwood TH-D7 hamradio rtx with unmodified firmware to work with new Nmea GPS.
The TH-D7 uses two NMEA sentences out of the many sent by the GPS unit every second: the $GPGGA and the $GPRMC.
Early firmware version did not recognize the commas separating the various fields inside these sentences, using instead a fixed-length method that could lead to wrong data interpretation.
NMEA 183.3 GPS sends:
NMEA 183.2 GPS sends:
Pay attention the checksum on these examble string are probably wrong.
The 4 decimal digits in the Lat and Long fields instead of the 3 expected by the TH-D7 are the source of the incompatibility. The arduino code strips the extra digit and resent it to the TH-D7 in NMEA 183.2 format
The hardware in base on
- Arduino nano
- GPS whit nmea output
- Max 232 level converter
Hardware and firmware is able to:
- receive the NMEA strings with a software serial port
- identify the $GPGGA and $GPRMC sentences
- remove the least significant decimal digits exceeding the 3 expected by the radio
- recalculate the checksum
- transmit the nmea string to the radio with a software serial port
(c) 2017 Paolo Mattiolo In3aqk