Friday, 20 October 2017

Less is More: The Low-Tech High-Tech Cat Tracker / Cat Finder

Lunchtime in the woods
My cat and I spend time together outdoors. She loves being outside and I love being out in the woods with her while she gets a chance to just be a cat. We stick together, but it's not always so easy for me to see where she is. I decided to try to apply a technical solution to this. I don't have a full solution, but in the process of testing I ended up with a low-tech application of high-tech parts to solve some of my needs.

I created a remarkably functional cat finder without soldering a single wire nor programming a single line of code.

She blends in really well.

The Problem

Because she blends in so well and is much more mobile in the woods than I am, I sometimes lose track of her.  For example, she leaves the trail and I'm not sure if she's sitting six feet away, or if she started prowling around in some direction. Also, there's the worst case scenario that we somehow get seriously separated.

These issues led me to start to think about a Cat Tracker/Finder and what I wanted it to do:

  • Help me locate the cat when outdoors together if I lose track of her
  • Help me find the cat if we get seriously separated from one another and she is lost

There are many cat and pet tracker products and projects, but many are not complete, and most of them do not do what I want them to do anyway. They mostly log your pet's activity (for later downloading and analysis). The project that seemed to get the closest to what I had in mind was this one, but it was clear I would need to design and investigate on my own.

Towards a Solution

When I started thinking about a design that would solve ALL my problems, I came up with a wireless GPS tracker that was able to communicate its position wirelessly and long-range. But before going down that road I tried something simple: a bluetooth low-energy beacon on the cat's collar. At first I was just intending to measure BLE range in the woods, because green leafy and woody things are good at blocking radio signals, but I stumbled onto something useful in the process.

I ended up using a BLE Trackr,
but not for its intended use.
I had gotten a device called a Trackr Bravo as a gift, but found the Trackr and its companion app to be useless. It was not useful for tracking household items like keys or remotes, let alone a living creature in the bush. However, it turns out that the device itself could still be made useful. All I needed to do was turn it on -- no need to pair to it or communicate with it in any way -- all it needs to do is broadcast, which it does automatically.

Then, on my phone I installed a BLE Scanner app. All it does is scan for and display BLE devices in the area, and display their names and signal strengths. The Trackr shows up with the name "tkr" and a signal strength.

Originally I intended only to use the setup to measure BLE wireless ranges in leafy brush, but I quickly realized that the BLE Scanner plus a "bare" and un-configured BLE beacon were in fact a highly effective short-range Cat Detector. It ended up being remarkably useful!

The Low-Tech Solution

The combination of BLE Scanner plus a "dumb" BLE beacon is powerful. If I lose visual track of my cat and am not sure whether she is in the immediate area or not, I can fire up my phone and start the BLE Scanner. If I see a "tkr" device, with any signal strength at all, I know that she's nearby even if I cannot see her.

If I don't get a signal, I can hold the phone vertically as if I were taking a photo and point it in different directions. My phone's bluetooth antenna is slightly directional when doing this -- it has a little better reception but mostly only in the forward direction. (I discovered this because standing around in the bush while your cat enjoys being a cat gives you a lot of time to discover these little details.) The phone's bluetooth antenna can therefore be pointed somewhat in different directions to try to pick up the signal.

If that still doesn't get me anywhere, I know that she must have moved a little further away without me realizing. Slowly walking a short distance up and down the trail (first one way, then the other) while keeping one eye on the phone usually does the trick. Failing that, start an outward search pattern while watching for "tkr" to pop up on the scanner.

Usually though, I find her before it comes to that. By the time I am stomping noisily through the bush, she comes to investigate the noise and see what my problem is.

If all else fails, I cast a summoning spell. (In other words I call her name, I make kissy sounds with my mouth which is "the food sound", and I rattle a treat bag.)

Lessons Learned 

An important thing I realized while testing and prototyping was that I didn't actually need to know my cat's exact location. Both in a practical sense as well as for my own mental well-being, simply knowing that she's somewhere in the immediate area is good enough. Just by using a BLE Scanner app and a "dumb" BLE beacon, I can tell whether she is near. This also tells me whether she has moved or not (i.e. if she was near before, it tells me whether she is still near. If not, she is on the move.) By familiarizing myself with my phone, I discovered I can hold the phone in a particular way to use the antenna directionally to help with finding a signal.

Previously, I had no way to know anything about her position that my eyeballs could not tell me, and as you can tell from the pictures at the top of this post, eyeballs are a really, really limited way to keep track of a bush-colored cat in the bush!
No nearby devices - she is not in the immediate area (up to 15-25 foot radius)

There we go! Picked up the signal. She's nearby, and that's really all I need to know.
This solution doesn't address all my wants. It wouldn't be of very much use if we get seriously separated and lost from one another, but it's remarkably useful for what it is: two high-tech devices used in an extremely low-tech way. The accessibility of the parts and the interaction between them is where all the value comes from, and there's a good lesson in there about how problems get solved and why some solutions are useful and others aren't.