GPS Cat Tracker

Hi, I want to make a gps recorder for my cat, to find out where she goes at night. I can’t find anything on the market that suits this use case (everything is either underkill or overkill)



Would pairing the Adafruit Trinket 3.3V with the U-blox NEO-6M GPS Module be on the right track? Paired with a lithium battery, In basic terms I imagine I could record the relative location every minute or so to the 5k of flash ram on the microcontroller, then just read that off via usb when the cat returns? (should be space for a good few hours of recording)



I’ve not really done a project like this before, I’ve done robotics and a lot of programming, but am relatively novice when it comes to electronics.



Would it be a simple case of connecting the pins on the gps module directly to the pins on the microcontroller?



Please let me know if there is a better place to ask detailed questions like this. Thanks!

2 Likes

Hey Matthew,

This sounds like a great project, that’s basically all you’d need too! If you wanted live data to track your cat while it’s on the move, then you would need some sort of communication to send it back to you e.g. Cellular, LoRa etc. but for an application like attaching it to your cat, I’m sure you’re going to want to keep it as small a form factor as possible!

However, something like the Trinket will likely not be suitable for this. It has 5.25KB of Flash Memory, but that is just the memory for the Sketch that you will be running. It actually only has 512 bytes of SRAM, which is storage for variables.

A relatively accurate GPS coordinate will be something along the lines of a value with 5 decimal places, something like -32.XXXXX, 151.XXXXX. The example there is already 20 bytes, which you could truncate down, but it will still give be quite a large piece of data. That’s only 25 readings over the course of a night! You also need to consider all the variables set for the other parts of the program.

I’d suggest either looking into a different microcontroller, something like the Arduino Micro, which has 5x the SRAM or look into some sort of onboard storage, like an SD card, this will of course however increase the size of the project by a little bit.

Hope this helps you get started!

2 Likes

Hi Matthew,

You’re on the money with the ublox. If you’re willing to forego the safety of the arduino dev system, checkout the A9G. Has pretty much every feature you could want. Tack on a micro sd card module and you’re golden. Fair bit of work on the coding side though.

1 Like

Hey all,

Oliver has made a great suggestion there! The A9G is a GPRS (2G) dev board. Unfortuantely, the 2G network has been dismantled in Australia, so the cellular communication functions of the board will no longer work, however that board does have GPS functionality as well as an micro SD card slot, so an extra SD module will not be needed!

If you can get around not working with the Arduino IDE (the A9G does have some documentation but it’s not super rich) then I think this would be your best option considering all the factors of the project you mentioned!

1 Like

Thanks for the help!

With the A9G, I’ve found the c sdk, and its documentation - which looks like enough to get going. But I can’t find the toolchain anywhere (CSDTK4.2) all the links seem to be broken.

Has anyone had experience using the A9G? more generally, what could I expect in terms of power draw, and what sort of battery should I use?

Thanks,

Matt.

Hey Matthew,

That’s correct, all the links are dead. It looks like they’ve solved it in this GitHub issue below, please let us know if you have any issues with it.

Wow, that was the easiest toolchain setup I’ve ever encountered!

Thanks for that, couldn’t for the life of me find it.

One last question. It seems you need a USB to TTL/UART module to upload the program. Do you have one you’d recommend for this device?

1 Like

Hi Matthew,

I know that AI Thinker recommends using one based on the CP2102 as it’s capable of providing higher currents than say a CH340 or PL2303:

https://ai-thinker-open.github.io/GPRS_C_SDK_DOC/en/hardware/usb-uart-module.html

I’ll have a dig and see what I can find for you :slight_smile:

Hey Matthew,

Oliver’s right, the USB to TTL module you’d need should be based on the CP2102. I read through both the datasheets and checked some discussions online and the CH340 doesn’t provide enough max current for most applications. That being said, the CP2102 gets much higher (max source of 30mA compared to 500mA) The part I’ve linked below should do the trick :slight_smile:

2 Likes

Thanks for all the help guys.
I was thinking of pairing it with your 400mah li-po battery, as that seems to be a good size to match. Do we have any idea how much juice this A9G board might pull with the GPS? I noticed it has a low power mode, and would be happy with limiting GPS readings to say, every 5 mins. But am hoping to get 8 - 24 hours run time.

Also, would I need a battery charger? or can the battery be charged via the a9g board?

1 Like

Hi Matthew,

The A9G has onboard charge management, so you can charge the battery by just connecting the A9G to USB.

As for power consumption, it’s capable of pulling up to 2A instantaneously (though most of that is for mobile communications). Default power on is ~60mA. Low power mode consumption is 216µA. The GPS will pull about 60mA.

Here’s the link to the datasheet:

The section you’re looking for is 3.4. It’s in Chinese, but Google translate does a fair job. I find that it works best if you use the phone app and set it to scan mode.

1 Like