GPS Pet Tracker and battery budget

I am thinking about building a GPS pet tracker with LoRa. I have identified components that should work but the biggest issue keeps coming down to battery life.

I will have the components go to sleep when the animal is not moving. That should be easy. However, I don’t think that will be enough. What I really want is a way to determine if it is inside the house or outside. i.e. GPS should not turn on indoors.

The 2 ideas I have are:

  • Low power radio signal indoors so that when motion is detected, the unit wakes up and listens for indoor signal and skips GPS if found.

  • Something like invisible pet fence at each doorway. When approaching a door, the circuit would pick up the signal and wake the processor.

I like the second one because it could potentially keep power usage very low. Assuming the detection circuit used very little power of course.

I guess I was carried away describing my idea but not actually asking a question.

What I am interested in are ideas about how I would actually accomplish the second item?

For example, an antenna that was tuned to a frequency broadcast from a wire wrapped around the door frame? Otherwise I would need a tank circuit tuned to frequency then op-amp to boost the signal but with very low amplifier current draw.

What parts are you planning on using to do this?

There may be things you can modify on your parts to reduce current and prolong battery life. You’re probably better off not using a transmitter at a door to turn the project on and off since that’s going to be drawing power all the time and reducing your battery life.

I think what you’re going to want to do is use a GPS that has a coin cell battery backup so that it can resolve it’s position quickly once powered and then have your controller shut down the GPS and LoRa radio when not in use. Then periodically have the controller wake up, apply power to the GPS, get a position fix and then turn on the LoRa radio and broadcast the position. Once that’s done, shutdown the GPS and LoRa radio and go back to sleep.

I didn’t fill in all the details to start. Here is the basics:

Adafruit Feather 32u4 RFM95

GPS - FGPMMOPA6H

vibration sense switch to detect motion

After some number of seconds of no motion and if indoors, I want everything to go into deepest sleep possible.

One concern is that I won’t be able to fit all the code I need on the 32U4 and will have to go to a “bigger” processor that uses more power.

I am fairly certain I need to detect indoor vs outdoor. If the unit is indoors there’s no reason to turn on the radio or GPS and that will save lots of power.

The dorway antenna is a long shot for a number of reasons but just wanted to toss it out there in case there was a simple solution.

Most likely I will end up using a second radio inside the house that transmits with low power and narrow LoRa bandwidth. As long as the tracker can hear the low power signal it will stay in listening mode with GPS in standby. If it can’t hear the low power signal it will switch to communicate with the high power radio with antenna on the roof.

When going out for walks, the GPS will turn on and get a satellite lock. Normally it will get a lock and transmit data back once per minute at low power. In the event of a runaway dog event there will be a switch to press in the house to send a message to the tracker to go to “tracking mode” which would be GPS updates every 5 seconds and transmit at max power.

Lots of other pieces of course. Main radio will probably be connected to Raspberry PI with web server connected to the internet. Then will need to figure out how to connect to that with Android and plot GPS coordinates on a map.

You might have a look at this tutorial on [reducing power consumption. It’s written for a ATmega328 so not all the code will work on a 32U4, but it might point you in the right direction.](https://learn.sparkfun.com/tutorials/reducing-arduino-power-consumption)