No SIM GPS Tracker Using LoRa and Custom App

by taste_the_code in Circuits > Wearables

4278 Views, 7 Favorites, 0 Comments

No SIM GPS Tracker Using LoRa and Custom App

MVI_0372.MP4.00_00_11_11.Still001.jpg
Simple GPS tracker for adventure tracking in remote locations

Whenever you want to track something with GPS, the most common option for sending the location data is GSM with a SIM card. This works well but it always requires extra contract and service fees.

In situations where you need to track something within several kilometers, these extra costs are not always necessary as you can use LoRa to send the data to up to 8 KM.

In this Instructable, I'm showing you how I built one such device where the transmitter has a GPS (RYS8830) and a LoRa (RYLR998) module, both provided by Reyax.

The receiver is also using the same LoRa module to receive the location and send it to a custom-built app via serial.

The app is then using the phone's built-in GPS to locate itself and it shows both locations on a map.

Supplies

REYAX RYS8830 GPS Module

REYAX RYLR998 LoRa Module

Other tools and materials used in the project:

The GPS Module and Its Logic Level Shifter

MVI_0387.MP4.00_00_26_26.Still001.jpg
MVI_0388.MP4.00_00_36_11.Still002.jpg

The entire project is based on the Reyax RYS8830 module that was sent to me to test it out.

The module is extremely small at only 11x11mm and only 2mm in thickness with a small form factor & ultra-low power. The module works on 1.8V and has UART and I2C interfaces for communication with a microcontroller.

The module has receivers for the standard GPS, as well as GLONASS, SBAS, QZSS, BeiDou, and Galileo positioning systems.

Some of the features it has are:

  • SONY CXD5605AGF multi-GNSS receiver
  • Small SMD form factor 121mm^2
  • Enhanced GNSS Filter and Low Noise Amplifier
  • Ultra-low power consumption
  • Up to Position accuracy, 1.0 m CEP
  • Embedded Antenna
  • Optional external antenna

To interface it with a 3.3V microcontroller, you will need a logic level shifter that can convert the 1.8V signal up to 3.3V and reduce the 3.3V from the microcontroller down to 1.8V for the receiver. You can either use a commercial one or make one yourself with a single 2N2222 transistor.

Making the GPS Transmitter With LoRa

MVI_0388.MP4.00_00_44_16.Still003.jpg
MVI_0390.MP4.00_01_49_06.Still001.jpg
MVI_0391.MP4.00_00_09_05.Still001.jpg
MVI_0391.MP4.00_01_35_06.Still002.jpg
schematic.png

I've only built the transmitter on a prototype board so I can test out the module. The NodeMCU microcontroller is used to communicate with both the LoRa module and the GPS module via UART.

Since the NodeMCU has only one built-in serial port, the software serial library is used to create additional serial ports, one for the GPS and one for the LoRa module.

Pins 14 (RX) and 12 (TX) are used for the GPS serial, and they are connected to the high voltage side on the logic level shifter. On this side of the shifter, we also provide 3.3V from the NodeMCU built-in regulator and a ground connection.

Exiting from the logic level shifter, the pins are connected to the opposite pins, RX to TX, and TX to RX. Here, I used the provided evaluation board to tap into the already present 1.8V rail so I can power the GPS module more easily and provide the lower voltage to the shifter.

To power the evaluation board for the GPS, I've soldered one wire directly to the voltage regulator on the evaluation board which is then connected to the input voltage of the NodeMCU.

To get more details on the LoRa board, you can check out my dedicated project on them.

Making the LoRa Receiver

Main edit.00_04_36_04.Still003.jpg
MVI_0371.MP4.00_00_22_23.Still002.jpg
Main edit.00_06_00_19.Still002.jpg

The receiver consists of a NodeMCU and a single LoRa module that is connected again through software serial on pins 14 and 12. Since they both work on 3.3V, there is no need for a converter here and we can connect them directly.

If you want to use an Arduino Nano, for example, you will then need the logic level shifter.

What is interesting for the receiver is that once it receives a location through LoRa, it then uses the regular serial connection of the NodeMCU to forward that location.

The receiver is powered through a phone, using an OTG cable where it now sends that serial data to the phone.

The Mobile App to Show the Locations

MVI_0377.MP4.00_00_23_26.Still001.jpg
MVI_0378.MP4.00_00_08_28.Still001.jpg
MVI_0380.MP4.00_00_15_02.Still001.jpg

To capture that serial data on the phone, a friend of mine built a custom app that receives that location from the serial port on the phone and then displays that location on a map.

On the app, it also displays the current phone location so you can see where you are as well as where the tracker is.

As a bonus feature, the app remembers the last 10 positions of the tracker so you can see a nice trail of where it was and determine the direction that it is headed. We thought that this will be very useful in situations where for example you want to track your hunting dog on a mountain and you can very easily see the direction of travel.

The app is only available for Android and can be downloaded from the Play Store.

https://play.google.com/store/apps/details?id=com....

He will make a dedicated video just explaining the app so once that is released, I'll update the Instructable with it.

Testing the Setup on a Bicycle

MVI_0370.MP4.00_00_02_11.Still001.jpg
MVI_0368.MP4.00_00_15_09.Still001.jpg
MVI_0368.MP4.00_00_30_19.Still002.jpg
MVI_0371.MP4.00_00_11_08.Still001.jpg
MVI_0373.MP4.00_00_39_09.Still001.jpg
MVI_0376.MP4.00_00_09_13.Still001.jpg
MVI_0386.MP4.00_00_05_00.Still001.jpg

To try it out we went out to a park and we used some electrical tape to mount the transmitter to Slavko's bike.

I stayed fixed in one location at one end of the park and Slavko went to make a circle around the park.

As he went along, the transmitter was successfully reporting the location and his path was shown on the app as expected. You can see the full demo in the video below.

The same tracking principle can be applied in any terrain and location with relatively open space and get a practical tracking distance of several kilometers without using GSM.

Next Steps

MVI_0388.MP4.00_00_33_05.Still001.jpg
MVI_0392.MP4.00_01_38_29.Still001.jpg

Now, this is only a crude demo of what is possible with the GPS receiver and the LoRa modules.

If there is sufficient interest in the idea, we can expand it and make a dedicated PCB for the tracker so the entire setup can be more permanent, more secure, and more robust.

Commercial systems like this one exist but they cost upwards of $1000. If you are interested in a DIY option, then please let me know in the comments and maybe we can build one.

The code for both the transmitter and the receiver is available on GitHub!

https://github.com/bkolicoski/arduino-lora-gps-tra...

Thank you for reading and if you liked it, consider subscribing to my YouTube channel.