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 Global Positioning System and can be used to determine position, time, and speed if you’re travelling.

NEO-6M GPS Module

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’s 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 ‘Position Fix’. It will blink at different rates depending on which state it is in:

  • No blinking – it is searching for satellites.
  • Blink every 1s – Position Fix is found (the module can see enough satellites).

Common features of NEO-6M GPS module is given below:

TypeGPS
Supply2.7 V-3.6 V
Operating Current45mA
Operating Temperature-40°C ~ 85°C
Horizontal Position Accuracy2.5m
Communication ProtocolNMEA, UBX Binary, RTCM
FeaturesRTC Crystal and External Interrupt/Wake up
AccuracyHorizontal Position – 2.5 m
Velocity – 0.1 m/s

Prerequisites

Components Required

  • ARIES v3.0 Board
  • USB type C to USB type A cable
  • UBLOX NEO-6M GPS Module
  • Jumper Wires

Note: All of the following boards can be used for this project

Connection Diagram

Connections

GPS ModuleARIES V3 board
VCC3.3V
GNDGND
TXGPIO-4
RXGPIO-3
Connection pins of GPS module & ARIES v3.0 Board

Required Libraries

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

  • VEGA_SoftwareSerial

To install the libraries required for this project.

Go to Tools -> Manage Libraries -> and search for VEGA_SoftwareSerial

Click on Install


Procedure

Open and set up the Arduino IDE as described in Getting Started with ARIES v3.0.

  • Make sure you have selected ARIES v3 Board from Tools -> Board -> VEGA Processor: ARIES Boards -> ARIES v3
  • Select Programmer as VEGA XMODEM from Tools -> Programmer -> VEGA XMODEM
  • Also select appropriate port from Tools -> Port -> COM* (ARIES Board)

Now, Open Files -> Examples -> Under Examples for ARIES v3 -> GPIO-> GPS_NMEA_Data

Finally upload code.

Output

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)

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.

Demonstration

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.

The output for GPS Example for Understanding NMEA Sentences:
There are different types of NMEA sentences. The type of message is indicated by the characters before the first comma.
In the following sentence:
$GPGGA,110617.00,41XX.XXXXX,N,00831.54761,W,1,05,2.68,129.0,M,50.1,M,,*42

The GP after the $ indicates it is a GPS position.  
The $GPGGA is the basic GPS NMEA message, that provides 3D location and accuracy data.
110617 – represents the time at which the fix location was taken, 11:06:17 UTC
41XX.XXXXX,N – latitude 41 deg XX.XXXXX’ N
00831.54761,W – Longitude 008 deg 31.54761′ W
1 – 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)
05 – number of satellites being tracked
2.68 – Horizontal dilution of position
129.0, M – Altitude, in meters above the sea level
50.1, M – Height of geoid (mean sea level) above WGS84 ellipsoid
empty field – time in seconds since last DGPS update
empty field – DGPS station ID number
*42 – the checksum data, always begins with *

*The other NMEA sentences provide additional information:
$GPGSA – GPS DOP and active satellites
$GPGSV – Detailed GPS satellite information
$GPGLL – Geographic Latitude and Longitude
$GPRMC – Essential GPS pvt (position, velocity, time) data
$GPVTG – Velocity made good 

By mydhily

Leave a Reply

Your email address will not be published. Required fields are marked *