{"id":3384,"date":"2023-12-20T04:41:01","date_gmt":"2023-12-20T04:41:01","guid":{"rendered":"https:\/\/vegaprocessors.in\/blog\/?p=3384"},"modified":"2023-12-20T04:41:01","modified_gmt":"2023-12-20T04:41:01","slug":"interfacing-gps-with-vega-aries-boards","status":"publish","type":"post","link":"https:\/\/vegaprocessors.in\/blog\/interfacing-gps-with-vega-aries-boards\/","title":{"rendered":"Interfacing GPS with VEGA ARIES boards"},"content":{"rendered":"\n<p>In this tutorial, we will see how we can interface NEO-6M GPS with ARIES v3.0 Board to get GPS data. GPS stands for&nbsp;<em>Global Positioning System<\/em>&nbsp;and&nbsp;can be used to determine position, time, and speed if you\u2019re travelling.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">NEO-6M GPS Module<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsimage.jpg\" alt=\"\" class=\"wp-image-3395\" style=\"width:250px;height:250px\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsimage.jpg 800w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsimage-300x300.jpg 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsimage-150x150.jpg 150w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsimage-768x768.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>The Neo-6M GPS module is a variant of the GPS receivers supplied by u-Blox. It can track up to 22 satellites over 50 channels and achieve the industry\u2019s highest level of tracking sensitivity i.e. -161 dB, while consuming only 45 mA current. The pinout of the NEO 6M module consists of 4 pins named GND, TX, RX, and VCC.There is an LED on the NEO-6M GPS module that indicates the status of the \u2018Position Fix\u2019. It will blink at different rates depending on which state it is in:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No blinking<\/strong>&nbsp;\u2013 it is searching for satellites.<\/li>\n\n\n\n<li><strong>Blink every 1s<\/strong>&nbsp;\u2013 Position Fix is found (the module can see enough satellites).<\/li>\n<\/ul>\n\n\n\n<p>Common features of NEO-6M GPS module is given below:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Type<\/strong><\/td><td><strong>GPS<\/strong><\/td><\/tr><tr><td>Supply<\/td><td>2.7 V-3.6 V<\/td><\/tr><tr><td>Operating Current<\/td><td>45mA<\/td><\/tr><tr><td>Operating Temperature<\/td><td>-40\u00b0C ~ 85\u00b0C<\/td><\/tr><tr><td>Horizontal Position Accuracy<\/td><td>2.5m<\/td><\/tr><tr><td>Communication Protocol<\/td><td>NMEA, UBX Binary, RTCM<\/td><\/tr><tr><td>Features<\/td><td>RTC Crystal and External Interrupt\/Wake up<\/td><\/tr><tr><td>Accuracy<\/td><td>Horizontal Position \u2013 2.5 m<br>Velocity \u2013 0.1 m\/s<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Windows 10 or above\/Linux (64 bit)<\/li>\n\n\n\n<li>Arduino IDE<\/li>\n\n\n\n<li><a href=\"https:\/\/vegaprocessors.in\/devboards\/ariesv3.php\" target=\"_blank\" rel=\"noreferrer noopener\">VEGA ARIES Board support package<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Components Required<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/vegaprocessors.in\/devboards\/ariesv3.php\">ARIES v3.0 Board<\/a><\/li>\n\n\n\n<li>USB type C to USB type A cable<\/li>\n\n\n\n<li>UBLOX NEO-6M GPS Module<\/li>\n\n\n\n<li>Jumper Wires<\/li>\n<\/ul>\n\n\n\n<p><strong>Not<\/strong><strong>e:<\/strong>&nbsp;All of the following boards can be used for this project<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/vegaprocessors.in\/devboards\/ariesv2.php\">ARIES v2.0<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/vegaprocessors.in\/devboards\/ariesv3.php\">ARIES v3.0<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/vegaprocessors.in\/devboards\/ariesmicro.php\">ARIES Micro<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/vegaprocessors.in\/devboards\/ariesdot.php\">ARIES DOT<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/vegaprocessors.in\/devboards\/ariesiot.php\">ARIES IoT<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Connection Diagram<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"617\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gps-1024x617.png\" alt=\"\" class=\"wp-image-3459\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gps-1024x617.png 1024w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gps-300x181.png 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gps-768x463.png 768w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gps.png 1240w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Connections<\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>GPS Module<\/strong><\/td><td><strong>ARIES V3 board<\/strong><\/td><\/tr><tr><td>VCC<\/td><td>3.3V<\/td><\/tr><tr><td>GND<\/td><td>GND<\/td><\/tr><tr><td>TX<\/td><td>GPIO-4<\/td><\/tr><tr><td>RX<\/td><td>GPIO-3<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><strong><em>Connection pins of GPS module &amp; ARIES v3.0 Board<\/em><\/strong><br><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Required Libraries<\/h2>\n\n\n\n<p>Arduino libraries are an extension of the standard Arduino API and consists of thousands of libraries, both official and contributed by the community. Libraries simplifies the use of complex codes. Every version of Arduino IDE has a library manager for installing Arduino software libraries. The libraries required for this projects are<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>VEGA_SoftwareSerial<\/li>\n<\/ul>\n\n\n\n<p>To install the libraries required for this project.<\/p>\n\n\n\n<p>Go to\u00a0<strong>Tools -> Manage Libraries<\/strong>\u00a0-> and search for VEGA_SoftwareSerial<\/p>\n\n\n\n<p>Click on<strong>&nbsp;Install <\/strong><\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"530\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpslibrary-1-1024x530.png\" alt=\"\" class=\"wp-image-3399\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpslibrary-1-1024x530.png 1024w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpslibrary-1-300x155.png 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpslibrary-1-768x398.png 768w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpslibrary-1.png 1112w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"545\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsLibraryInstall-1.png\" alt=\"\" class=\"wp-image-3400\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsLibraryInstall-1.png 977w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsLibraryInstall-1-300x167.png 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsLibraryInstall-1-768x428.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><br>Procedure<\/h2>\n\n\n\n<p>Open and set up the Arduino IDE as described in\u00a0<a href=\"https:\/\/vegaprocessors.in\/devboards\/ariesv3.php\" target=\"_blank\" rel=\"noreferrer noopener\">Getting Started with ARIES v3.0<\/a>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Make sure you have selected&nbsp;<strong>ARIES v3<\/strong>&nbsp;Board from&nbsp;<strong>Tools<\/strong>&nbsp;-&gt;&nbsp;<strong>Board<\/strong>&nbsp;-&gt;&nbsp;<strong>VEGA Processor: ARIES Boards<\/strong>&nbsp;-&gt;&nbsp;<strong>ARIES v3<\/strong><\/li>\n\n\n\n<li>Select Programmer as VEGA XMODEM from&nbsp;<strong>Tools<\/strong>&nbsp;-&gt;&nbsp;<strong>Programmer<\/strong>&nbsp;-&gt;&nbsp;<strong>VEGA XMODEM<\/strong><\/li>\n\n\n\n<li>Also select appropriate port from\u00a0<strong>Tools<\/strong>\u00a0->\u00a0<strong>Port\u00a0-> COM* (ARIES Board)<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"847\" height=\"415\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/12\/1-9.png\" alt=\"\" class=\"wp-image-4604\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/12\/1-9.png 847w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/12\/1-9-300x147.png 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/12\/1-9-768x376.png 768w\" sizes=\"auto, (max-width: 847px) 100vw, 847px\" \/><\/figure>\n\n\n\n<p>Now, Open&nbsp;<strong>Files<\/strong>&nbsp;-&gt;&nbsp;<strong>Examples<\/strong>&nbsp;-&gt; Under&nbsp;<strong>Examples for ARIES v3<\/strong>&nbsp;<strong>-&gt;&nbsp;GPIO-&gt; GPS_NMEA_Data<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"474\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsExample-1024x474.png\" alt=\"\" class=\"wp-image-3393\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsExample-1024x474.png 1024w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsExample-300x139.png 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsExample-768x355.png 768w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsExample.png 1493w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Finally <strong>upload<\/strong> code.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Output<\/h2>\n\n\n\n<p>After connecting the GPS module, keep the module in an open place and wait for some time to get the GPS connected with the satellite. Once the connection with GPS is established an LED will blink in every 1 second, as shown in the below image, which indicates that Position Fix is found (the module can see enough satellites) <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput-1024x576.jpeg\" alt=\"\" class=\"wp-image-3404\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput-1024x576.jpeg 1024w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput-300x169.jpeg 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput-768x432.jpeg 768w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput-1536x864.jpeg 1536w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput-2048x1152.jpeg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Open the Serial Monitor at a baud rate of 115200. On the the Serial Monitor, and you can see the GPS output in NMEA sentences. Make sure you are doing this experiment in an open place and not under any roofs for accurate measurements.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"527\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput-1024x527.png\" alt=\"\" class=\"wp-image-3405\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput-1024x527.png 1024w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput-300x154.png 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput-768x395.png 768w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsOutput.png 1137w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Demonstration<\/h2>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2023\/09\/gpsvideodemo.mp4\"><\/video><\/figure>\n\n\n\n<p>You should get a bunch of information in the GPS standard language, NMEA. Each line you get int the serial monitor is an NMEA sentence. NMEA stands for National Marine Electronics Association, and in the world of GPS, it is a standard data format supported by GPS manufacturers. NMEA sentences start with the $ character, and each data field is separated by a comma.<\/p>\n\n\n\n<p>The output for GPS Example for Understanding NMEA Sentences:<br>There are different types of NMEA sentences. The type of message is indicated by the characters before the first comma.<br>In the following sentence:<br>$GPGGA,110617.00,41XX.XXXXX,N,00831.54761,W,1,05,2.68,129.0,M,50.1,M,,*42<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The GP after the $ indicates it is a GPS position.  \nThe $GPGGA is the basic GPS NMEA message, that provides 3D location and accuracy data.\n110617 \u2013 represents the time at which the fix location was taken, 11:06:17 UTC\n41XX.XXXXX,N \u2013 latitude 41 deg XX.XXXXX\u2019 N\n00831.54761,W \u2013 Longitude 008 deg 31.54761\u2032 W\n1 \u2013 fix quality (0 = invalid; 1= GPS fix; 2 = DGPS fix; 3 = PPS fix; 4 = Real Time Kinematic; 5 = Float RTK; 6 = estimated (dead reckoning); 7 = Manual input mode; 8 = Simulation mode)\n05 \u2013 number of satellites being tracked\n2.68 \u2013 Horizontal dilution of position\n129.0, M \u2013 Altitude, in meters above the sea level\n50.1, M \u2013 Height of geoid (mean sea level) above WGS84 ellipsoid\nempty field \u2013 time in seconds since last DGPS update\nempty field \u2013 DGPS station ID number\n*42 \u2013 the checksum data, always begins with *\n\n*The other NMEA sentences provide additional information:\n$GPGSA \u2013 GPS DOP and active satellites\n$GPGSV \u2013 Detailed GPS satellite information\n$GPGLL \u2013 Geographic Latitude and Longitude\n$GPRMC \u2013 Essential GPS pvt (position, velocity, time) data\n$GPVTG \u2013 Velocity made good <\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we will see how we can interface NEO-6M GPS with ARIES v3.0 Board to get GPS data. GPS stands for&nbsp;Global Positioning System&nbsp;and&nbsp;can be used to determine position, time, and speed if you\u2019re travelling. NEO-6M GPS Module The Neo-6M GPS module is a variant of the GPS receivers supplied by u-Blox. It can [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":3404,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[94],"tags":[95,76,7,68,77,31,24],"class_list":["post-3384","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aries-with-arduinoide","tag-aries-v3-board","tag-c-dac","tag-cdac","tag-gpio","tag-thejas-32","tag-thejas32","tag-vegaprocessor"],"_links":{"self":[{"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/posts\/3384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/comments?post=3384"}],"version-history":[{"count":13,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/posts\/3384\/revisions"}],"predecessor-version":[{"id":4605,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/posts\/3384\/revisions\/4605"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/media\/3404"}],"wp:attachment":[{"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/media?parent=3384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/categories?post=3384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/tags?post=3384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}