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
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 RYS8830 on TECHDesign: https://reurl.cc/vdxrpl
- REYAX RYS8830 on Amazon : https://reurl.cc/9G9Mvv
- REYAX Europe distributor - First Component Srl : https://www.first-components.com/en/
REYAX RYLR998 LoRa Module
- https://www.techdesign.com/market/reyax/product-de... (TECHDesign)
- https://www.amazon.com/REYAX-RYLR998-Interface-Ant... (Amazon)
Other tools and materials used in the project:
- NodeMCU Development board: https://s.click.aliexpress.com/e/_DeGH4nz
- Mini breadboards: https://s.click.aliexpress.com/e/_DlIO3QX
- 400 point breadboard: https://s.click.aliexpress.com/e/_DkmyNOn
- Soldering station: https://s.click.aliexpress.com/e/_Dehow1p
- Solder: https://s.click.aliexpress.com/e/_DEOfm1Z
- 2N2222 transistors - https://s.click.aliexpress.com/e/_A6IA8V
- Resistors Kit - https://s.click.aliexpress.com/e/_A0BF1T
- Multimeter - https://s.click.aliexpress.com/e/_ApbVBJ
- OTG Cable - https://s.click.aliexpress.com/e/_DnCEbFv
The GPS Module and Its Logic Level Shifter
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
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
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
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
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
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.