LoRa GPS Tracker




This project will show how to assemble your own GPS tracker module, for use with Ripple LoRa mesh networks. See this companion article for info: https://www.instructables.com/id/LoRa-Mesh-Radio/

These tracker modules use the Semtech LoRa radios, and compatible Arduino dev boards. Initially, there is just support for the Adafruit Feather, but will be more added over time. The modules can be used to track the location of anything remotely, via the LoRa packet radio mesh network.


Hardware components can be purchased here:

NOTE: the wires must be swapped in the connector of these Lipo batteries before plugging into the Feather!!

That is, this battery has right connector type, but the polarity is reversed!!

Alternatively, you can buy 1S lipo batteries from Adafruit. These have the connectors with right polarity.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Wiring

The Feather board just needs the BN-180 GPS receiver wired up to it, with the following connections:

  • (black) GND -> GND pin on feather
  • (red) VCC -> 3.3V pin on feather
  • (white) TX -> RX1 pin feather
  • (green) RX -> TX1 pin on feather

The antenna doesn't have the right connector, so you need to cut the IPEX4 one off, then separate the coax braids and solder to the antenna ground pads (see end pic above). To do this, you need to strip about 10mm of the outer plastic off the end of the cable, then separate the very fine surrounding coax wire mesh then put some solder onto this. Then remove about 1mm of the plastic from the inner active wire and put a small amount of solder on this.
Next, pre-tin the antenna ground pads on the Feather, and the active antenna pad in the middle, then solder the antenna to these pads (separated coax to ground pads, active inner wire to antenna pad).

Step 2: Flashing the Firmware

For this you will need to have installed the Arduino IDE, and support for the target board type.

There are instructions on how to flash the firmware on this Github page: https://github.com/spleenware/ripple

Choose one of the 'GPS Tracker Node' targets.

With the board connected via USB cable, test that the firmware is OK by opening the Serial Monitor in the Arduino IDE. Enter 'q' (without quotes) in the send line, and press enter.

The serial monitor should reply with text starting with "Q: ..."

Step 3: Configure the Tracker in the App

To configure the tracker module and to actually track it, you need to install the Ripple Commander app. Currently only Android is supported. Download from Play: https://play.google.com/store/apps/details?id=com....

The app has two launcher icons. The 'Device Provision' one is just for when you are setting up your mesh network (repeaters, sensors, gateway, etc). The tracker nodes just need to be assigned a unique Id (between 2 and 254), and have their encryption keys generated. Just click on the 'NEW' menu on the toolbar, and enter the Id and name for the tracker, then click SAVE.

The tracker should now be in the main list. Tap on the 'chip' icon to the right, to go the 'Programmer' screen. Connect the tracker board via USB-OTG cable to the Android, then tap on the 'PROGRAM' button. If all goes well, then there should be a message saying 'Done', and that you can now disconnect.

Exit back to the Android launcher, then tap on the main 'Ripple Commander' launcher icon.

This is the main UI of the app, where you can chat with other 'pager' users in the network (who use the Ripple Messenger app), plus monitor your special nodes, like repeaters and the GPS Tracker nodes. Tap on a tracker node in the list, and you should see the device status screen (see second screen-shot above). Tap on the tracking option 'LIVE TRACK', and you should then be able to monitor the live location of the module.

The 'Map' tab will show a map pin for each of the tracker modules currently being tracked.

Step 4: NEW: Geo Fence Alerts

The latest firmware now supports Geo Fence mode. In this mode you select a geo region (which you define in the Map tab), and just get alert messages when the device goes in or out of the region.

First, switch to the Map tab, and tap on the '...' menu in the toolbar, then select one of the 'New Region' options (circle or polygon).

Circle: long-press on the map where you want the center of the circle region should be. Then tap on the '+' and '-' floating options to the left to increase or decrease the size.

Polygon: long-press each of the points in the polygon on the map. To undo the last point, tap on the 'x' button in the floating options to the left.

For either, once you have finished defining the region geography, tap on the green 'tick' option then enter a unique name for the region.

Back in the 'Home' tab, tap on the tracker item in the list, to go to the tracker status screen. Now select the 'GEOFENCE' option under Tracking, then select a region from the list. If all goes well, the status will update, and the tracker device will send alert messages when it goes in or out of the region. See the 'History' tab for the alert messages.

Step 5: (Optional) 3D Print the Case

This case can nicely house the feather and GPS: https://www.thingiverse.com/thing:3947782

It also has a holder for the antenna.

Above is a picture of my dog with a tracker attached to here collar :-) (the first beta tester of the system!)

Step 6: Feedback

Let me know if this has worked for you, or if you encounter problems. The feedback is very welcome.



Scott Powell.

Be the First to Share


    • Instrument Contest

      Instrument Contest
    • Make it Glow Contest

      Make it Glow Contest
    • STEM Contest

      STEM Contest

    8 Discussions


    5 days ago

    I have now uploaded a new firmware binary for the TTGO T-Beam board (with integrated GPS). See the Github link for details.


    20 days ago

    Great project, thank you for sharing!!!!
    If I want to connect 2 or more modules for longer distance - can I place in between this modules other 2 or 3 for mesh/trasmit text.
    In this case do i need to permanently connect it to phone or just set up and leave?

    1 reply

    25 days ago

    Awesome - and dog tracker is a great idea as we seem to have a lot of loose dogs in my area lately.


    5 weeks ago on Step 6

    Awesome project thank you! Two questions, one what is the dimensions and weight of the tracker in its case? And two, assuming you setup a typical Lora diy low cost base station at your home what distance would you reasonably expect this to reach? I know there's a ton of variables in that but just so generic guesses would be very interesting. Thanks again for the sweet project

    1 reply

    Reply 5 weeks ago

    It weighs 25 grams without the battery, 38 with the 450mAh lipo. the case is 16x28x63mm. Range varies a lot. I did some tests driving around in my car with one radio up on a hill, and got about 5km. If you put even just one repeater somewhere elevated it increases the range enormously.


    5 weeks ago on Introduction

    Fantastic project, excited to try it. Any rough thoughts about the battery life/duration under normal use? Awesome thanks for sharing! -Eric

    1 reply

    Reply 5 weeks ago

    I don't have any hard data, but the little 450mAh lipo would be good for at least 4 hours (at a guess). You could attach an 18650 Li-Ion cell and get more than a day.