I made shields out of satellite dishes

I recently had occasion to remove four satellite dishes from my roof that will never be used again. My 7-year-old son asked what I was going to do with them; I said I’d probably throw them in the trash. He said, “Or you could make some shields…” So I made some shields.

It turns out that making shields from satellite dishes is not a new idea.  I mostly followed this popular Instructable for making a Captain America shield from a satellite dish, but with a few modifications that I’ll note below. I also made a brand-neutral copper variation.

First, I removed all of the reflectors, keeping the bust and bolts.  This particular reflector was dented from when I threw it off the roof, so I hammered it back into shape.  (Actually, all of the reflectors were dented from when I threw them off the roof, so the first step really should have been “Don’t throw the dishes off the roof.”)


The Captain America shield is round, but the dishes are ovoid.  I made this very accurate compass to help me draw a circle onto the dish.


Once I had drawn the largest possible circle, I cut slits into the bent edge so that it would peel away as I cut out the circle.




At this point, the Instructable author used a Dremel to grind down the edge, but I found that a handheld sander and 100-grit sandpaper were an acceptable replacement.

The next task was eliminating the bolt holes.


You can’t just hammer them flat, so the Instructable author filled the divots with JB Weld, ground off the protrusions, and then smoothed them out with Bondo.  This seemed excessive to me, and I don’t have an angle grinder, so I found an easier way.

I began by cutting about a dozen slits radiating out from the center of each hole with the same metal shears I used to cut out the shape of the shield.


Then I hammered the flaps down. They overlap a little, but the bump is gone at this point. I flipped over the dish and hammered them flat from the other side too.


I sanded off the protrusions…


…and I had four much-smaller holes that could be filled with Bondo alone, eliminating the JB Weld step.



I may have used too much Bondo, but it was my first time.  It sanded away easily enough.


Take the four bolts that originally attached the dish to the mount, and epoxy them to the inside of the dish. They’ll be used to attach the arm straps.


I made the arms straps out of a belt I bought from Goodwill. They’re adjustable by removing the nuts and fitting the bolts into different belt holds (which were enlarged on the drill press).


I attached my handles this way rather than how the Instructable author did in order to prevent having my (well, my kids’) arms rubbing against the exposed bolts.

Look ma, I’m ready to do battle in a post-apocalyptic future!


My son tested it out pre-paint, and it passed the test.


On the second shield, I decided to try for a “hammered copper” look. I cut out an oval shape and textured the entire thing with hammer blows.


This red metal handle had been floating around the shop for a few months. I don’t know where it came from, but it fit perfectly onto the inside of the shield. I affixed it with epoxy. (I’ve seen this type of shield referred to as both “center-grip” and “punch handle,” but I don’t know if either of those are technically the correct term.)


Here are both shields ready for paint.  This photo shows the texture difference the best; both dishes originally had the same texture as the dish on the right.


For Captain America, I started with a base coat of white enamel.


I taped off the center and then cut out the iconic Captain America star.


I made two mistakes here:

  1. I should not have cut out a circle exactly the size of the area that would be painted blue, because this meant that I would have to then tape exactly over the circle that I cut out here, which leaves no room for mistakes. I should have cut out a circle slightly larger than the star, even though I would have had to paint over a little bit of blue with the first red stripe.
  2. I made the star too small by 50%.  I originally had drawn it the correct size, but then convinced myself that I had gotten the math wrong. I had not gotten the math wrong.

Anyhow, I gave this layer a quick spray of white so that any paint that was going to bleed under the tape would be white and not give the star rough blue edges.


Then a coat of blue.


Perfect crisp lines on this (too-small) star.  We’ll pretend this shield comes from the Marvel Universe where Loki shrank the star on Cap’s shield because he felt emasculated by the First Avenger.


I cut out the red circles and re-taped the blue center circle and did two coats of cherry red paint. The result looked like this:


The shield isn’t standing up magically on its own. Here’s an alternate angle:


The oval shield got two coats of Rust-Oleum Metallic Copper spray paint, and then both shields were given three coats of a clear spray enamel.  Nerf battles around my house are about to get a lot more intense.


Groovy, Programming, Smart Home, SmartThings

Programming My House: Cross-Circuit 3-Way Switches

I’ve been outfitting my home with “smart home” devices: light switches that I can turn on my with phone (or voice, via Amazon’s Alexa), hinges that report when doors open and close, and motion sensors that report activity around the house.

Smart House. Original house photo by Jameslwoodward:

I use Samsung’s SmartThings hub, which provides access to a handful of official “SmartApps” — pre-written automations for smart devices. The best thing about SmartThings though is that I’m not limited to the official apps; I can now write programs for my own house.

Today, I wrote my first program in order to eliminate a major annoyance in our house. When it was built, the owners must have loved light switches; rooms as small as our pantry (about 5′ x 8′) have two overhead lights with two separate switches that we will never turn on independently of each other. After replacing both switches with smart switches, I was able to write a 40-line Groovy script that links those two switches, effectively combining both lights and making each switch part of a 3-way-switch setup.

Achieving this with wires would have required cutting holes in the wall and hours of rewiring and drywall repair, but once the SmartApp was written, I was able to attach it to three different sets of lights in our home in about 60 seconds.

I’ve submitted my SmartApp for inclusion in the general SmartThings marketplace, but until then, if you want to use it yourself, you can grab the text on GitHub and install it for your own devices via the SmartThings Web IDE.

Browser Add-ons, Google Chrome,, Mozilla, Mozilla Firefox Will Be Shutting Down is a platform for translating browser extensions that I launched five years ago; it will be shutting down on September 1, 2017.  I no longer have the time to maintain it, and since I stopped writing Firefox extensions, I don’t have any skin in the game either.

I’ve notified everyone that uploaded an extension so that they have ample time to download any translations (333 days). It was not a large Bcc list; although nearly six thousand users created an account during the last five years, only about two dozen of those users uploaded an extension. Eight hundred of those six thousand contributed a translation of at least one string.

For anyone interested in improving the browser extension translation process, I’d suggest writing a GlotPress plugin to add support for Firefox and Chrome-style locale files. It’s been on my todo list for so long that I’m sure I will never get to it.

Life, Woodworking

I Built a Treehouse

After we moved into our new house last month, my kids started asking for a treehouse.  I told them I’d need to see some plans before I could get started, and the next morning, I found this on my workbench:


Fair enough.  The previous owners said that there had previously been a tree fort built in these trees, and some of the detritus was still visible:


These trees didn’t look so hardy, but there is no shortage of other trees to choose from on our property.



We settled on this one. V-shaped, about 200 feet from the house, and with good views in all directions.

The most important thing to consider when building a treehouse is that the tree will move, especially in a strong wind.   To account for this, the main supports should have slots where the bolts attach the beams to the tree so that a swaying tree doesn’t tear apart the entire structure.  (You can also use special hardware like Garnier Limbs or treehouse attachment bolts.) I used 2×12 treated lumber and started by drilling holes about 5″ apart.


Then I removed the wood between the holes to create a slot for the bolt to slide in.


The bolt holes need to be pre-drilled, otherwise you’ll never get them in all the way. I drilled 9/16″ holes for the 3/4″ bolts.


As long as you only put a few holes into the tree, it should be able to survive. It’s actually worse to put a bunch of small holes in a tree by using nails or screws than a few big holes for bolts, since many small holes may cause the tree to compartment that entire area, causing the wood between the small holes to rot.


Here’s the first beam attached with two of the 10″ long 3/4″ bolts. It’s about 5′ off the ground on the left side, 8′ off the ground on the right.


I put up the other beam and attached the joists above them to support the treehouse floor.  Here’s a side-view that shows better the shape of the tree and the main support V.


The ladder on the ground means “Kids, don’t try and climb up there yet.”

At this point, I was able to put in the floor boards. There’s nothing complicated about this; just leave space around the trunks so that the tree has room to grow.



With this kind of support system, the platform will be wobbly without additional support, so I added the first of two corner supports and bolted them to the trunk near the ground.



The kids brought up some tools to help out.


I started on the railing and added a second vertical V support.


A view from behind the treehouse, looking down the hill.


I added a ladder, built out of 2x6s. It’s steeper than a stairway but shallower than a vertical ladder.


I trimmed off most of the floorboards, but the kids asked me to leave this one long.


I don’t know if their original intention was to mount the disembodied head of Vader on it, but that’s what they did.

To avoid too much weight and too much work, I went with a canopy roof. If I had planned ahead, I wouldn’t have had to replace the railing posts on both sides with taller ones to support the roof, but I did not. I was able to reuse the shorter posts anyway, so the only thing I lost was a bunch of time and energy.


I used a big PVC pipe as the peak of the roof, and I think that was probably dumb. I wanted to avoid using something that would wear out the tarp if it rubbed against it, but a sanded 2×4 probably would have been fine, and stronger too. Oh well.

The canopy is tied down using horn cleats. This worked well, but I should have planned their spacing a little better to get the roof as taut as possible.


Time for glamour shots!




And here’s a before-and-after shot, taken with Reenact, of course.

Life, OpenSCAD, Programming, Woodworking

I Built a Tilt-Out Trash Can Cabinet

I’m going on a work trip later this month, and Christina asked me if I would be able to build something to hide the kitchen trash and recycling cans before I leave (and before her mom visits). Challenge accepted!

We brainstormed and came up with a tilt-out cabinet design.  The first thing I did was model the cabinet in OpenSCAD. We hadn’t bought any garbage cans yet, so I made it customizable; I could specify any number of cans of any size, and the model would adjust and print out a cut list for me to bring to the lumberyard.

The script is available at on GitHub, and as you can see, it can even animate the tilting mechanism:


We settled on a two-can design (one for trash and one for recycling), but we did contemplate more… grandiose… ideas.


The sides and bottom of the cabinet were cut from one sheet of sanded plywood. I don’t have a track saw, so I made do with a circular saw and a straight edge.


After making these cuts, I finally ordered a dedicated fine-tooth blade for my circular saw to avoid tearout the next time I need to cut nice wood without a table saw.  A 24-tooth blade is fine for 2x4s, but not for any visible edges on furniture.

The first thing I built was the part of the tilting door that holds the cans to make sure that the spacing and measurements were right.



The spacing and measurements were right.

I cut the sides and center of the cabinet and then used a biscuit joiner to cut slots that will be used to attach the top with tabletop fasteners. This is similar to how I build our kitchen table, and this cabinet will be stained and painted to match.


I used my 90º clamps to hold the boards in place while I joined them with pocket screws.



Oops. It’s been a while since I’ve used pocket screws, and I forgot that it matters how long they are.

The center divider was joined with regular 2.5″ screws straight up the bottom.




This is how the cabinet bases will sit in the box. They sit closer to the center board than the side boards because the face frame will take up more space on the ends (where the board is flush with one side of the plywood) than in the middle, where the board is centered.

The face frame is 1×2″ poplar and pocket screws.  I used poplar because it’s a cheap hardwood (although not too hard), and it takes paint well. It’s the same wood I built the apron of our kitchen table out of.



The cabinet top is made up of three red oak boards joined with biscuits and glue. These boards were left over from last year’s table build, so it will match exactly.  When we moved in, I inherited a powerful jointer from the previous owner, so I was able to use that to square up the rough side of each board rather than using a router and a straightedge — major timesaver.


Here’s the top, cut to length and width and then sanded smooth. My new saw blade hadn’t come yet, so I had to cut these by hand. I should probably order a new handsaw too.  It’s about 18″x33″, and sanding went a lot quicker than the 40″x84″ kitchen tabletop. I would say 83% quicker.

I stained the tabletop with Varethane’s Kona stain.


The cabinet doors are more 1×2 poplar with a groove on the inside to accept beadboard panels.  Here’s a shot from behind after I nailed and glued the cabinet doors to the tilting bases.  In the background, you can see a mystery bag, a computer desk, my shop treadmill, and a “telephone chair” that I’m going to refinish.



There’s 1/8″ space around each door, but I should have left an additional 1/8″ or at least 1/16″ on the bottom to allow for the space the hinges are going to take.  It worked out in the end though, just a little closer than I would have liked.

Here’s the top after two coats of polyurethane and the cabinet after the first coat of paint (Sherwin Williams Creamy White).



I attached the doors with hinges at the bottom and added a stop block to each side of the middle divider so the doors can’t fall all the way open. They stop at about 40º from vertical, leaving just enough room to remove the trash cans.


These spacers in the back ensure that the doors sit flush with the face frame. Since the hinges aren’t mortised in, they lift the fronts of the cabinet up about 3/16″, so the backs needs to be lifted accordingly.


Tada! The handles match the arts and crafts cabinet in the next room, so this piece really brings the whole house together.


Double tada!

After using it for a couple of days, it’s clear that I’m going to want to add some sort of soft-close mechanism. Other than that, I’m very happy with how it turned out.  It was my first time building my own cabinet doors, my first time using a jointer, and the last time I’ll ever have to see garbage cans in my kitchen.

3D Printing, Programming

Today’s Functional Print: Twist-In Shelf Supports

In today’s “shake it up baby” news, I’ve printed some hard-to-find twist-in shelf supports.

The shelves in our new living room have vertical metal tracks that don’t just accept a push-in support clip; the support must be turned 90º in order to interlock with the track. These supports aren’t sold at any of the national hardware store chains, and the only place I could find them was on another frustrated homeowner’s Shapeways account. I recreated them (and beefed them up a bit) so that I could share the model here.



The SCAD script is available on GitHub, and the part can be customized and downloaded on Thingiverse.

3D Printing, Woodworking

This is a post. It’s a post about a post.

We just moved into a new house, and the 20-year-old signpost is showing its age. It had deteriorated at the bottom, so it was no longer set in a hole and was just leaning against a tree.  I decided to restore it and make use of a gift that the previous homeowners had left us.

Here it is on my workbench awaiting some TLC.


I planed the hanging board and the vertical post to clean up the faces. The horizontal post fell apart in my hands when I removed the bolts, so it went in the trash.

Here are the post and hanging board after being planed on each side.


I used the wood from the old vertical post to make the new horizontal post (since the bottom 18″ was unusable, it wasn’t long enough to be reused vertically). I found an abandoned 10′ post in the backyard, so I recycled it into the new vertical post for the sign.


I cut a lap joint in the post and sanded off all of the old paint. Here’s a before/after shot (taken with Reenact, of course).


Here’s a shot of the lap joint in the horizontal post after I added some spar urethane to both posts.


One last dry-fit before final construction:


I chamfered the edges of all of the posts on the miter saw to match the original; this should help prevent water from soaking into the top of the vertical post, and it looks nice too.


I removed all of the rust from the chain and eye bolts using a vinegar/salt solution followed by a water/baking soda solution. It worked way better than I expected.


If I had known how well the rust removal would go, I wouldn’t have bought new bolts to join the posts.


Chains attached.


The previous owners of the home had bought some ceramic house-number tiles in Italy but had never been able to put them up. Rather than just gluing them to the wood, I wanted a method that would be reversible if I didn’t like the result or if I made a mistake, so I designed and printed some hold-down clips to attached the tiles to the hanging board.


It was tight getting the tiny little galvanized nails tacked in without chipping the tiles, but half an hour with a nail set (actually a bolt with a concave point, since I couldn’t find my nail set) did the trick.  There is some space between the tiles and clips to allow for wood movement.


I hung the numbers up and trekked down the hill to plant the post.


Tada! Now the UPS driver will know where to bring our Amazon orders.


3D Printing, OpenSCAD, Programming

Create LEGO-compatible Angle Plates with LEGO.scad

LEGO Angle PlateIn response to a comment here, I wrote the first OpenSCAD module for generating complex brick shapes using my LEGO.scad project.

LEGO.scad is great for creating bricks and wings of all shapes and sizes, but it isn’t suitable for making complicated shapes like angle plates. LEGO sells 90º angle plates (pictured); the new module can generate plates with orientations between 0º and 100º.

This is the default output: a 90º plate with both sides 2×2.

Here’s one with an angle of 45º and different size sides:

Here’s the underside of one with an angle of 100º, a 2×3 base, and a 4×1 overhang:

To generate your own plates, check out the LEGO.scad repository and call the angle_plate() module in OpenSCAD. Feel free to share your creations in the comments below.