{"id":52249,"date":"2026-11-01T10:50:46","date_gmt":"2026-11-01T10:50:46","guid":{"rendered":"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/"},"modified":"2026-11-01T10:50:46","modified_gmt":"2026-11-01T10:50:46","slug":"gps-neo6m","status":"publish","type":"siratek_tutorial","link":"https:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/","title":{"rendered":"Reading Position with a NEO-6M"},"content":{"rendered":"<body><p><\/p>\n<h2>What it does<\/h2>\n<p>A GPS receiver listens for signals from satellites twenty thousand kilometres up, works out how long each took to arrive, and from that calculates where it is. It then reports position, time, speed and heading as lines of text on a serial port.<\/p>\n<p>From your side it could not be simpler: four wires, and a stream of readable sentences at 9600 baud. The complications are not electrical. They are about <strong>where you are standing<\/strong> and <strong>how long you are prepared to wait<\/strong>.<\/p>\n<h2>Before you begin<\/h2>\n<h3>Required parts and tools<\/h3>\n<ul>\n<li>An Arduino Uno or compatible board.<\/li>\n<li>One NEO-6M GPS module. This is Siratek product 2613.<\/li>\n<li><strong>Two resistors, 1 kilohm and 2 kilohms<\/strong>, for the module\u2019s <code>RX<\/code> pin.<\/li>\n<li>Four jumper wires, and somewhere outdoors to test.<\/li>\n<\/ul>\n<h3>What is on the board<\/h3>\n<p>The Siratek part is the red board carrying a <code>NEO-6M-0-001<\/code> module, with:<\/p>\n<ul>\n<li>A <strong>ceramic patch antenna<\/strong> on a short lead.<\/li>\n<li>A <strong>backup battery<\/strong>, the small round cell, which is what makes a warm start possible.<\/li>\n<li>An <strong>EEPROM<\/strong>, which stores settings across power cycles.<\/li>\n<li>A <strong>u.FL connector<\/strong> for an external antenna, if the supplied one is not enough.<\/li>\n<li>A four-pin header: <code>VCC<\/code>, <code>GND<\/code>, <code>TX<\/code>, <code>RX<\/code>.<\/li>\n<\/ul>\n<h3>You must go outside<\/h3>\n<p>This is the thing to accept before anything else.<\/p>\n<p><strong>A GPS receiver needs a clear view of the sky.<\/strong> Indoors, it will usually never get a fix: not near a window, not on a bench by an open door. The signal arriving from the satellites is extraordinarily weak, and a roof is enough to stop it.<\/p>\n<p>So the first test happens outside, in the open, away from tall buildings. There is no sketch that works around this.<\/p>\n<h3>Cold start takes minutes<\/h3>\n<p>Even outdoors, the first fix on a new module takes <strong>thirty seconds to several minutes<\/strong>. It has to find satellites it has no prior knowledge of, and then download orbital data from them, which is transmitted slowly.<\/p>\n<p>The backup battery is what shortens this afterwards. With it charged, the module remembers where it was and what the satellites were doing, and a later start takes seconds. A flat or missing battery means a full cold start every single time, which feels exactly like a broken module.<\/p>\n<p>So: <strong>leave it powered outside for ten minutes on the first run.<\/strong> The blinking LED tells you when it has a fix, and it does not blink until it does.<\/p>\n<h3>The LED is the first diagnostic<\/h3>\n<p>The module\u2019s LED is more useful than any sketch:<\/p>\n<ul>\n<li><strong>Not blinking<\/strong>: no fix. Either still searching, or it cannot see the sky.<\/li>\n<li><strong>Blinking, about once a second<\/strong>: it has a fix.<\/li>\n<\/ul>\n<p>If the LED never blinks after ten minutes outdoors with a clear view, the problem is the antenna or the module, not your code.<\/p>\n<h3>The RX pin needs the same care as the HC-05<\/h3>\n<p><code>TX<\/code> from the module is about 3.3 V, which an Uno reads as HIGH without any trouble.<\/p>\n<p><strong>The module\u2019s <code>RX<\/code> is a 3.3 V input.<\/strong> You only need it if you intend to send configuration commands, and most projects never do. But if you wire it, use a <strong>1 k and 2 k divider<\/strong>, exactly as in <em>Bluetooth Serial with an HC-05<\/em>.<\/p>\n<p>If you are only reading position, you can leave <code>RX<\/code> disconnected entirely, which removes the question.<\/p>\n<h2>What comes out: NMEA sentences<\/h2>\n<p>The module sends plain text, several lines a second, in a standard called NMEA:<\/p>\n<pre><code>$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47\n$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A<\/code><\/pre>\n<p>You do not have to parse these yourself, and should not. But knowing what they are helps:<\/p>\n<ul>\n<li><strong><code>$GPGGA<\/code><\/strong> carries the fix: position, altitude, number of satellites, fix quality.<\/li>\n<li><strong><code>$GPRMC<\/code><\/strong> carries the minimum recommended set: position, speed, heading, date and time.<\/li>\n<li>The <code>A<\/code> in that second sentence means the data is valid. A <code>V<\/code> means it is not.<\/li>\n<\/ul>\n<p><strong>The sentences flow before there is a fix.<\/strong> They simply have empty position fields. So output appearing does not mean it is working, which catches people who stop looking once text arrives.<\/p>\n<p>Note also that <strong>the time is correct long before the position is<\/strong>, because the time comes from the satellite signal itself. A module reporting a sensible UTC time but no position is working properly and still searching.<\/p>\n<h2>Pin reference<\/h2>\n<table>\n<thead>\n<tr>\n<th>Module pin<\/th>\n<th>Connect to<\/th>\n<th>Purpose<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>VCC<\/code><\/td>\n<td>Uno <code>5V<\/code><\/td>\n<td>Power<\/td>\n<td>The board regulates it<\/td>\n<\/tr>\n<tr>\n<td><code>GND<\/code><\/td>\n<td>Uno <code>GND<\/code><\/td>\n<td>Ground<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><code>TX<\/code><\/td>\n<td>Uno <code>D4<\/code><\/td>\n<td>Module out, Arduino in<\/td>\n<td>Direct; 3.3 V reads fine<\/td>\n<\/tr>\n<tr>\n<td><code>RX<\/code><\/td>\n<td>Uno <code>D3<\/code> <strong>through a divider<\/strong>, or not at all<\/td>\n<td>Module in<\/td>\n<td>Only for configuration<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<figure class=\"siratek-tutorial-figure\"><img decoding=\"async\" src=\"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/gps-neo6m-wiring.svg\" alt=\"A NEO-6M GPS module wired to an Uno with its TX direct and its RX through a divider, and the satellite view that a roof blocks\" loading=\"lazy\"><figcaption>Four wires, and a clear view of the sky. Indoors it will usually never get a fix.<\/figcaption><\/figure>\n<h2>Wiring steps<\/h2>\n<ol>\n<li>Unplug the USB cable.<\/li>\n<li><code>GND<\/code> to <code>GND<\/code>, <code>VCC<\/code> to <code>5V<\/code>.<\/li>\n<li>Module <code>TX<\/code> straight to <code>D4<\/code>.<\/li>\n<li>Leave <code>RX<\/code> unconnected, unless you plan to configure the module. If you do, feed it from <code>D3<\/code> through a 1 k series resistor with a 2 k to ground.<\/li>\n<li>Plug the USB cable back in, and <strong>take the whole thing outside.<\/strong><\/li>\n<\/ol>\n<h2>Software and libraries<\/h2>\n<p>Install <strong>TinyGPSPlus<\/strong> by Mikal Hart through Library Manager. <code>SoftwareSerial<\/code> comes with the IDE.<\/p>\n<h2>Minimal working example<\/h2>\n<p>See the raw sentences first. It is the fastest way to know whether the module is alive.<\/p>\n<pre><code>\/\/ Siratek: show exactly what the module is saying.\n\n#include &lt;SoftwareSerial.h&gt;\n\nSoftwareSerial gps(4, 3);     \/\/ Arduino RX, Arduino TX\n\nvoid setup() {\n  Serial.begin(9600);\n  gps.begin(9600);\n  Serial.println(\"Siratek: raw NMEA follows. Take it outside.\");\n}\n\nvoid loop() {\n  while (gps.available()) {\n    Serial.write(gps.read());\n  }\n}<\/code><\/pre>\n<p>Three outcomes, each meaning something different:<\/p>\n<ul>\n<li><strong>Nothing at all<\/strong>: wiring. Check <code>TX<\/code> goes to the Arduino\u2019s receive pin, and check power.<\/li>\n<li><strong>Rubbish characters<\/strong>: baud rate. These modules default to 9600, but a previously configured one may not be.<\/li>\n<li><strong>Readable sentences with empty position fields<\/strong>: it is working and has no fix yet. Go outside and wait.<\/li>\n<\/ul>\n<h3>Position, parsed<\/h3>\n<pre><code>\/\/ Siratek: position, time and satellite count.\n\n#include &lt;SoftwareSerial.h&gt;\n#include &lt;TinyGPS++.h&gt;\n\nSoftwareSerial gpsSerial(4, 3);\nTinyGPSPlus gps;\n\nunsigned long lastReport = 0;\n\nvoid setup() {\n  Serial.begin(9600);\n  gpsSerial.begin(9600);\n  Serial.println(\"Siratek: waiting for a fix. Outdoors, this takes minutes the first time.\");\n}\n\nvoid loop() {\n  \/\/ Feed every arriving character to the parser. This must not be starved.\n  while (gpsSerial.available()) {\n    gps.encode(gpsSerial.read());\n  }\n\n  if (millis() - lastReport &lt; 2000) {\n    return;\n  }\n  lastReport = millis();\n\n  Serial.print(\"satellites: \");\n  Serial.print(gps.satellites.isValid() ? gps.satellites.value() : 0);\n\n  if (gps.location.isValid()) {\n    Serial.print(\"   lat \");\n    Serial.print(gps.location.lat(), 6);\n    Serial.print(\"   lon \");\n    Serial.print(gps.location.lng(), 6);\n    Serial.print(\"   age \");\n    Serial.print(gps.location.age());\n    Serial.println(\" ms\");\n  } else {\n    Serial.println(\"   no fix yet\");\n  }\n\n  \/\/ A useful sanity check: if characters arrive but nothing parses, the baud is wrong.\n  if (millis() &gt; 10000 &amp;&amp; gps.charsProcessed() &lt; 10) {\n    Serial.println(\"  no usable data: check wiring and baud rate\");\n  }\n}<\/code><\/pre>\n<p>Three details carry weight.<\/p>\n<p><strong>Six decimal places.<\/strong> Latitude and longitude need them: four decimal places is about eleven metres, six is about eleven centimetres. Printing two makes a perfectly good fix look useless.<\/p>\n<p><strong><code>location.age()<\/code><\/strong> is how long since that position was updated. A valid-looking position with an age of two minutes is stale, which matters on anything moving. Checking <code>isValid()<\/code> alone is not enough.<\/p>\n<p><strong><code>charsProcessed()<\/code><\/strong> distinguishes \u201cno data arriving\u201d from \u201cdata arriving that I cannot parse\u201d. Those have completely different causes and look identical without it.<\/p>\n<h3>Why SoftwareSerial is the weak point here<\/h3>\n<p>The module sends several sentences a second, continuously, whether you read them or not.<\/p>\n<p><code>SoftwareSerial<\/code> receives by timing bits in software, with interrupts disabled while a character arrives. If your loop is busy doing something else when a character turns up, <strong>it is lost<\/strong> \u2014 there is no buffer in the hardware to catch it. Lost characters corrupt sentences, and corrupted sentences are discarded, so the fix appears intermittent.<\/p>\n<p>Three ways out, in order of effort:<\/p>\n<ul>\n<li><strong>Keep the loop quick.<\/strong> Call <code>gps.encode()<\/code> constantly and do everything else between fixes.<\/li>\n<li><strong>Reduce the output.<\/strong> The module can be told to send only <code>$GPRMC<\/code>, which cuts the traffic considerably. That is what the <code>RX<\/code> pin is for.<\/li>\n<li><strong>Use a board with real hardware serial.<\/strong> A Mega has four ports, and an ESP32 has three. On those, GPS becomes undramatic.<\/li>\n<\/ul>\n<p>This is the clearest case in the library for <em>Uno, Nano, Mega, Pro Mini or ESP32<\/em>: the part works on an Uno, and it works much better on a board with a spare hardware port.<\/p>\n<h3>Time, which you get for free<\/h3>\n<p>A GPS receiver is an extremely accurate clock, and the time arrives before the position does.<\/p>\n<pre><code>if (gps.time.isValid() &amp;&amp; gps.date.isValid()) {\n  Serial.printf(\"%04d-%02d-%02d %02d:%02d:%02d UTC\\n\",\n                gps.date.year(), gps.date.month(), gps.date.day(),\n                gps.time.hour(), gps.time.minute(), gps.time.second());\n}<\/code><\/pre>\n<p>It is <strong>UTC<\/strong>, not local time. Ghana is on UTC, so no adjustment is needed here; elsewhere you must apply an offset yourself, because the module does not know where it is until it has a fix, and does not know about daylight saving at all.<\/p>\n<p>For a datalogger that already has a GPS, this is a better time source than a DS3231 and costs nothing extra.<\/p>\n<h2>Expected result<\/h2>\n<p>Indoors: readable sentences, empty position fields, LED not blinking. That is correct behaviour, not a fault.<\/p>\n<p>Outdoors with a clear view: the LED starts blinking within a few minutes on the first run, the satellite count climbs past four, and a position appears. Subsequent starts take seconds while the backup battery holds.<\/p>\n<p>Position should be stable to a few metres while stationary. It will wander slightly, which is normal; a GPS fix is not a fixed number.<\/p>\n<h2>Troubleshooting<\/h2>\n<table>\n<thead>\n<tr>\n<th>Symptom<\/th>\n<th>Likely cause<\/th>\n<th>Check or fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>No characters at all<\/td>\n<td><code>TX<\/code> on the wrong pin, or no power<\/td>\n<td>Module <code>TX<\/code> to the Arduino\u2019s receive pin<\/td>\n<\/tr>\n<tr>\n<td>Rubbish characters<\/td>\n<td>Baud rate<\/td>\n<td>Default is 9600; a configured module may differ<\/td>\n<\/tr>\n<tr>\n<td>Sentences arrive, no position<\/td>\n<td>No fix yet<\/td>\n<td>Go outside; wait; watch the LED<\/td>\n<\/tr>\n<tr>\n<td>Never gets a fix outdoors<\/td>\n<td>Antenna not connected, or faulty<\/td>\n<td>Check the antenna lead<\/td>\n<\/tr>\n<tr>\n<td>First fix takes for ever, every time<\/td>\n<td>Backup battery flat<\/td>\n<td>Leave it powered to charge<\/td>\n<\/tr>\n<tr>\n<td>Fix comes and goes<\/td>\n<td>Characters lost by <code>SoftwareSerial<\/code><\/td>\n<td>Keep the loop quick; reduce output<\/td>\n<\/tr>\n<tr>\n<td><code>charsProcessed()<\/code> stays near zero<\/td>\n<td>Data arriving but unparseable<\/td>\n<td>Baud rate<\/td>\n<\/tr>\n<tr>\n<td>Position looks wrong by hundreds of metres<\/td>\n<td>Too few decimal places printed<\/td>\n<td>Print six<\/td>\n<\/tr>\n<tr>\n<td>Position valid but stale<\/td>\n<td>Not checking <code>age()<\/code><\/td>\n<td>Check it on anything moving<\/td>\n<\/tr>\n<tr>\n<td>Time is hours out<\/td>\n<td>It is UTC<\/td>\n<td>Apply your own offset<\/td>\n<\/tr>\n<tr>\n<td>Works on a Mega, poorly on an Uno<\/td>\n<td><code>SoftwareSerial<\/code> under load<\/td>\n<td>Use a hardware port<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Next steps<\/h2>\n<ul>\n<li><strong>Easier first:<\/strong> <em>Bluetooth Serial with an HC-05<\/em>, for <code>SoftwareSerial<\/code> without the timing pressure.<\/li>\n<li><strong>Related:<\/strong> <em>Logging Data to an SD Card<\/em>, the obvious destination for a track.<\/li>\n<li><strong>Next project:<\/strong> a journey logger writing position and time to a card, with the GPS supplying both.<\/li>\n<\/ul>\n<h2>Sources and attribution<\/h2>\n<p>All text, wiring guidance and code in this tutorial are original Siratek work.<\/p>\n<ul>\n<li>u-blox NEO-6 documentation for the default baud rate, the cold and warm start behaviour and the backup battery\u2019s role.<\/li>\n<li>The NMEA sentence structure is a published standard; the two example sentences here are illustrative and carry no real position.<\/li>\n<li>TinyGPSPlus documentation for the calls used.<\/li>\n<li>The <code>NEO-6M-0-001<\/code> module marking, the backup cell, the EEPROM and the u.FL antenna connector were read from the Siratek product photographs for item 2613.<\/li>\n<\/ul>\n<p>Fix times and accuracy depend on sky view, surroundings and satellite geometry, and are given as typical values. No third-party tutorial text, diagrams, photographs or code has been reproduced here.<\/p>\n<p><\/p>\n<\/body>","protected":false},"excerpt":{"rendered":"<p>A GPS receiver listens for signals from satellites twenty thousand kilometres up, works out how long each took to arrive, and from that calculates where it is. It then reports position, time, speed and heading as lines of text on&#8230;<\/p>\n","protected":false},"featured_media":0,"template":"","siratek_tutorial_level":[],"class_list":["post-52249","siratek_tutorial","type-siratek_tutorial","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Reading Position with a NEO-6M - siratek<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Reading Position with a NEO-6M - siratek\" \/>\n<meta property=\"og:description\" content=\"A GPS receiver listens for signals from satellites twenty thousand kilometres up, works out how long each took to arrive, and from that calculates where it is. It then reports position, time, speed and heading as lines of text on...\" \/>\n<meta property=\"og:url\" content=\"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/\" \/>\n<meta property=\"og:site_name\" content=\"siratek\" \/>\n<meta property=\"og:image\" content=\"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/gps-neo6m-wiring.svg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/gps-neo6m\\\/\",\"url\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/gps-neo6m\\\/\",\"name\":\"Reading Position with a NEO-6M - siratek\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/siratek.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/gps-neo6m\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/gps-neo6m\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/gps-neo6m-wiring.svg\",\"datePublished\":\"2026-11-01T10:50:46+00:00\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/gps-neo6m\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/gps-neo6m\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/gps-neo6m\\\/#primaryimage\",\"url\":\"https:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/gps-neo6m-wiring.svg\",\"contentUrl\":\"https:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/gps-neo6m-wiring.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/gps-neo6m\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/siratek.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorials\",\"item\":\"https:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Reading Position with a NEO-6M\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/siratek.net\\\/#website\",\"url\":\"https:\\\/\\\/siratek.net\\\/\",\"name\":\"siratek\",\"description\":\"Your Best Electronic Retail Shop\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/siratek.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Reading Position with a NEO-6M - siratek","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/","og_locale":"en_US","og_type":"article","og_title":"Reading Position with a NEO-6M - siratek","og_description":"A GPS receiver listens for signals from satellites twenty thousand kilometres up, works out how long each took to arrive, and from that calculates where it is. It then reports position, time, speed and heading as lines of text on...","og_url":"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/","og_site_name":"siratek","og_image":[{"url":"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/gps-neo6m-wiring.svg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/","url":"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/","name":"Reading Position with a NEO-6M - siratek","isPartOf":{"@id":"https:\/\/siratek.net\/#website"},"primaryImageOfPage":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/#primaryimage"},"image":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/#primaryimage"},"thumbnailUrl":"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/gps-neo6m-wiring.svg","datePublished":"2026-11-01T10:50:46+00:00","breadcrumb":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/#primaryimage","url":"https:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/gps-neo6m-wiring.svg","contentUrl":"https:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/gps-neo6m-wiring.svg"},{"@type":"BreadcrumbList","@id":"http:\/\/siratek.net\/index.php\/tutorials\/gps-neo6m\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/siratek.net\/"},{"@type":"ListItem","position":2,"name":"Tutorials","item":"https:\/\/siratek.net\/index.php\/tutorials\/"},{"@type":"ListItem","position":3,"name":"Reading Position with a NEO-6M"}]},{"@type":"WebSite","@id":"https:\/\/siratek.net\/#website","url":"https:\/\/siratek.net\/","name":"siratek","description":"Your Best Electronic Retail Shop","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/siratek.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial\/52249","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial"}],"about":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/types\/siratek_tutorial"}],"version-history":[{"count":0,"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial\/52249\/revisions"}],"wp:attachment":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/media?parent=52249"}],"wp:term":[{"taxonomy":"siratek_tutorial_level","embeddable":true,"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial_level?post=52249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}