Quick update on my project to make a Raspberry Pi-powered taiko-playing tanuki clock: I redesigned the character into a seated position, both to give more emphasis to the clock, and to make it a little bit more ambiguous where he got the taiko drum from.
I’m happier with this version, but while it makes some things theoretically simpler, it introduces a bunch of new problems. The most obvious is that it’s just so much bigger. It no longer fits on my printer, and it’s not immediately obvious how to cleanly break it into smaller components. Plus the test prints will take forever — a quick test of just the taiko drum was predicting a 15-hour print time.
Also, having the taiko oriented horizontally means the arms have to rotate at an angle, and I haven’t yet figured out exactly how I can make that work. In addition to wishing I’d had some electronics classes in school, I wish I’d taken some mechanical engineering.
(I did a quick test having the taiko vertically oriented, and the tanuki standing behind it, but that would’ve made the thing even bigger).
One thing I’ve realized trying to redesign the model is that I follow some depressingly talented artists on Instagram. I’ve been hearing for years the complaint that Instagram is bad for people’s mental health, but I’ve never understood that. I can’t remember ever seeing an “influencer” and feeling inferior or wishing that I had any single aspect of their life. (Unless they’re making me sad that I’m not at Disneyland, which is something that it usually pretty straightforward for me to correct). But seeing some artist post a photo of their “sketch” that’s still infinitely better than I’ve been able to make after hours of work, just makes me feel extremely amateurish. And I am an amateur, so fair enough, but it’s still kind of dispiriting.
Start of a hopefully ongoing series about my process making an expensive and over-complicated version of a cheesy novelty item
I’ve always been ambivalent about developer diaries, for a few reasons. First is that it always seems cooler to preserve the mystery and wait until I can say, “look at this thing I made.” Second is that I’ve got a lousy track record in terms of actually finishing projects, and it’s a lot more demoralizing to have to abandon something once you’ve talked about it, rather than letting it drift off unmourned by anyone other than me. And finally, there’s a question of expertise. I hate the idea of presenting anything I do as the “right” way to do it.
But that’s kind of selfish. Any time I’ve tried to take on a new hobby or skill, I’ve used tons of online tutorials, blog posts, YouTube videos, and GitHub repos, all from people who’ve taken the time to share what they’ve learned. Plus, I’ve often run into a frustrating disconnect when looking for information online: tutorials often skip over the details I need, presumably because they’re assumed to be so basic as to be common knowledge.
So I’m going to try to detail my progress making my current project, which is a Raspberry Pi-enabled clock, with a taiko-playing tanuki.
I want to make a Raspberry Pi project that’s probably beyond my skill level
Several years ago, I bought a Raspberry Pi and a fairly cheap car-rear-camera screen to use as a display, with the intention of making my own BMO. I never got around to making anything beyond the “assemble the components” stage, and I’d lost interest in Adventure Time and the project itself by the time the components were already outdated.
But I never completely lost the desire to do something with a self-contained Raspberry Pi and display. A couple of years ago, I made a Star Wars-inspired light-up box for a wedding proposal stunt, and I had so much fun doing it that I want to take on another more advanced project.
In the Smuggler’s Run ride in Galaxy’s Edge at Disneyland, there’s a short pre-show sequence (at about 5:15 in this video) right as you’re about to enter the cockpit, where Hondo Ohnaka appears on a multi-screen display and reminds you what the mission is and what the different crew roles are supposed to be. I was immediately fascinated by that display, both the motion graphics and the hardware itself. I’m now convinced I want to make that. Or more accurately: a small, desktop-friendly enclosure inspired by that.
In a perfect world, I would’ve already built it, and this blog post would just be pictures of it and an overlong description of how I made it. But while I’d rank myself as an “advanced beginner” when it comes to 3D modeling and printing, I’m still an absolute novice when it comes to assembling anything involving electronics.
Here are the components I’ve gotten so far (some from a separate Untitled Goose Game music-and-sound-playing toy project that I’ve pretty much lost interest in). It’s:
All came from Adafruit.com, which is a great source not just for the components but tutorials on how to build their sample projects. Their tutorials are great, as long as you’re building what’s shown. The problem is that I never know how to depart from their tutorials and make something new. I’ve had enough practice now that I’m fairly comfortable doing stuff like soldering LEDs onto an Arduino shield, but don’t know how to bridge the gap to wiring individual buttons, potentiometers, sensors, etc that haven’t come pre-assembled.
I get the sense that the only real way to get comfortable with working with circuitry is by tinkering and experimenting. The problem is that whenever I’m in a situation without an Undo menu option, things tend to fall apart around me. Blowing out an LED isn’t a tragedy, but ruining a $40 computer or display would be pretty upsetting. It seems like going from the “make a single LED light up in response to a button” demo, to the “have multiple illuminated buttons, displays, and knobs all inter-communicating” stage would require some knowledge of how resistors work and such. I feel like an outlier based on the examples and tutorials I’ve seen so far, in that I’m pretty comfortable with programming and soldering, but don’t know where to start when it comes to designing or assembling the circuit.
So I’m hoping that someone reading this with more experience working with electronics will be able to point me to a good resource or resources for bridging the gap from beginner to advanced-beginner. Some questions I’ve got before I even get started:
I’m assuming that the Pi and the main display could function as a unit, but all the inputs and external display would need to be run from a separate microcontroller. Is the Feather sufficient for that?
The PiTFT leaves some of the Pi’s GPIO pins available, according to the specs. Would a microcontroller for the buttons & displays be wired directly to the PI?
For simplicity’s sake, I was hoping to power everything with a USB cable connected to the Pi. (In other words, skipping this thing’s potential as a mobile device). Would the microcontrollers need separate power, or can they be powered via the Pi as well?
Would each display require a microcontroller, or can they be run from the same board as the buttons & potentiometer?
Is it madness to assume I could use that Perma-Proto board in the final project? Or would I need to look into having an actual circuit board made?
What’s the best way to divide and conquer with a project like this? My first instinct is just to try to hook up the Feather to one of the illuminated push buttons and read/write from the button input and to the LED. Does that just naturally scale up to adding more buttons and a potentiometer, or would that significantly change the circuit and the power requirements of it?
Suggestions, warnings, tutorials, explanations are all welcomed. I’ll keep updating the status of the project — assuming there is anything to update — on this blog.
Two unexpected side-effects of this extended shelter-in-place order: there’s more time for playing board games, and 3D printing is more practical since I’ve been at home to keep an eye long-running prints. Taken together, it’s been the perfect opportunity for a project to re-learn Blender and get more experience with 3D printing. (Which up until now, has seemed like more of a time investment than it was worth, unless it was for a very special project).
One pleasant surprise of the past couple of months has been discovering the game Godzilla: Tokyo Clash, published by Funko and designed by Prospero Hall. We first heard about it via a Watch It Played video, and before we even got to the ending, we’d already decided it was a must-buy. After some initial confusion over the rules — almost entirely the result of my assuming the game was more complicated than it actually is — we were able to enjoy it as a light-to-medium-weight beat-em-up game of kaiju flinging tanks and buildings into each other, and flinging each other into buildings. Giving each kaiju a mostly-individualized deck of cards with special powers adds just enough complexity and varies the pacing. A game really does play out like the last 20 minutes of a Godzilla movie, with monsters maneuvering into place and then unleashing a barrage of wrestling moves combined with atomic breath and then clubbing their opponent with a train car.
(Incidentally: Prospero Hall has been killing it with board game designs lately. They’re a Seattle-based design house that seems to focus on making licensed games that don’t feel like uninspired cash grabs. Disney Villainous is more interesting than a Disney-licensed game needs to be, their Choose Your Own Adventure games are a nostalgic take on escape room games, and the result is a ton of light-to-medium-weight games that are mass market enough to sell at Target, but interesting enough to actually get more people into the hobby. Plus their graphic design is flawless throughout. Anybody still just publishing yet another re-skinned version of Clue or Monopoly should be embarrassed).
Tokyo Clash has a 1960s Japanese movie poster aesthetic that is just perfect, and it comes with detailed well-painted miniatures of the four playable kaiju. There are also some simple but well-themed miniatures for the “large buildings” you can fling your opponents into. However, the game uses cardboard tokens for everything else. They’re fine, but they kind of undercut the atmosphere of seeing these monsters marching around a city, tossing things at each other. I decided to use it as an excuse to re-re-re-learn Blender — every time I dive back into the software to model something, I forget everything about how to use it within a month — and make 3D-printed replacements.