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.

Wednesday, 19 July 2017

3D Printing Pen Tubes / "Shells"

I tried an idea I got from a souvenir a friend showed me, and designed a Pen tube or "shell" that is made to accept standard Bic pen refills.

Inspired by the iconic phrase "END OF LINE" in the original TRON, I think it turned out quite well.


This was printed on a Raise3D N2 using eSUN PLA+ filament.  Raise3D has an absolutely fantastic house-brand premium PLA which is too expensive to ship to Canada, and it's only available direct from Raise3D.  However, I've found eSUN PLA+ (I order from Filaments.ca) to be a close second.

I think it would turn out even better on a resin printer like the Form 2.

If you want to make your own, a Bic pen insert is a 3.95mm diameter shaft 9mm long (this is the short area directly behind the cone that is the tip -- it goes into the tube and is held by friction.)  The ink tube area behind is close to 110mm long.  Make some 3D text, put a cylinder through it to stick the letters together like a shish kebab, then make a void inside with the measurements above. It worked first time for me, hope you have the same luck!

Wednesday, 7 June 2017

Making a "Filament Out" Alarm for a 3D Printer

Mister Screamer V2.0
I came up with a new design for a filament alarm that let me continue large prints even if the filament spool runs out. I called it Mister Screamer and I showcased it on Hackaday.com in an article called Let's Prototype! This Filament End Needs 80 Decibels.

I also refined the design further in a followup entitled Improving Mister Screamer; an 80 Decibel Filament Alarm where I solved some of the problems I discovered the first time around, and changed the operating principle. I used this project as a means of showcasing the iterative prototyping process.

The device works by hanging from the filament line like an ornament or pendant. When the filament runs out, the device falls to the tabletop where it begins shrieking loudly, alerting a nearby operator that it's time to change the filament spool. No modifications are needed to the filament or to the printer. There are some images below; for more details, visit the links to the original articles above.

Tuesday, 14 February 2017

Cat Not Impressed by Lightsaber Project

I made myself a Lightsaber project and took some video, the cat makes her opinion quite clear.


Wednesday, 18 January 2017

How to Fail at Contracting Regardless of Skill

I recently wrote an article relating to consulting work, entitled Ways to Fail Regardless of Skill; part of a series of articles on Hackaday called Life on Contract. It's an article based on my belief that better quality learning can come from sharing failures framed as learning opportunities, rather than stories of success.

Click here to read Life on Contract: How to Fail Regardless of Skill

Thursday, 27 October 2016

How I Repair Broken 3D Printed Support Structures On The Fly (and Salvage Big Prints)

I do 3D printing, and sometimes I do large or complex 3D prints.  In these, there are sometimes large support structures as part of the print.  These are breakaway pieces that support parts of the model. They are intentionally fairly fragile - they are only as stiff and as thick as they need to be.  They are made to be strong enough to do the job, but also fragile enough to be easily broken away.

Unfortunately, sometimes they break accidentally during the printing process.  Maybe the print head pushed in the wrong spot - unwanted things can happen over 24 or 50+ hour print jobs.  It's bad news, because at worst it means the job is ruined.  All that time and plastic so far might be down the drain.

On the left is a support column.  It looks solid, but it's really just a very thin zigzag ribbon, and the taller it is, the easier it tends to be to snap.

I discovered a tool that is really useful to salvage some broken support pieces. On a longer print, all you really need to do is put some support and anchoring back where there is none.  If you provide some structure and stability, and the printer has enough printing left to do, then the support should slowly be able to pick up where it left off.  If you can anchor things, or at least provide some foundation without interfering with the new layers the head wants to lay down, then you can probably salvage the print.

At first I tried to use various glues - but they never really worked.  Either they are too hard to do a get-in-get-out application (because you need to dodge the print head), or they are too messy, or they are too hard to apply where you need, or they don't set quickly enough.

I eventually settled on a product called Bondic. It's a small dispenser of UV-curable resin.  The resin is a clear syrupy fluid that sets hard when it's hit by UV.  It hits all the bases for an emergency fix. 

Monday, 26 September 2016

3D Printed Laser Cutter Bed Clips

A short while ago I needed to laser cut a large number of 1/8" plywood panels.  Normally this would be no problem, but many of the panels were warped in various ways and would not lay completely flat.  This is a problem for laser cutting because it makes the cuts a little off, and sometimes the focus would be off enough to not quite cut through the material.

At the time I solved this by taping the edges of the panels down to the knife edge table, but that was really inconvenient so I came up with a solution for next time.  (A knife-edge table is a row of triangles - points up - that you lay a material onto when laser cutting it.)

I designed and 3D printed some clips that would snap down and grip a section of the table, and a little tab that would keep the edge of material held down tight.  It's specifically sized to work with 1/8" thick material, but they are low-profile and re-usable.

Printing on my Raise3D N2.
The top of the "V" has a tab to hold material down, the mouth of the "V" snaps over the table support.