{"id":1429,"date":"2015-12-04T20:54:08","date_gmt":"2015-12-04T20:54:08","guid":{"rendered":"http:\/\/www.blog.exrockets.com\/blog\/?p=1429"},"modified":"2018-03-15T04:40:35","modified_gmt":"2018-03-15T04:40:35","slug":"gps-gsm-tracker-with-remote-sms-control-for-2-power-outputs-and-mini-sim-card","status":"publish","type":"post","link":"http:\/\/www.blog.exrockets.com\/blog\/gps-gsm-tracker-with-remote-sms-control-for-2-power-outputs-and-mini-sim-card\/","title":{"rendered":"GPS-GSM TRACKER WITH REMOTE SMS CONTROL FOR 2 POWER OUTPUTS AND MINI SIM CARD"},"content":{"rendered":"<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/Top3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1431\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/Top3.jpg\" alt=\"Top3\" width=\"1900\" height=\"858\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/Top3.jpg 1900w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/Top3-300x135.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/Top3-1024x462.jpg 1024w\" sizes=\"auto, (max-width: 1900px) 100vw, 1900px\" \/><\/a><\/p>\n<p>Based on my previous GPS-GSM tracker I also had a design for smaller tracker with mini SIM card and direct 3.7 Li-Po power supply that has been waiting for its turn to be assembled. This is the same tracker design as my previous tracker with the following differences:<\/p>\n<p>&#8211;\u00a0\u00a0 \u00a0the power supply input is limited from 3.3v to 4.1v \u2013 i.e. a standard Li-Po battery<br \/>\n&#8211;\u00a0\u00a0 \u00a0memory is down to 512KB instead of 1MB<br \/>\n&#8211;\u00a0\u00a0 \u00a0SIM card holder is mini-SIM size<br \/>\n&#8211;\u00a0\u00a0 \u00a0schematic is a bit simplified<br \/>\n&#8211;\u00a0\u00a0 \u00a0size is 70x26mm instead of 90x30mm &#8211; you can see the difference in the next picture<\/p>\n<p>The rest of the specifications remain the same:<br \/>\n&#8211;\u00a0\u00a0\u00a0 Quectel L80 GPS module<br \/>\n&#8211;\u00a0\u00a0\u00a0 Simcom SIM900 GSM module (or its analogue)<br \/>\n&#8211;\u00a0\u00a0\u00a0 50mA nominal consumption<br \/>\n&#8211;\u00a0\u00a0\u00a0 25mA consumption in economical mode<br \/>\n&#8211;\u00a0\u00a0\u00a0 500mA peak current consumption when connecting to the network or receiving\/sending messages<br \/>\n&#8211;\u00a0\u00a0\u00a0 two power MOSFET outputs capable of delivering up to 40Amp peak current<br \/>\n&#8211;\u00a0\u00a0\u00a0 two logical inputs with pull-up resistors<br \/>\n&#8211;\u00a0\u00a0\u00a0 USB port for PC communication<br \/>\n&#8211;\u00a0\u00a0\u00a0 test button<br \/>\n&#8211;\u00a0\u00a0\u00a0 24gr weight<br \/>\n&#8211;\u00a0\u00a0\u00a0 total cost of the BOM ~25$<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/Comp.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1432\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/Comp.jpg\" alt=\"Comp\" width=\"1900\" height=\"1227\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/Comp.jpg 1900w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/Comp-300x194.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/Comp-1024x661.jpg 1024w\" sizes=\"auto, (max-width: 1900px) 100vw, 1900px\" \/><\/a><\/p>\n<p>Functionally the tracker has the following capabilities:<br \/>\n&#8211;\u00a0\u00a0 \u00a0Switch on\/off separately or together the outputs by sending SMS with text commands<br \/>\n&#8211;\u00a0\u00a0 \u00a0Sending periodic status messages<br \/>\n&#8211;\u00a0\u00a0 \u00a0Requesting a status message by sending SMS with text command<br \/>\n&#8211;\u00a0\u00a0 \u00a0Sending a status message at change on any of the logic inputs (if this function is enabled)<br \/>\n&#8211;\u00a0\u00a0 \u00a0Calculating the current distance and bearing from the start point i.e. 205m North-East<br \/>\n&#8211;\u00a0\u00a0 \u00a0Sending an automatic status message when a predetermined distance in any direction from the start point has been reached<\/p>\n<p>Each message contains the following information:<a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/START_TEST0.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-1354\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/START_TEST0.jpg\" alt=\"START_TEST0\" width=\"144\" height=\"209\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/START_TEST0.jpg 1098w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/START_TEST0-206x300.jpg 206w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/START_TEST0-704x1024.jpg 704w\" sizes=\"auto, (max-width: 144px) 100vw, 144px\" \/><\/a><br \/>\n&#8211;\u00a0\u00a0\u00a0 Last valid Latitude<br \/>\n&#8211;\u00a0\u00a0\u00a0 Last valid Longitude<br \/>\n&#8211;\u00a0\u00a0\u00a0 Last valid altitude<br \/>\n&#8211;\u00a0\u00a0\u00a0 Current fix status i.e. valid or not valid<br \/>\n&#8211;\u00a0\u00a0\u00a0 Logic input S1 and logic input S2 status<br \/>\n&#8211;\u00a0\u00a0\u00a0 Distance from the starting point<br \/>\n&#8211;\u00a0\u00a0\u00a0 Bearing from destination point<br \/>\n&#8211;\u00a0\u00a0\u00a0 What triggered the message<\/p>\n<p>The software has the following options:<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/APP.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1356\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/APP.jpg\" alt=\"APP\" width=\"183\" height=\"178\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/APP.jpg 611w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/APP-300x292.jpg 300w\" sizes=\"auto, (max-width: 183px) 100vw, 183px\" \/><\/a><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/RT1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1357\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/RT1.jpg\" alt=\"RT1\" width=\"183\" height=\"179\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/RT1.jpg 607w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/RT1-300x293.jpg 300w\" sizes=\"auto, (max-width: 183px) 100vw, 183px\" \/><\/a><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/RT2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1358\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/RT2.jpg\" alt=\"RT2\" width=\"183\" height=\"179\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/RT2.jpg 607w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/RT2-300x293.jpg 300w\" sizes=\"auto, (max-width: 183px) 100vw, 183px\" \/><\/a><\/p>\n<p>A: SETTINGS<br \/>\n&#8211;\u00a0\u00a0 \u00a0Each output can be separately set up when enabled by message to switch on only once, once every 15,30,60 and 120 seconds or continuously<br \/>\n&#8211;\u00a0\u00a0 \u00a0Each output can be set up how long to stay switched on \u2013 from 0.1sec to 5.0 seconds<br \/>\n&#8211;\u00a0\u00a0 \u00a0The SMS destination phone number<br \/>\n&#8211;\u00a0\u00a0 \u00a0How often the SMS messages to be send from 10 to 65000 seconds<br \/>\n&#8211;\u00a0\u00a0 \u00a0The SMS center phone number (not so often used nowadays, depends on the provider)<br \/>\n&#8211;\u00a0\u00a0 \u00a0Border radius in meters in any direction from the start point, which if crossed, an automatic status message will be send<br \/>\n&#8211;\u00a0\u00a0 \u00a0How often the current coordinates should be written in the memory (1sec to 65000 seconds). If the coordinates are written every second, then the memory is enough for about an hour<br \/>\n&#8211;\u00a0\u00a0 \u00a0Turn on\/off the automatic messaging on change at any of the both logic inputs<br \/>\n&#8211;\u00a0\u00a0 \u00a0Turn on\/off the energy saving mode. When enabled AND the SMS frequency is more than 45 seconds, the GSM module will be switched about 20sec before the SMS period and switched off right after the message was sent. This will save a considerable amount of energy, the drawback is that during the off period no SMS commands can be received. *Still crossing the border radius or change on S1 or S2 (if enabled) will force the module out of sleep and will send the status message.<br \/>\n&#8211;\u00a0\u00a0 \u00a0Turn on\/off the reset on network loss function. If the network has been lost, the MCU will reset the GSM module. This is useful if fast switching between GSM networks is required or the network signal is weak and the module often drops. However if no other network is present then the module will keep restarting which draws considerable amount of energy.<\/p>\n<p>B: Download the trip record from the memory<\/p>\n<p>C: Saving the current information in the text box to a text file<\/p>\n<p>D: Deleting the memory.<br \/>\n&#8211;\u00a0\u00a0 \u00a0There\u2019s no real need to clear it before each trip as old data will be overwritten.<\/p>\n<p>E: Real time 1<br \/>\n&#8211;\u00a0\u00a0 \u00a0The current GPS coordinates are decoded and transmitted in real time in short format i.e. Latitude, Longitude and Altitude only.<\/p>\n<p>F: Real time 2<br \/>\n&#8211;\u00a0\u00a0 \u00a0The current GPS information is transferred in real time without any post processing i.e. all NMEA messages are shown.<\/p>\n<p>The schematic itself is very straightforward and corresponds to the datasheets of the modules with the two remarks that I will explain further down.<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/sch.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1434\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/sch.png\" alt=\"sch\" width=\"3500\" height=\"2708\" \/><\/a><\/p>\n<p>Input S1 and S2 usage:<br \/>\nEach logic input has pull-up resistor that allow it to be used as simple wire or breaker sensor. So one pin of the terminal block has low current 3.3 volts and the other pin is connected to ground. Hence if you connect a thin wire between the two pins on the terminal block and you break the wire this will change the logic state and message will be sent (if this option is enabled). Respectively if the connection between the two pins is open and you close it then this is again change in the logic state and message will be sent (if this option is enabled). This also can be used as a switch to receive impulses from external devises that will trigger SMS messages.<\/p>\n<p>Output1 and Output2 usage:<br \/>\nThose are power outputs that are connected directly to the battery input and have MOSFET transistors acting as switches. When switched on they can conduct up to 40Amps current for short periods or 8Amps continuous current. Their usage can vary and it is up to the imagination of the constructor. Some examples are: firing the parachute, breaking the parachute robes if the wind is taking the rocket too far, igniting smoke signalization, giving periodic audio and visual signals, powering breaking the power to external circuits at will etc.<\/p>\n<p>TEST FOR AUTOMATIC SMS AT BORDER RADIUS CROSSING \u2013the radius was set to 300 meters, the pictures show the start and border position:<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/START_TEST0.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1354\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/START_TEST0.jpg\" alt=\"START_TEST0\" width=\"190\" height=\"276\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/START_TEST0.jpg 1098w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/START_TEST0-206x300.jpg 206w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/START_TEST0-704x1024.jpg 704w\" sizes=\"auto, (max-width: 190px) 100vw, 190px\" \/><\/a><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST0_END.jpg\"> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1373\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST0_END.jpg\" alt=\"TEST0_END\" width=\"394\" height=\"276\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST0_END.jpg 1900w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST0_END-300x210.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST0_END-1024x717.jpg 1024w\" sizes=\"auto, (max-width: 394px) 100vw, 394px\" \/><\/a><\/p>\n<p>TEST FOR ACCURACY OF THE ALGORITHM FOR CALCULATING THE DISTANCE AND THE BEARING BASED ON THE GPS COORDINATES \u2013 the pictures show the start position, the current distance, bearing and coordinates.<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_START.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1378\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_START.jpg\" alt=\"TEST1_START\" width=\"191\" height=\"154\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_START.jpg 1900w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_START-300x242.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_START-1024x826.jpg 1024w\" sizes=\"auto, (max-width: 191px) 100vw, 191px\" \/><\/a><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_END_DIST.jpg\"> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1379\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_END_DIST.jpg\" alt=\"TEST1_END_DIST\" width=\"191\" height=\"154\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_END_DIST.jpg 1900w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_END_DIST-300x242.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_END_DIST-1024x826.jpg 1024w\" sizes=\"auto, (max-width: 191px) 100vw, 191px\" \/><\/a><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_END_CO.jpg\"> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1380\" src=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_END_CO.jpg\" alt=\"TEST1_END_CO\" width=\"191\" height=\"154\" srcset=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_END_CO.jpg 1900w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_END_CO-300x242.jpg 300w, http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/TEST1_END_CO-1024x826.jpg 1024w\" sizes=\"auto, (max-width: 191px) 100vw, 191px\" \/><\/a><\/p>\n<p>VIDEO DEMONSTRATION OF HOW TO COMMAND THE OUTPUTS AND REQUEST STATUS MESSAGE THROUGH SMS<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/4omRRpdlRao?rel=0\" width=\"580\" height=\"435\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>Finally I am attaching the PCB manufacturing files that can be used to order the printed circuit board, the board firmware that can be programmed with any PIC programmer and the PC software. The software program is the same as in my previous tracker and you can use it for the both trackers, however the firmware has some differences.<\/p>\n<p>EDIT:<\/p>\n<p>Recently bought new batch of the cheaper NEOWAY M660A modules. It looks like that in this version of the module firmware there is no auto-bauding function whereas the first NEOWAY M660A module that I received had this function implemented although nothing was mentioned about it in the datasheet. However the SIM900 module has the auto-bauding function described in the datasheet. So as a consequence after powering on both modules default to the initial 115200bps baud rate but, this version of the NEOWAY M660A can\u2019t \u201cautomatically\u201d switch to the lower 9600bps baud rate.<\/p>\n<p>Simple solution was to write small subroutine in the firmware of my device that sends at 115200bps an instruction to the module to switch to lower baud rate. So if it happens that you have a NEOWAY M660A module and your device doesn\u2019t send SMS you need to use the designated firmware that I uploaded (this firmware also works with the SIM900 since both modules accept the manual baud rate setup).<\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/09\/EXROCKETS_GPS_GSM_TRACKING_1_2.zip\">EXROCKETS_GPS_GSM_TRACKING APPLICATION<\/a><br \/>\n<a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/GPS_GSM-TRACKING-HID.zip\">GPS_GSM TRACKING &#8211; HID.zip<\/a><br \/>\n<a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/GPS_GSM_MICRO_SIM-CADCAM.zip\">GPS_GSM_MICRO_SIM &#8211; CADCAM.ZIP<\/a><\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/GPS_GSM-TRACKING_M660A-HID.zip\">GPS_GSM TRACKING_M660A_MINI_SIM &#8211; HID.zip<\/a><\/p>\n<p><a href=\"http:\/\/www.blog.exrockets.com\/blog\/wp-content\/uploads\/2015\/12\/BOM_PCB.zip\">BOM_PCB.zip<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Based on my previous GPS-GSM tracker I also had a design for smaller tracker with mini SIM card and direct 3.7 Li-Po power supply that has been waiting for its turn to be assembled. This is the same tracker design as my previous tracker with the following differences: &#8211;\u00a0\u00a0 \u00a0the power supply input is limited [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"gallery","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-1429","post","type-post","status-publish","format-gallery","hentry","category-electronics","post_format-post-format-gallery"],"_links":{"self":[{"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/posts\/1429","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/comments?post=1429"}],"version-history":[{"count":6,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/posts\/1429\/revisions"}],"predecessor-version":[{"id":1657,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/posts\/1429\/revisions\/1657"}],"wp:attachment":[{"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/media?parent=1429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/categories?post=1429"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.blog.exrockets.com\/blog\/wp-json\/wp\/v2\/tags?post=1429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}