Skip to content

Useless box build diary

July 28, 2014

First things first

First post since February. Heck, has it really been six months?!

Sorry for the delay, and for disappointing anyone who’s been expecting new stuff regarding Blender programming.

But this is actually a new angle, which has been baking for a few months. I’m talking about making, DIY, electronics and robotics!

I haven’t abandoned Blender, far from it. I’ve only got deeper into stuff, now that I’m involved in a start-up utilizing Blender as our main development platform (more about that when I’ll be able to get into detail), and since I’ve been teaching Blender in college and makerspaces. What’s been keeping me from writing is mainly time, or lack thereof. But hopefully I’ll be able to write more often soon. Now for the issue at hand!


The world of robotics always fascinated me, but from a distance. I never thought I could actually get involved, and was certain this stuff is too arcane and complex for me to really get into grips with, at least unless I dedicated my life to it.

Gladly that’s not quite true anymore. Sure, truely complex robots and sophisticated AI require such arcane expertise that only few obtain. But the bar defining what’s “truly complex” has gone up significantly in the last few years, since capable and easily programable microcontrollers (such as the Arduino platform) became so readily available.

This is mostly a hobby for me, though I have plans for a number of more practical projects, particularly in the photography field. More about that in the future, hopefully.

Meanwhile, I’m making useless stuff. Before this project, I’ve made all kinds of simple stuff like a simple speed game, a larson scanner, an RGB LED controlled by an IR remote, and a super simple pong game with a joystick and a 8×8 LED matrix.

But this project redefines the “useless” part and gives it a literal meaning. No, seriously, this build is called the “useless box”, and it wonderfully lives up to its name.

Useless Box

In short: you turn on a switch, and a mechanical arm turns it off. The most useless box in the known universe.

So blatantly, hilariously useless, it’s impossible not to want one.

I saw a video showing this miracle of engineering on Facebook, and I was immediately hooked:

I later discovered some people have actually made even crazier versions of this concept:

And even a multi-switch version:

I’m not so greedy (or unemployed), I’ll settle for a single switch, single-arm type, but definitely with more interesting behavior than simple switch turning. Something like this, but with more randomized behavior, rather then a set sequence of behaviors.

Let’s get down to work!

After the persistent idea “must not rest until useless box is finished” got stuck in my head, I started thinking how I’ll make my own version of the thing. A box is fairly obvious, so I got a wooden one. Switch is clearly necessary, and I already had a few lying around. It evidently also needed a servo motor for the arm (and maybe another one for the box’s lid), and something to control the motors.

Since I knew I don’t want to settle for the simplest behavior, I needed a microcontroller to control the motor, and the Arduino platform I’ve been learning to use at Maestro Zvika Markfeld’s course was perfect for the job.

That’s enough to start building!

Da box

First thing to prep is the box. The UB’s lid has a static piece that holds the switch, and a moving piece that allows the arm to peek out and shut the switch off.

Wooden box
Lever switch (STDP)

Box cutter
Vernier caliper
Hot glue gun and glue drums
Soldering iron and solder


After cutting the lid, I used the caliper and a pen to mark the loose bit where I wanted the switch to sit. Then it was time to drill a hole for the switch and to screw it in.


Yeah, I know I didn’t put the bloody switch at the marked point. I figured out it should be closer to the edge for the arm to easily turn it of, and far enough from the other edge as to avoid making it uncomfortable to move by us humans.

The arm

Tower Pro SG90 mini-servo (or similar)
Various pieces of wood, small and large popsicle sticks
Metal angle
M5 nuts and bolts
Electrical tape (optional)

Hot glue gun
Dremel (or similar multi tool)

The heart of this build is that impertinent arm that keeps popping out of the lid and shutting the switch back off. I wanted it to look cool, and recalled I had a piece that should do the job, scrapped from an old detachable hard drive’s case. It was fairly solid and heavy, and looked awesome. Problem was I had no idea how to attach the thing to the servo’s cog. I ended up improvising something out of a small piece of wood, a nut and bolt, some hot glue and one of the servo’s origianl arms.


This turned to be a total failure. The whole thing wasn’t stable enough. The indirect connection between the heavy arm and the motor’s axis made it too unstable and inefficient to have the required strength, and it simply couldn’t move the switch’s lever.

At first I thought the precarious plastic cylinder the motor rested on was the problem. So I built a more stable wooden holder for the servo, and bolted it to the box’s floor.


But even with this new mount, I had no stable way to connect the heavy metal arm to the motor. If only I had a 3D printer!

Arm V2

I sang a short lament for the useless previous arm design and moved on to the next one. I had a pack of small wood sticks, so I grabbed a bunch, some hot glue and an M5 nut and bolt and made a new arm. This one looked ugly, but worked beautifully.

Useless Box ArmV2

Here’s the old (useless?) arm and the neat new arm in action:

Opening and closing the lid

Tower Pro SG90 mini-servo (or similar)
Scrapped wood and metal mounts and bits
M5 nuts and bolts
Zip ties

Hot glue gun

The next step was to create a mount and an arm for the lid and its dedicated Servo.

Unfortunately I forgot to take pics of this part… but it was a fairly simple and straightforward thing compared to the switch-arm.

I zip tied the motor to a small heavy piece of metal scrapped from a printer, and hot glued the metal base to the box’s floor. To connect the motor to the lid, I used another bit scrapped from a printer – a rather long mount made from a thin sheet of steel. I screwed it to the lid on one end, and glued it to one of the servo’s original spindles.

Writing the sketch

With this done, I simply needed to write the code that will define the box’s behavior. You can find this code here on GitHub.

I wrote six behavioral variations using three main functions: one for opening the lid, one for closing the lid, and another one for sending the arm to close the switch. Each has parameters controlling the movement speed, and the delay before and after the movement. I created two other functions for making it easier to do sligthly more complex things such as opening and shutting and lid several times and feinting.

I could have made this much more versatile and interesting, but after conquering the main challanges of this build, my motivation ran dry.

So, here’s the final version in action. Enjoy! And feel free to leave comments below or ask questions about stuff I forgot to mention 🙂

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: