{"id":152,"date":"2017-07-03T21:38:15","date_gmt":"2017-07-03T20:38:15","guid":{"rendered":"http:\/\/www.burningimage.net\/cattrack\/?p=152"},"modified":"2023-07-22T07:56:58","modified_gmt":"2023-07-22T06:56:58","slug":"cat-tracker-gps-module","status":"publish","type":"post","link":"https:\/\/www.burningimage.net\/cattrack\/cat-tracker-gps-module\/","title":{"rendered":"Picking a GPS Module"},"content":{"rendered":"<p><strong>My priority for the GPS module is the size and antenna. \u00a0I&#8217;ve worked with external GPS chip antennas in the past and they can be a nightmare! \u00a0Therefore for this project I&#8217;m after a small GPS module with an integrated antenna.<\/strong><\/p>\n<p><!--more--><\/p>\n<p><a href=\"https:\/\/www.u-blox.com\/en\">u-blox<\/a> are generally my &#8216;go to&#8217; company when I&#8217;m looking for a GPS module. \u00a0Their prices are a little higher than random no-name stuff off eBay (obviously), but the documentation and support are second to none. \u00a0I&#8217;m not sponsored by them, I promise.<\/p>\n<p>Unfortunately it doesn&#8217;t look like u-blox sell that many modules with integrated antennas. \u00a0Most of their modules are designed to be integrated into devices or systems that use external antennas. \u00a0The one module they do have is the <a href=\"https:\/\/www.u-blox.com\/en\/product\/sam-m8q-module\">SAM-M8Q<\/a>, which is 16mm x 16mm. \u00a0We can do better than that, surely!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-155 aligncenter\" src=\"https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/sam-m8q_backandfront_transparent.png\" alt=\"\" width=\"350\" height=\"150\" srcset=\"https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/sam-m8q_backandfront_transparent.png 350w, https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/sam-m8q_backandfront_transparent-300x129.png 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/p>\n<p>In order to find the world&#8217;s smallest GPS module, I Googled &#8220;world&#8217;s smallest GPS module&#8221;. \u00a0It seemed to work and pointed me to the <a href=\"https:\/\/www.origingps.com\/products\/org-1411\/\">OriginGPS ORG1411 Nano Hornet<\/a>. \u00a0This module has an integrated antenna and is only 10mm x 10mm x 3.8mm! \u00a0Although I&#8217;ve not used OriginGPS&#8217;s modules before, this is based on the SiRFstar IV chipset. \u00a0A bit long in the tooth now, but absolutely fine for my needs.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-156 aligncenter\" src=\"https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/origingps-org1411.jpg\" alt=\"\" width=\"218\" height=\"164\" srcset=\"https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/origingps-org1411.jpg 640w, https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/origingps-org1411-300x225.jpg 300w\" sizes=\"auto, (max-width: 218px) 100vw, 218px\" \/><\/p>\n<p>The module has a bog standard UART interface which I&#8217;ll connect to my Microcontroller. \u00a0In addition to this there are a few GPIO lines:<\/p>\n<ol>\n<li>WAKEUP &#8211; An output indicating whether the module is in high-power or low-power mode. \u00a0I&#8217;ll connect this to the Microcontroller.<\/li>\n<li>ON_OFF &#8211; An input which allows us to switch the module between it&#8217;s ultra-low-power standby mode and full tracking mode. \u00a0Perfect!<\/li>\n<li>1PPS &#8211; An output which goes &#8216;high&#8217; at the start of every second. \u00a0I don&#8217;t need this so I&#8217;ll leave it unconnected.<\/li>\n<\/ol>\n<p>As I planned previously, I&#8217;ll use the ON_OFF line to keep the module in it&#8217;s low-power mode for the vast majority of the time. \u00a0Then when I receive a position request from the base unit, I&#8217;ll turn the module on, read the WAKEUP line to make sure it is on, then begin receiving position updates via the UART.<\/p>\n<p>Looking at the application circuit from the datasheet, it looks like all I need to do is pull the \/CTS line up to Vio with a 10k resistor to enable UART mode. \u00a0I won&#8217;t need R5 or R6 &#8211; the pin will tolerate 3V3 so I&#8217;ll connect this line directly to my Microcontroller.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-157 aligncenter\" src=\"https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/origingps-example-schematic.png\" alt=\"\" width=\"585\" height=\"337\" srcset=\"https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/origingps-example-schematic.png 1268w, https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/origingps-example-schematic-300x173.png 300w, https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/origingps-example-schematic-768x442.png 768w, https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/origingps-example-schematic-1024x590.png 1024w\" sizes=\"auto, (max-width: 585px) 100vw, 585px\" \/><\/p>\n<p>One thing that you do need to watch out for are the logic IO levels. \u00a0I&#8217;ll be using the 3V3 variant of the ORG1411 (PM04 option), but even though Vcc on this version is 3V3, the IO output level on WAKEUP and TX is still only 1V8.<\/p>\n<p>By default, the PIC microcontroller inputs are in &#8216;Schmitt trigger&#8217; mode. \u00a0Looking at the PIC16LF18345 datasheet below, we can see that the Schmitt trigger mode is not compatible with 1V8 logic &#8211; the &#8216;Input High&#8217; voltage is 0.8 * 3.3 = 2.64V. \u00a0We need this to be under 1.8V.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-159 aligncenter\" src=\"https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/pic-characterisics.png\" alt=\"\" width=\"1502\" height=\"858\" srcset=\"https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/pic-characterisics.png 1502w, https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/pic-characterisics-300x171.png 300w, https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/pic-characterisics-768x439.png 768w, https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/pic-characterisics-1024x585.png 1024w, https:\/\/www.burningimage.net\/cattrack\/wp-content\/uploads\/2017\/07\/pic-characterisics-1440x823.png 1440w\" sizes=\"auto, (max-width: 1502px) 100vw, 1502px\" \/><\/p>\n<p>In TTL mode, the &#8216;Input High Voltage&#8217; is 0.25 * 3.3 + 0.8 = 1.625V. \u00a0Perfect! \u00a0We just need to remember to switch our IO into &#8216;TTL&#8217; mode when we write the PIC code.<\/p>\n<p>GPS module &#8211; sussed!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My priority for the GPS module is the size and antenna. \u00a0I&#8217;ve worked with external GPS chip antennas in the past and they can be a nightmare! \u00a0Therefore for this project I&#8217;m after a small GPS module with an integrated antenna.<\/p>\n","protected":false},"author":1,"featured_media":151,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[20,17,26,24,18,23,22,25,21,27,7,19,11],"class_list":["post-152","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-posts","tag-antenna","tag-gps","tag-io","tag-microcontroller","tag-module","tag-org1411","tag-origingps","tag-pic","tag-sam-m8q","tag-schmitt","tag-transmitter","tag-u-blox","tag-uart"],"_links":{"self":[{"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/posts\/152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/comments?post=152"}],"version-history":[{"count":8,"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/posts\/152\/revisions"}],"predecessor-version":[{"id":167,"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/posts\/152\/revisions\/167"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/media\/151"}],"wp:attachment":[{"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/media?parent=152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/categories?post=152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.burningimage.net\/cattrack\/wp-json\/wp\/v2\/tags?post=152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}