From MikroTik Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Applies to RouterOS: v3, v4, v5, v6 +


Package requirement: gps
Sub-menu: /system gps
Standards: GPS, NMEA 0183, Simple Text Output Protocol

Global Positioning System (GPS) is used for determining precise location of a GPS receiver.

Configuration Properties

Property Description
enabled (yes | no; Default: no) Whether GPS is enabled
port (string; Default: ) Name of the USB/Serial port where GPS receiver is connected
channel (integer [0..4294967295]; Default: 0) Port channel used by device
init-channel (integer [0..4294967295]; Default: ) Channel for init-string execution
init-string (string; Default: ) AT init string for GPS initialization
set-system-time (yes | no; Default: no) Whether to set router's date and time to one received from GPS.

Monitoring Status

Command: /system gps monitor

This command is used for monitoring the data received from a GPS receiver


Property Description
date-and-time (date) Date and time received from GPS
latitude (none | string) Latitude in DM (Degrees Minute decimal) format
longitude (none | string) Longitude in DM (Degrees Minute decimal) format
speed (none | string) Current moving speed of the GPS unit
bearing (none | string) The compass direction toward which a GPS is moving
valid (yes | no)
satellites (integer) Number of satellites seen by the device.

Note: The time is not stratum 1 as RouterBOARD devices do not have PPS implemented

Basic examples

Check port usage, only one instance can use serial port simultaneously

[admin@MikroTik] /port print
Flags: I - inactive 
 #   DEVICE NAME                     CHANNELS USED-BY                   BAUD-RATE
 0          serial0                         1 Serial Console            auto   

in this case port is used by console, release it from console menu:

[admin@MikroTik] > /system console print 
Flags: X - disabled, U - used, F - free
 #   PORT                                                                       TERM                                                                     
 0 U serial0                                                                    vt102 

[admin@MikroTik] > /system console disable 0  

Adjust port settings specific for your device (leave "auto" for ltAP mini)

[admin@MikroTik] /port> set 0 baud-rate=4800 parity=odd
[admin@MikroTik] /port> print detail 
Flags: I - inactive 
 0   name="usb1" used-by="" channels=1 baud-rate=4800 data-bits=8 parity=odd stop-bits=1 flow-control=none

Enable GPS

[admin@MikroTik] /system gps> set enable=yes port=usb1
[admin@MikroTik] /system gps> print 
          enabled: yes
             port: usb1
          channel: 0
     init-channel: 0
  set-system-time: no

Monitor status

[admin@MikroTik] /system gps> monitor  
  date-and-time: jul/02/2015 14:36:08
             latitude: N 56 57' 32.262''
            longitude: E 24 9' 7.262''
             altitude: 36.700001m
                speed: 0.000000 km/h
  destination-bearing: none
         true-bearing: 0.000000 deg. True
     magnetic-bearing: 0.000000 deg. Mag
                valid: yes
           satellites: 7

We have also created an in-depth article about live GPS tracking, using scripting and a web server: Manual:GPS-tracking.


Note that sometimes in order to make GPS module to be recognized under RouterOS you need to change the baud-rate setting in the '/port' menu.

LtAP mini has low gain GPS antenna build in, for better experience we suggest using additional external antenna

Switch between internal and external antennas under GPS menu:

[admin@MikroTik] > /system gps set gps-antenna-select=external

On some modems with GPS support you need to send multiple init commands for the continuous GPS monitoring, for example, for Huawei cards you need to send "AT^WPDST=1,AT^WPDGP" init string to get continuous monitoring.

[ Top | Back to Content ]