How Much Exercise Does an Indoor Cat Get?: Week Three

This is the boring/awesome engineering post.  But first, data:

2013-01-01 Snickers fitbit week three
Daily breakdowns (24 Dec to 31 Dec)


2012-12-25 to 2012-12-31 (week three) summary
Week summary (25 Dec to 31 Dec)



  • Sunday (30 Dec) was Snickers’ most active day yet, with 5477 “steps.”
  • Not much to report this week, data-wise.


  • Mondays remain the charge-the-Fitbit day, usually from 7 or 8 until 10 P.M.

Modifying An Undercover Mouse

As I said last week, I would imagine that Snickers would grow bored of her new Undercover Mouse if it were just left on 24/7, so a little modification is needed to make it turn on and off on a schedule. “Fifteen minutes on, two hours off, repeat” sounds reasonable.

I would have liked to just wire the UM up to an AC adapter, put that adapter on a simple vacation timer, and be done. Sadly though, turning on the UM is a two-stage process: 1) connect power (usually batteries) and 2) use the button on top to select a mode (Low/Medium/Fast/Random). I could have automated this process using relays and such, but at that point it would just be easier to bypass the circuit board completely and directly control the motor. Plus, direct control would allow me to tweak exactly how the toy works. Direct control it is, then.

Undercover Mouse circuit board

The guts of the UM are pretty simple: three AA batteries power a circuit board that controls a typical 5V hobby motor, which is in turn hooked to a few gears and ultimately to a little nub to which the wand attaches. After sampling the voltages across the motor leads when in use (Low = 2.4V, Medium = 2.6V, Fast = 2.7-2.8V), I snipped them from the circuit board, routed them through a convenient hole in the battery case, and soldered them to a single pair of 24 gauge wires that I pulled from an old piece of CAT5. (A note about heat shrink tube: wife’s hair dryer is apparently not hot enough, blowtorch is awesome but perhaps a bit too hot; even with an aluminum foil shield the base’s plastic was superficially dulled a bit.)

UM drive wires

I taped the wires to the floor, and ran them into a SainSmart L293D Motor Drive Shield, a preassembled version of Adafruit’s fantastic mshield. With all the messy hardware done, I then wrote a nice little Arduino program to control everything.

UM in basement

My Arduino lacks a real time clock, so we won’t be able to exactly pin activity from the Fitbit tracker to a particular session of Snickers playing with the UM. But with any luck, next week’s total activity numbers may show a slight improvement above the last three weeks of baseline.