Craft Punk

by Thomas Brady in , , ,

A few years ago I started a new family tradition of making homemade Halloween costumes with my son, Liam.

No, not like

 A perfectly acceptable Halloween costume: two eye-holes punched in a sheet to make a ghost costume.

A perfectly acceptable Halloween costume: two eye-holes punched in a sheet to make a ghost costume.

Okay, I’ll skip to the finished products from the first couple years. Year one, a Creeper, from Minecraft:

 Liam as a Creeper from Minecraft

Liam as a Creeper from Minecraft

I don’t even remember what started this tradition. I don’t remember whose idea it was, or how I decided to use cardboard as my medium (though that’s pretty much the most obvious decision ever), but I do remember how much fun it was working with cardboard. I found it to be most of the pleasure of 3D printing, without as much waiting and/or disappointment.

So the first year was pretty basic. Sadly, Liam got sick on Halloween that year and didn't get to actually go out in it. He did get to answer the door for trick-or-treaters, at least.

The second year we upped our game a bit. This one features glowing eyes, and a web app for his phone that randomly plays Enderman sound effects.

 Liam as an Enderman, also from Minecraft.

Liam as an Enderman, also from Minecraft.

The Stakes Keep Getting Higher

This year, though… this year… my wife says to me, she says, “Hey, I know! You and Liam should go as Daft Punk.


I have drooled over Daft Punk helmets on Etsy for years. There’s a wide range of helmets available, from the ludicrously simplified children’s toys (that still manage a $150 price-tag) to the exquisite, as-good-as-the-originals, thousands of dollars kinds of affairs.

None of them looked plausible as a home project made with cardboard.

I searched. I watched YouTube videos. I found myself prostrate at the feet of a new teacher named the “Dali Lomo.” Oh man is this one awesome blog.

So, for obvious reasons (the opportunity for irony), Liam was assigned the Thomas mask, and I got the Guy-Manuel mask.


I immediately set to work on Liam’s mask, which I figure was going to be the harder of the two. It seemed to me that the fidelity of the chrome of his mask was critical, and the hardest thing to accomplish. It meant that the “dome” needed to be immaculate. The Dali Lomo’s build guide involved making a dome out of cardboard (which sounds right up my alley), but also involves a ton of Bondo. I opted out of this, thinking that starting with a batting helmet would save me some time. I went to the local sporting goods store, and found this beauty on sale:

 A bright pink child’s batting helmet.

A bright pink child’s batting helmet.

I think the helmet did save me some time, but nowhere near as much as I’d thought it would. What it did do for this project is add a lot of rigidity and durability to the mask, and give us a comfortable, head-shaped base from which to start. Before I was done, I’d cut a couple inches off the back of the helmet, cut the visor off the front, and cut the ears out. I also had to (my wife would probably like me to say “I chose to) fill in the vents with Bondo, so I didn’t entirely escape having to deal with Bondo (my first time—it’s kinda fun!).

I filled the gaps between the matboard visor pieces and the batting helmet with Sugru, by the way. I was quite concerned the paint wouldn't stick, as they claim you can't easily paint Sugru in their packaging. The Rustoleum primer I used is oil-based, which I think helped, and I put several coats on before painting the chrome on, and it worked quite well.

The first paint I tried was Krylong Looking-Glass Silver. This did not work well at all.

 The Krylon Looking-Glass Silver bubbled and dried very strangely, with nothing close to a “mirror finish.”

The Krylon Looking-Glass Silver bubbled and dried very strangely, with nothing close to a “mirror finish.”

A bunch more sanding, and a new coat of Krylon Premium Metallic Chrome Original, and it looked like this:



So, again, the Dali Lomo’s guide is fantastic.

One thing the Dali Lomo doesn't mention too emphatically in the YouTube videos for these masks is the difficulty in marrying up the two halves of the matboard masks. There's a seam that runs righ up the middle of the Guy-Manuel mask, and a similarly challenging seam along the left- and right-hand sides of the visor box on the Thomas mask that will split on you if you don't reinforce them well enough. Basically, you will marry up the edges of the two pieces, which means that you will need to glue each side to a piece of thin cardboard (we used cereal boxes). I initially put dots of hot glue at each of the four corners of the cereal box. This let the seam immediately split up when I bend the matboard. You need that seam to be super solid. So instead of a few dots, you basically need to cover the whole area, like this:


Now, when it came to the visor, I went my own way.

The Dali Lomo cut a plastic bowl into pieces, glued them back together in a slightly different shape, glued on a transparency sheet, Bondo’ed the seam, and then wrapped the whole thing in heat-shrinking sunscreen vinyl.


I started out trying to do the same thing. I bought an acrylic globe, which I thought was about the size of my noggin. I thought I would cut it in half, glue on a transparency sheet, and spray the inside of the assembly with Nite Shades (which the Dali Lomo said would probably be easier than the wrap method).

Turns out cutting acrylic is a frickin’ nightmare. Every time I tried to make a cut, cracks splintered out in every direction.

Also, it turned out that the globe was too wide for the mask body to hold.

Luckily it wasn’t expensive.

The problem was, it was now just days before Halloween, and I had no plan for how to make this visor. Luckily I’d been thinking about backup plans the whole time, and at some point I’d come across some blog posts (sorry, I can’t credit them… don’t remember whose they were) regarding Worbla. Yeah, WORE-BLAH. Say it 5 times as slow as you like. It’s just fun.

Worbla is a thermoplastic—a plastic that becomes moldable at certain temperatures, and returns to a hardened, sturdy state at room temperatures. Specifically, I found that they make a transparent version. Thankfully, while doing this research, I ordered a 3-pack of sample sheets of Worbla (9”x9”, roughly) from Amazon, that included just one sheet of transparent Worbla (sometimes called TranspArt).

So, I read up on how to work with transparent Worbla. Thankfully, in my searches, I found this post on Worbla’s site: Using TranspArt for Clear Domes.

Having read that, I went to Home Depot and found an 8 inch glass globe (a replacement for lamp-post covers, I think).

I made a circular jig (out of cardboard, my fave medium!) that had a diameter just about an inch longer than the globe itself, and a height that was about the radius of the globe (4 inches), taped the 9”x9” sheet of TranspArt to it, hit it with the heat gun for about 10 minutes (it’s best, I read, to slowly get to the desired temperature, lest you get discoloring and bubbles), and pushed the glass globe into the TranspArt. It looked a bit like this:


After about 15 minutes of cooling, I pulled the globe out, and it looked great! It took some careful wiggling to get the TranspArt off the glass globe (it was darn-near vacuum sealed to the thing), but once it was free I had a very clear semi-sphere, with a hoop skirt on...


Then I had to figure out how to make the curved-plane front portion of the visor. I went to an office supply store and tried to find transparency sheets. You remember those? Like the things you’d use with one of these:


I couldn’t find them there, so I bought some sort of self-adhesive clear sheets from Swingline (you know, like “that’s my stapler”?). Wrong. Too flimsy.

I visited several stores, trying to avoid the inevitable, but each place told me the same thing. “You should go over to Satan’s house. I think they have them there!” So I gave in, and I went to Hobby Lobby. I’m sorry. I really am.

At Hobby Lobby, in among the supplies for building model train set landscapes, I found transparent 8.5”x11” sheets of vinyl in various thicknesses. I got 0.7mm, and they were perfect. 2 sheets for $5. I DID find transparency sheets at one other office supply store, in my searches, but they were $40 for a pack of 50, and I had no idea how thick they would be.

I sprayed the inside of my clear dome and the transparency sheet, and they looked great. Perfect, dark, and well-matched. Now… how to attach them?

It was really hard to try to hold the dome in place just to figure out where to place it within the frame of the mask. I tried several ways to try to hold it in place to see if it would fit, and to try to figure out how to glue it in place safely. I had one shot. I checked. I would not be able to get any more Worbla in town, and if I ordered more from Amazon the soonest I could get it was November 2nd.

I searched the house (at about midnight), and found a 10-inch diameter inflatable beach ball. Deflated just a bit, it made the perfect clothes-horse for the dome. It held it in place just right while I traced the outline of where the dome met the frame, which let me then glue the appropriate spots one at a time by matching up the outline marks.


Then I curved the transparency sheet around the front of the dome, glued that in place… and I was done!


Final Note on the Thomas Visor

In hind sight (nota bene to the reader looking to make her own Guy-Manuel mask), I could have just glued the sides of the sheet to the frame of the mask. The seam where the transparency sheet met the dome would have not been secured, but I don’t think it would have mattered. What I did do was glue it there, with superglue, which dried white, and made the seam quite noticeable.

The Gloves

There’s not a lot to tell you about making the gloves, except to say, A) I did those, too, and B) they take longer than you think they will. There’s a lot of cutting involved, and most of it is rounded corners. One tip: cut out the template, and then re-arrange the individual segments of each finger so that all the straight edges between the segments touch. It's a lot faster this way, because you're turning two cuts (the top of one segment and the bottom of another) into one cut, which, for two sets of gloves, turns 80 cuts into 40.

The Results.

So, here’s where we ended up:


A Note on Visibility

One thing you might wonder, being the thoughtful reader you are, is "could you see while you were trick-or-treating, ostensibly in the dark in these things?"

I couldn't fit my head into my son's mask, but I'll say that he's not the most sure-footed kid in the world, and it was raining, and we were trick-or-treating after dark, and he never fell. He tripped a few times and very nearly ate it, but never actually fell.

My mask felt like wearing a motorcycle helmet with a tinted face shield, which is pretty siilar to wearing sunglasses (which cover your whole face). It wasn't super easy to see details, but I could get around well enough.

What This Project Meant to Me

I didn't know this the whole time I was working on this project, but some soul-searching and long conversations with my wife in the midst of it revealed something about my motivation to do this project. I grew up without a dad. My single mom bent and broke herself to make sure that I didn't feel that loss, that I had role models of all kinds, and that I didn't feel left out or different or weird because I didn't have a dad, and she did a great job of it.

But the thing I do notice, looking back, is that there were a lot of things that felt out of reach for me because I didn't have a parent that could walk me through those things. How to fix a car, for instance. I'm not saying only dads can do those sorts of things, but I am saying that in my childhood there was not a parent that filed that sort of role. I didn't study computer science in school, for instance, because it didn't occur to me that it was a profession that existed. I didn't have those sorts of professions modeled for me. Likewise design of any kind.

I wanted to do this with my son because I thought it would be fun. I thought it would be good to get him doing something with his hands. He didn't really get very involved this time, which is my fault. We didn't start early enough, so I didn't have time to let him fail a few times. A lot of the materials we were working with (super glue) and tools we were working with (mouse sander) were dangerous, too. My hope, though, and the thing that drove me to finish this, despite spending more than 30 hours on this over about 2.5 weeks, was that he would at least see me doing this. He would know "This is a thing people can do. Dad is not a costume-maker. If he can do it, maybe I can, too. Maybe Dad could even teach me."

Maybe we can get his little sister involved, too.

Here's to next year.

Happy (Belated) Halloween, dear reader!

Getting your $%*# Ring Doorbell hard-wired

by Thomas Brady in , ,

I got a Ring Doorbell as a gift recently (thanks, Mom!), and, after about 4 weeks I’m finally satisfied with its installation!

It’s not hard to find people complaining on the internet that their Ring Doorbell installation isn’t working. The design is… not great. There are spring pins on the back of the device that are meant to make contact with copper pads built into a mounting bracket. You mount the bracket to your wall, terminate your wires into it, and the pads channel the signal/energy through the spring pins into your fancy doorbell.

That is, if it’s all working.

Based on my experience, as often as not, or perhaps more often, the spring pins won’t make contact. There are lots of reports online of similar situations, citing warped brackets. The mounting bracket itself is quite thin, and if you’ve cranked down the mounting screws, internet wisdom states, you can warp the bracket, thus deflecting the plane of the copper pads, making it difficult for the pins to connect.

I removed the bracket. I re-attached the bracket, careful not to over-tighten the screws.

I did it again.

And again.

There was a brief window in which the device decided that it was, in fact, hard-wired (you can tell a few ways, including the white ring around the button staying lit full-time, and a couple places in the app reporting that the battery is begin charged and/or explicitly reporting that the device is “hardwired”). Despite not touching the device, this window closed.

I had an idea. I would “fluff up” the pads with pillows of solder, like so:

 My solder-pillowed mounting bracket

My solder-pillowed mounting bracket

The pins would surely make contact now, right?

Right! The ring stayed lit! The app reported being hard-wired! I was a genius! 

I decided I should document my fix for fellow fancy doorbell owners online. 

I removed the Ring Doorbell from the mount, and found… broken pins. The “pillows” were too fluffy, it seems, and the action of attaching and/or detaching the unit from the mounting bracket was enough to break a couple of the pins. I was defeated. And probably for good. My modification was surely warranty-ending, and since I had not purchased the doorbell myself in the first place, even trying to get it replaced was probably not going to be fun. 

At this point I had two choices. I could continue using the doorbell “wirelessly,” (i.e. removing it from its bracket periodically to recharge it via USB cable), or I could take a chance on a more extreme fix. I think you can guess which way I went.

I broke out my volt-meter, and set about figuring out the pin assignments of those copper pads. The circuit board was fairly easy to see, and didn’t appear to have any components onboard, only traces. If you hold it up to the light just so you can make out the trace paths. Looking at those and testing things out with the volt-meter, I was fairly certain that the left three pads of the middle and lower sets were the only useful pads, and that three of them went to each screw terminal, like so: 


So, reversing that pattern, I soldered wires directly into the back of the doorbell; yanking out the spring pins and soldering wires into the pads beneath. Then I cut out enough of the mounting bracket (including the board with the traces and terminals) to make room for the wires, and twisted the 6 wires from the doorbell into the two from the wall. 

The white ring shone. I was, once again, restored my genius status. 

So, warranty be damned, I’ve got a working fancy doorbell, and a good story to tell. 



A request came in the comments for a photo of the finished wiring. I’m not sure how helpful this will be, as it’s a pretty ugly soldering job, but here you go (below). It’s difficult to see what’s going on in the photo, but I essentially have three wires soldered onto the terminals that I shaded green in the photo above, and three soldered onto the terminals shaded yellow. Each set of three is then twisted together with each other and with the lead coming out of the brick.


One thing I didn’t think through about this approach is that if I ever need to reboot my doorbell, I’ll need to figure out if Ring has a hard reset button (don’t think they do) or cut these wires.



by Thomas Brady in ,

So, uh, yeah...

I seem to have done that oh-so popular thing where you abandon your blog and only tweet from time to time instead of having fully-formed thoughts.

Well, this didn't fit into a tweet, so, I'm back! I hope.

If you ever, say, write a sketch to an Arduino Leonardo that randomly sends keyboard and mouse input to a host computer, for the purpose, let's say, of making that person think that their keyboard, mouse and/or computer are malfunctioning, you might later find out that if you didn't wrap the HID-mode stuff in your Arduino sketch in some sort of enable/disable functionality that it's now nearly impossible to write new sketches to the Leonardo.

If you do find yourself in such a pickle, and you happen to have an AVR Dragon (or similar), here's the way forward: install avrdude (brew install avrdude if you're on a real computer) if you haven't already and issue a commmand similar to this one (I leave it to your capable hands to change what needs to be changed):

avrdude -v -patmega32u4 -cdragon_isp -Pusb -Uflash:w:/Applications/ -Ulock:w:0x2F:m

The Electric Imp-spacebrew-nod-uino

by Thomas Brady in , ,

I've been dying, ever since a couple of the core contributors visited frog Austin a little over a year ago, to play with Spacebrew, and in yet another skunkworks bit of hacking at work recently, I finally got to.

We, the secret snooping society, want to fill the Austin studio with sensors of varying type and scope, and we wanted it to be very easy for people, once they've found us out, to play along. This is a perfect fit for Spacebrew, which aims to make interactive spaces, exposing data via a simple API. One rig can be set up to be a data "publisher," and, without permission or help of any kind, anybody that can reach that server via a network/Internet connection can write a "subscriber" that can do whatever it likes with that data (usually, visualizing it).

As I was building this out (our project used a simple proximity sensor to track motion near the elevator, as a proxy to counting elevator trips), I realized that we also wanted historical data. Spacebrew is a super convenient way to provide real-time data, but it doesn't have any affordances for persisting data. So, I built a Node.js server that both acted as the Spacebrew publisher, via the javascript API, and write data to a mongoDB.

I also finally got to play with the Electric Imp, a nifty little WiFi-enabler.

You can read all about it, and get all the source code, on github, but here's a short walkthrough of how it works (from the "What does it do?" section of the project's README):

  1. Use an Arduino to power a proximity sensor as a motion detector, and, when it sees motion, send a command over serial to an
  2. Electric Imp, which throws an event over the Internet to
  3. Electric Imp's cloud service, which we've configured to exposes an API that rolls up and reports these events upon HTTP GET, which
  4. Our Node.js server polls, and upon finding new events, acts by both
  5. Writing a record to a mongoDB and
  6. Forwarding the event to
  7. Spacebrew

Up to this point we have built a Spacebrew publisher, that happens to also persist data (something not typically included in Spacebrew).

We have also included an example Spacebrew subscriber, in the form of a web app that uses the Spacebrew javascript API in order to increment a count of movements observed. Our web app first polls our Node app to get a historical count for the day, and the timestamp of that last movement. The real-time Spacebrew updates then increment this historical count, and reset the last-movement-seen clock.