It is with no small amount of sadness that I have to report that, in the final stretches of the build of Wildcat, I've inadvertently managed to set my progress back for a few days.
As mentioned in my previous post, the addition of a new member of the family hasn't been without its issues, with Apricat being somewhat liberal in her use of tooth and claw to show her distrust of us.
To help combat this I devised the idea of an incident board, such as you'll see in factories showing how long it's been since the last accident, but designed to show how long it's been since Apricat last misbehaved.
The plan was to use an Adafruit Feather Huzzah and a 16x8 LED matrix, connected with a physical button, and a super cute cat photo frame we found in Homesense, to build a ticker which used data persisted on Adafruit IO to calculate and display how long it's been since the button was last pressed.
Arguably, rather than relying on the cloud for something trivial like this, I could have done the entire project locally, using any number of development boards that support non-volatile memory with a real time clock - but I don't have any of those things.
OK, so that's a bit of a lie.
I could easily have based the project on a Raspberry Pi Zero, which would have solved the persistence issue, with the addition of an RTC PiZero addon solving the clock problem, but that would mean writing the project using Python, and figuring out how to make it start properly on boot - and honestly, do we really need an entire Debian-based operating system for something as simple as recording a time and powering an LED display? It just feels like overkill.
Alternatively, the use of the Feather M0 Adalogger I have, combined with a DS3231 Precision RTC FeatherWing, would also solve these problems and let me use the Arduino platform - but that would prevent me from doing fancy things like Alexa integration...
Not that I have any plans to do that, but I can if I want.
Truth is, I wanted more experience logging data to the cloud from remote devices like this to help with a project I have planned for the future, and, well, I'm a web guy - I'd never live it down if I didn't make it smart.
Anyway, back to this morning, and I'm in the final stages of assembly, having just soldered the button onto the back of the frame. I needed to test it with a power unit that wasn't my laptop, so I grabbed the first spare USB charger I had spare and plugged it in.
Little did I know that by this point, it was already too late.
I had a couple of flashing LEDs on the board, but nothing else. Confused as to why it wasn't working, I tried plugging it back into my laptop, and while it booted the display, I wasn't able to keep it running for more than a couple of seconds, nor did the Arduino software recognise it was connected, and something on the board was getting very hot.
After a few minutes searching I found the following on the power management page for the Huzzah:
The power unit I'd chosen at random was the official Raspberry Pi 3 power adaptor, one which supplied the same 2.5 amps as the CanaKit one in the warning.
Basically, I fried the unit.
This sucks, especially when I was in the final stretch of assembly - but at least I've learnt that not all USB power supplies are the same, and will be far more selective with how I power my projects in the future.
Anyway, thanks to a generous donation by Lucy I've ordered another Feather Huzzah, so I'm hoping to be back on track soon. Once I've finally completed the assembly, and have proven to myself that it all works, I'll make another post explaining some of the more technical aspects of it.
Until then I guess we'll all have to sit here frustrated at being so close, but being denied success due to something really dumb. Oh well.
UPDATE: Wildcat is live!