<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>parsing on toorun.dev</title><link>https://toorun.dev/tags/parsing/</link><description>Recent content in parsing on toorun.dev</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Fri, 24 Jul 2026 11:00:00 +0000</lastBuildDate><atom:link href="https://toorun.dev/tags/parsing/index.xml" rel="self" type="application/rss+xml"/><item><title>NMEA 0183 Practical Guide: Sentence Format, Checksum, and Parser Patterns</title><link>https://toorun.dev/posts/nmea0183-practical-guide-sentence-format-checksum-parser-examples/</link><pubDate>Fri, 24 Jul 2026 11:00:00 +0000</pubDate><guid>https://toorun.dev/posts/nmea0183-practical-guide-sentence-format-checksum-parser-examples/</guid><description>NMEA 0183 Practical Guide NMEA 0183 is a text protocol used by GNSS/GPS modules, marine devices, and many embedded products. It is simple, stable, and still common in production systems.
If you work with UART logs from a GPS module, this is the format you will usually see.
1) NMEA 0183 sentence pattern A standard sentence looks like:
$GPRMC,093000.00,A,5231.1234,N,01324.5678,E,2.1,84.4,240726,,,A*6C Pattern:
$ttsss,data1,data2,...*hh $ starts the sentence tt is talker ID (GP, GN, GL, GA, &amp;hellip;) sss is sentence type (RMC, GGA, GSA, GSV, VTG, &amp;hellip;) , separates fields *hh is checksum in hex (XOR of bytes between $ and *) 2) Talker IDs you will see GP: GPS GL: GLONASS GA: Galileo GB: BeiDou GN: combined multi-GNSS output In modern modules, GN is common.</description></item></channel></rss>