LoRa GPS Tracker

LoRa is a newish Internet Of Things communications technology.  It promises long range (LoRa), transmits a small amount of power and is designed for sensors that may need to operate from batteries for very long periods of time.  The air protocol works at very low received signal levels, with down to -148 dBm claimed with low data rate transfers.

There are several LoRa modules available for very reasonable prices from Ebay.  I purchased 3 x AIThinker RA-02 modules for $20.  These modules use the Semtech SX1278 chip which packs in an amazing amount of functionality.  The module is capable of +17dBm transmit, with a boost mode for +20dBm (100mW).

One of the LoRa bands is 433MHz, in the 70cm amateur band.  With an interest in a low power GPS tracker that could be used as the “last mile” for APRS and hiking, a test transmitter and receiver were designed and assembled.

LoRa is intended to work in a network topology with nodes that talk to field units (LoRaWAN), but there is a peer to peer mode using the LoRa protocol that has been made available by the Radiohead driver collection.  I used Arduinos for the control side of things as there are many drivers and sample applications available.  The GPS is a UBlox 6M unit, not the smallest, but works well.

The system was set up for a 125kHz bandwidth and a spreading factor of 11, which gives a data rate of 500 bits/sec.  Initially, I tried a spreading factor of 7, giving a 5000bit/sec. data rate and this worked for a couple of kilometres with the receiver sitting on the car dash.

For a more controlled test, I set up the transmitting unit in the back yard connected to a mobile whip that was about 3 metres above the ground.   The receiver was packaged up in a small speaker enclosure and fitted with an LCD display so I could see the decoded packets.

I went for a ride on the bike with the receiver and chose a distance 5km from the transmitter that was non line of sight to see what would happen.  To my surprise, packets were decoded, a few were missed depending on antenna orientation (a 70cm portable rubber duck).

Here is an elevation plot of the radio path:




As you can see, it is not line of site.

Here is the GPS tracker:

GPS Tracker

LoRa Receiver

Here is the receiver:

Power for the tracker is supplied from a single 18650 LiPo cell.  A 3.3 volt supply is used for the Arduino Pro Mini, Neo 6M GPS and RA-02 LoRa module.

To save power, the GPS is powered up every minute at the moment for testing.  A REG103 LDO regulator with shutdown is used for turning off the GPS receiver and RA-02 between transmissions.  The initial cold fix takes about 30 seconds inside the house.  Subsequent warm fixes are very fast at about 2 seconds.

With the Arduino sleeping between the 2 minute GPS reports, the cell should last about 15 days.  The idle Arduino Pro Mini sleep current @ 8 MHz is about 2 mA.  The GPS uses about 60 mA and the LoRa transmit, about 120 mA.   It should run for more than two weeks hours on a 2500 mAh cell (providing GPS signal available, if not it will spend longer searching).   After a warm start, the GPS only takes a couple of seconds to acquire.

With the LED removed and the regulator bypassed, the sleep current should be even lower.

Tracker packaging

For the moment, the tracker is packaged up in a section of PVC pressure pipe with the cell.  This is quite robust and water resistant although not very efficient in terms of space.

If I can source a robust enclosure of the right dimensions, it could be much more compact.

PVC Pipe Housing

The housing turned out to be far to big, so I found a standard ABS enclosure that was about the right size and rebuilt the board to fit.  Unfortunately the 2500 mAh cell was too big for the enclosure, so I had to settle for a 1000 mAh cell with a rectangular footprint.

This cell fits very well, but the run time is now reduced to about 1.5 weeks, assuming a report time of 3 minutes.  The idle current has dropped again by reducing the bleed current from the Arduino port pins to the LoRa module.  The port pins are now all set low before entering sleep mode.  The idle current is now sitting just over 1mA.

New smaller case

Here is the path profile of a GPS report from the tracker when the antenna was a mobile whip on the car and the receiver antenna, a J-pole mounted at roof height.  This one must be an exception as the path is not line of sight.

Link Path of approximately 10km

This entry was posted in Projects, radio communications and tagged , , , , . Bookmark the permalink.

14 Responses to LoRa GPS Tracker

  1. PH2LB says:

    With LoRA you can do great things. I have a full channel gateway installed for a few years now and have done various tests with it for my IoT prove of concepts. With good installation the coverage can be very good. Very often I take my own GPS tracker with me on my bike to check the coverage of my gateway and that of other gateways. In the Netherlands LoRaWAN and TheThingsNetwork is a big thing.

    Check out : http://www.ph2lb.nl/blog/index.php?page=lora-gps-tracker
    I just see that the picture is a old plot of one of the first experiments. THe current coverage can be found here : https://ttnmapper.org/colour-radar/?gateway%5B%5D=1DEE1033798F8DCB

    • vk3yy says:

      Hi Lex, that looks very interesting! The open LoRa network here has patchy converage unfortunately, but we have a lot of country to cover! There are some commercial networks with good coverage around the major cities. For the moment, I will be using peer to peer mode.

  2. Paul Taylor says:

    Very interesting Glenn. So you are thinking about a backpack beacon that the hiker carries, that reports hiker’s position using LoRa peer to peer back to a LoRa base node in your car, which could do the APRS to get your position data out to the wider internet?

    The variety and range of sensors is amazing. There’s a lightning sensor breakout (AS3935 Franklin Lightning Sensor) that warns you of the scale and distance to lightning. Something I’ve wanted to know on a few occasions before climbing that hill.

    • vk3yy says:

      Hi Paul, the motivation to build this originated from a need to track a piece of hardware in my local area (non amateur radio) although after seeing the performance of the LoRa air protocol, the next thing that came to mind was to use the tracker on my backpack and link back to the car while hiking. Of course, 70cm won’t work too well through thick scrub but a 2 metre version should be a bit better.

      • Paul Taylor says:

        The 70cm version would probably work in the clear, and by definition, if you are hiking into a summit, you’re going to get a clear path back to the car, in the end!

  3. Pingback: Opportunistic Hardware Acquisition | VK3ARH

  4. Pingback: Opportunistic Hardware Acquisition | VK3ARH

  5. Pingback: Lora Sensors | VK3ARH

  6. Pingback: Jpole for 70cm | VK3YY

  7. Marco says:

    Hi, the code used is available on github ? thx you, regards

  8. Predrag Levak says:

    I am interest to!!

  9. Randall says:

    You still tinkering with this? I’m trying to find as small as possible a Tracker for my drone. 100mw on 433mhz should suffice.

    de WW5RM

    • vk3yy says:

      Hi Randall, I haven’t done any more with it since the blog article. It shouldn’t be too hard to make it smaller, LilyGo have some good small platforms for LoRa with processor and GPS.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s