Lora/GPS Shield

From Wiki for Dragino Project
Jump to: navigation, search


LoRa GPS Shield with LoRa BEE.jpg

What is the Dragino LoRa/GPS Shield

The Dragino LoRa/GPS Shield is an expension board for LoRa/GPS for using with the arduino.This product is intended for those interested in developing LoRa/GPS solutions.The LoRa/GPS Shield is composed of LoRa/GPS Shield mother board and Lora BEE.

In the LoRa part,the LoRa/GPS Shield is based on the SX1276/SX1278 transceiver.The transceivers of the LoRa/GPS Shield feature the LoRa long range modem that provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption. LoRa also provides significant advantages in both blocking and selectivity over conventional modulation techniques, solving the traditional design compromise between range,interference immunity and energy consumption.

In th GPS part,the add on L80 GPS (base on MTK MT3339) is designed for applications that use a GPS connected via the serial ports to the arduino such as timing applications or general applications that require GPS information.This GPS module can calculate and predict orbits automatically using the ephemeris data (up to 3 days) stored in internal flash memory, so the shield can fix position quickly even at indoor signal levels with low power consumption.With AlwaysLocate™ technology, the Lora/GPS Shield can adaptively adjust the on/off time to achieve balance between positioning accuracy and power consumption according to the environmental and motion conditions.The GPS also supports automatic antenna switching function. It can achieve the switching between internal patch antenna and external active antenna.Moreover, it keeps positioning during the switching process.

Hardware version info

  • LoRa/GPS Shield v1.3:
    • Add connectino to Active GPS antenna
    • Add PPP pin to Arduino A3 pin.
    • Add AADET_N LED to show Active GPS antenna connection.
  • LoRa/GPS Shield v1.2:
    • TXD mark change to GPS_TX
    • RXD mark change to GPS_RX
    • Add R14 (0R, 0603), R15(0R,0603,NL),R16(0R,0603,NL), They are used swapping SS pin
  • LoRa/GPS Shield v1.0: The first hardware release for the LoRa/GPS Shield.


LoRa Spec

  • 168 dB maximum link budget.
  • +20 dBm - 100 mW constant RF output vs.
  • +14 dBm high efficiency PA.
  • Programmable bit rate up to 300 kbps.
  • High sensitivity: down to -148 dBm.
  • Bullet-proof front end: IIP3 = -12.5 dBm.
  • Excellent blocking immunity.
  • Low RX current of 10.3 mA, 200 nA register retention.
  • Fully integrated synthesizer with a resolution of 61 Hz.
  • FSK, GFSK, MSK, GMSK, LoRaTM and OOK modulation.
  • Built-in bit synchronizer for clock recovery.
  • Preamble detection.
  • 127 dB Dynamic Range RSSI.
  • Automatic RF Sense and CAD with ultra-fast AFC.
  • Packet engine up to 256 bytes with CRC.
  • Built-in temperature sensor and low battery indicator.

GPS Spec

  • Based on MT3339.
  • Power Acquisition:25mA,Power Tracking:20mA.
  • Compliant with GPS, SBAS.
  • Programmable bit rate up to 300 kbps.
  • Serial Interfaces UART: Adjustable 4800~115200 bps,Default: 9600bps.
  • Update rate:1Hz (Default), up to10Hz.
  • I/O Voltage:2.7V ~ 2.9V.
  • Protocols:NMEA 0183,PMTK.
  • Horizontal Position Accuracy:Autonomous <2.5 m CEP.
  • TTFF@-130dBm with EASY™:Cold Start <15s,Warm Start <5s,Hot start <1s;TTFF@-130dBm.without EASY™:Cold Start <35s,Warm Start <30s,Hot Start <1s.
  • Timing Accuracy:1PPS out 10ns,Reacquisition Time <1s.
  • Velocity Accuracy Without aid <0.1m/s,Acceleration Accuracy Without aid 0.1m/s².
  • Sensitivity Acquisition -148dBm,Tracking -165dBm,Reacquisition -160dBm.
  • Environmental:Operating Temperature -40°C to 85°C,Storage Temperature -45°C to 125°C.
  • Dynamic Performance Altitude Max.18000m,Maximum Velocity Max.515m/s,Maximum Acceleration 4G.
  • L1 Band Receiver(1575.42MHz) Channel 22 (Tracking) /66 (Acquisition).


  • Frequency Band: 868 MHZ/433 MHZ/915 MHZ(Pre-configure in factory).
  • Low power consumption.
  • Compatible with Arduino Leonardo, Uno, Mega,etc.
  • LoRa™ Modem.
  • FSK, GFSK, MSK, GMSK, LoRa™and OOK modulation.
  • Preamble detection.
  • Baud rate configurable.
  • Built-in temperature sensor and low battery indicator.
  • Excellent blocking immunity.
  • Automatic RF Sense and CAD with ultra-fast AFC.
  • GPS automatic switching between internal patch antenna and external active antenna.
  • PPS VS. NMEA can be used in time service.
  • Support SDK command.
  • Built-in LNA for better sensitivity.
  • EASY™, advanced AGPS technology without external memory.
  • AlwaysLocate™, an intelligent controller of periodic mode.
  • GPS FLP mode, about 50% power consumption of normal mode.
  • GPS support short circuit protection and antenna detection.
  • External Antenna via I-Pex connector/SMA connector

Pin Definition

As you can see from below:

LoRa GPS Shield Pin Definition


There are three LEDs on the LoRa/GPS Shield. The functions of these LEDs are:

  • PWR: Power Indicate LED. Turns on once there is power.
  • RX: Indicate there is a wireless packet received in the LoRa module.
  • 3D_FIX: The led blink ervey 100ms after the GPS fixing position.

GPS Antenna

The GPS module has a built in 15x15x4 patch Antenna, make sure the GPS antenna points to the sky. if the module must be placed in indoor enviroment where GPS antenna is poor. User can use external GPS antenna. The GPS module will auto switch between the patch antenna and external antenna.

The RF part of GPS module is sensitive to temperature, please keep them away from heat-emitting circuit.

Reset Button

RST Button

The GPS module can be restarted by driving the RESET to a low level voltage for a certain time and then releasing it. Press the "RST" button will reset the digital part of the GPS receiver. Note that the content in the RAM is not cleared, thus a fast TTFF is possible. An OC driver circuit shown as below is recommended to control the RESET.

Note: If you connect the GPS to the arduino by hardware serial,you need to press the "RST" button to release occupation of arduino hardware serial until the upload is complete.


  • Automated Meter Reading.
  • Home and Building Automation.
  • Wireless Alarm and Security Systems.
  • Industrial Monitoring and Control
  • Long range Irrigation Systems

Use Notice with Arduino Boards

LoRa GPS Shield with arduino

Make sure what serial you want to use,hardware serial or software serial? Make sure the serial you use in Sketch reflect the exactly connection, we are using two serial here and easy to get confuse between them.

If you connect the GPS to the arduino by hardware serial,you need to press the "RST" button to release occupation of arduino hardware serial until the upload is complete.

Dimensions and Weight

  • Size: 60mm*53mm*25mm.
  • Net weight: 30g.
  • Package Dimension: 111 x 70 x 36 mm
  • Package Weight: 57g


You can get the examples from:LoRa examples or use below examples:

Example1 -- Getting GPS to work on an Arduino

Getting GPS to work on Leonardo(Hardware Serial)

Connect the LoRa/GPS Shield to Leonardo,copy the below code to the IDE:

void setup() {
  // initialize both serial ports:
  while (!Serial1) {
  Serial1.println("this is serial");
  Serial.println("this is serial1");
void loop() {
  // read from port 1, send to port 0:
  if (Serial.available()) {
    int inByte = Serial.read();
  // read from port 0, send to port 1:
  if (Serial1.available()) {
    int inByte = Serial1.read();

Choose the correct board and correct port to upload the sketch,then you can click the serial monitor to check the running result.


Getting GPS to work on UNO(Software Serial)

Connect the LoRa/GPS Shield to UNO, Remove the GPS_RXD and GPS_TXD jumper and connect the GPS with the arduino as below:

use softserial for GPS

get the code from: Use LoRa GPS Shield via TinyGPS Library

Upload the sketch to the UNO board,you can see the running result as below.

use softserial for GPS

Example2 -- Dragino LoRa GPS Tracker

Dragino LoRa GPS Tracker

In this project,we'll show how to get GPS data from a remote Arduino via Wireless LoRa Protocol and show the track on the GoogleEarth.

1) Client Side: Arduino + ​LoRa/GPS Shield (868Mhz).
2) Server Side: Arduino + ​LoRa Shield (868Mhz) + ​Yun Shield + USB flash.

Client side will get GPS data and keep sending out to the server via LoRa wireless. Server side will listen on the LoRa wireless frequency, once it get the data from Client side, it will turn on the LED and log the sensor data to a USB flash.

You can get the full instruction from:www.instructables.com/id/Dragino-LoRa-GPS-Tracker/

Example3 -- Real Time Tracker

This example use below structure and explain how to update real time gps data to GPSWOX site.

Network Structure

Usage Notice

You have to be aware that Radio link quality and performances are highly dependent of environment.

Better performances can be reached with:

  • Outdoor environment.
  • No obstacles.
  • No high level radio interferer in the ISM 868MHz band.
  • At least 1 meter above the ground.

Radio performances are degraded with:

  • Obstacles: buildings, trees...
  • Inner buildings environments.
  • High ISM 868MHz band usage by other technologies.

Radio communication are usually killed with bad topographic conditions. It is usually not possible to communicate through a hill, even very small.

Order Information

Part Number

  • LoRa/GPS Shield 868: Load with SX1276, support 868M frenquency
  • LoRa/GPS Shield 915: Load with SX1276, support 915M frenquency
  • LoRa/GPS Shield 433: Load with SX1278, support 433M frenquency

Packaging Includes

  • 1 x LoRa /GPS Shield mother board
  • 1 x LoRa BEE
  • 1 x Glue Stick Antenna(868 MHZ, 433 MHZ or 915 MHZ depends on order)
  • Packaging with environmental protection paper box

Trouble Shooting

I can't upload sketch to Arduino, shows "stk500 not in sync"

The GPS module use output via UART to Arduino. by default, this UART output is connected to the Arduino hardware UART pin 0 and pin 1. This mean if user use the Arduino UNO/Mega2560 (board use the same UART to upload sketch), they will see upload issue during upload, below shows the issue.

Upload conflict with GPS module

To solve this issue, user can press the RST button on LoRa/GPS Shield before the update and release the button after upload is done, this will put the GPS module inn reset state so won't conflict with the upload.