Introduction: Paper Box Useless Machine

This instructables show how to use a paper box, a toggle switch and a tiny servo to build a useless machine.

Step 1: What Is Useless Machine?

Useless machine in general means self-switch-off machine. I don't know who invented it but I known it from Japanese forum post many years ago. I can find someone post useless machine video in Youtube since 2005, but I know useless machine is much older than Youtube!


Thanks for TinkerJim information:

As to the origin of the UM, Marvin Minsky and Claude Shannon, while working at Bell Labs in the early 1950’s, conceived and made the first UM, which they referred to at the time as the Ultimate Machine.

Step 2: Why Paper Box?

If you google useless machine, you can find most of their box made from wood or acrylic board. It is because this machine look simple but require a fair precise and high torque mechanics interaction.

This instructables use 2 3D design parts simplified these requirements:

  1. the 3D printed base combine the switch and the servo precisely, so that you can have more choice on box materials, e.g. paper box
  2. the 3D printed arm extend the servo to just touch the top of the switch, it can utilise all servo torque to turn the switch off

Step 3: Preparation

Paper Box

Any box larger than 6 cm x 6 cm x 6 cm should be ok.

Toggle Switch

A mini panel mount SPDT toggle switch.

Tiny Servo

This time I am using the most popular and also may be the cheapest servo, SG90.


The logic of Useless Machine is fairly simple, only 2.x KB in size. Almost all arduino board can do the job even ATtiny45/85.


A tiny breadboard, some DuPont connector wires, a 5V/6V power source e.g. 4 x AA battery pack.


This useless machine only use servo and toggle switch packaged screws and bot, no extra screws, nuts and bots required.

Step 4: Print the 3D Parts

Download and print the 3D parts:

Step 5: Fix Servo on the Base

Use servo packaged screws fix the servo on the 3D printed base.

Step 6: Fix Toggle Switch Into the Base

Put the toggle switch into the hole of the 3D printed base. Keep the fixing ring and bother later use.

Step 7: Install the Arm

The 3D printed arm can be integrated with the packaged servo arm and fix together with the same screw.


Before fix with screw, remember turn the servo to the most clockwise place and the arm not over the base surface.

Step 8: Cut a Small Cover

Cut a small part on the cover for the machine arm come out.

Step 9: Make a Toggle Switch Hole

Make a hole apart from the arm cover around 2.5 cm. The hole size should just fit the Toggle Switch, i.e. around 5.6 mm in diameter.

Step 10: Install Mechanical Part

Put the mechanical part into the box hole, put on the fixing ring and screw up the the bot. In long term, you can apply some double-side adhesive tape between the 3D printed base and the paper box to permanent fix it together.

Step 11: Program & Connect MCU

The Program is fairly simply:

#include <servo.h>
Servo myservo;
void setup() {
  pinMode(2, INPUT_PULLUP);
void loop() {
  if (digitalRead(2) == LOW) {

Here are the connection summary:

Battery +ve -> MCU Vin    -> Servo +ve
Battery -ve -> MCU GND    -> Servo -ve        -> Toggle Switch Pin 1
               MCU GPIO 9 -> Servo Signal Pin
               MCU GPIO 2                     -> Toggle Switch Pin 2

Step 12: Enjoy!

If you think 1 set of toggle switch and servo is not enough, most of MCU can handle more digital input and operate more servo at the same time. Some MCU can handle 8 or even more Useless Machine units, depends on imagination how to make fun, enjoy!