Arduino useless box
Flip the switch ON and the box pushes its lid open, reaches out with a plastic arm and flips the switch straight back OFF, then hides again. The second time it is angry: the arm comes out at full speed, the lid slams, and a moment later the lid peeks up once.
From the Short This Box Turns Itself Off Every Time | Arduino Useless Box (posted 22 October 2026). Opens on YouTube.

Parts
- Arduino Nano
- SG90 micro servo (brown GND, red VCC in the middle, orange signal)
- Mini toggle switch, SPDT ON-ON (for example MTS-102), three lugs: the middle one is COM
- 100 uF 25 V electrolytic capacitor (long lead plus, stripe minus)
- 5 V 2 A power supply
- A small box with a lid hinged on one edge, and an L-shaped plastic arm on the servo horn
- Jumper wires
How it is wired
- Supply plus (+5 V) to the Nano's 5V pin, the servo's red wire and the capacitor's long (plus) lead.
- Supply minus to a Nano GND pin, the servo's brown wire and the capacitor's short (minus) lead. Put the capacitor right at the servo plug.
- Toggle middle lug (COM) to Nano pin D2.
- Toggle outer lug that joins COM when the lever is in its ON position to the Nano's other GND pin (the Nano joins its two GND pins on the board). On a toggle, the lever leaning one way joins COM to the outer lug on the opposite side; check yours with a multimeter.
- The third lug of the toggle stays unconnected.
- Servo orange wire to Nano pin D9.
- Nothing on VIN. No resistor on the switch: the sketch turns on the Nano's own pull-up on D2.
How it works
- D2 has the Nano's internal pull-up (20 k to 50 k), so it reads HIGH while the switch is OFF. Flipping the switch ON joins D2 to GND, so it reads LOW; only about 0.25 mA flows through the switch.
- When the sketch sees LOW it waits 150 ms, then turns the servo from 0 towards 146 degrees. The rising arm pushes the lid open on its way out: the lid simply rests on the arm.
- The arm's finger meets the lever and carries it past its centre at about 142 degrees. The toggle snaps to OFF, D2 goes HIGH again, and the sketch brings the arm home. The lid falls shut behind it.
- The sketch counts the flips: every first one is slow (6 ms per degree, about 167 degrees a second), every second one goes at the servo's full speed (about 600 degrees a second for an SG90), followed by a small 18 degree peek that lifts the lid about 12 degrees.
- The servo is fed straight from the supply, not from the Nano. It takes 0.1 to 0.25 A while it moves and about 0.65 to 0.75 A if it stalls, plus about 20 mA for the Nano, so the worst case stays under 1 A of the 2 A supply. The 100 uF capacitor covers the servo's start current.
- No flyback diode is needed: the SG90 drives its own motor through its built-in driver, and nothing in this circuit switches a motor or coil.
The code: useless_box.ino
The Arduino code for this circuit is in the Wirecora Discord, in the channel #arduino-code (owner’s choice, 14 October 2026: the code lives where you can ask about it). It is a plain .ino file you can download there.
The sketch the Short was simulated from (its arm angle on screen is this code, frame by frame); it uses the Servo library that comes with the Arduino IDE and has not been run on a real box yet. HIT = 146 is the angle that just carries the lever past its centre in the video: tune it on your box. If the arm cannot carry the lever over, the sketch keeps pushing and the servo stalls and heats up, so switch it off by hand and raise HIT or shorten the arm. If your arm turns the wrong way, use 180 for HOME and 180 minus the other angles.
What the video simplifies
- The electronics are drawn larger than a box this size would hold them, and the box's side panel is clear so you can see inside.
- The servo is drawn from the side while its arm turns in the picture. In a real build the servo's shaft points at the side wall, so the arm swings in that plane.
- The arm length and the finger force (about 5.5 N from the SG90's 1.8 kg cm) are worked out on paper; the toggle's own operating force is not in its datasheet. SG90 useless boxes with mini toggles are a common build.
- The lever is drawn throwing 23 degrees each way; a real mini toggle throws about 15 to 20 degrees.
- The box's 3 px jolt on the angry hit and the lid's small bounce are exaggerated for the video.
- The "0.7 A of 2 A" label uses a 0.65 A stall current. Some SG90 sheets give up to 0.75 A plus or minus 10 %, so the real worst case is about 0.85 A, still far under 2 A. The servo and Nano currents are typical values, not measured on a build.
- The servo whirr, the clicks and the lid taps are made for the video.
- The classic useless box needs no Arduino: a DPDT toggle and a limit switch reverse a small gear motor. The Arduino is what makes the calm and the angry moves possible.
Everything runs on 5 V DC. Never connect the computer's USB to the Nano while the 5 V supply is connected, and never let USB power the servo: the servo sits on the same 5 V line as the Nano, so over USB it would draw its 0.25 A to 0.75 A through the Nano's small USB diode and the computer's port. To upload the sketch, unplug the 5 V supply and the servo plug, upload, take the USB cable out, then plug the servo and the supply back in. Keep fingers out of the lid while it is powered; the arm is weak but it can pinch.
Build it yourself
The wiring board cannot run an Arduino program yet, so this one cannot be opened on it. Start with the guided first build on the wiring board, where a circuit really works as you wire it, then try the ready-made ones.
Your first circuit, step by stepAll circuits from the Shorts
Stuck, or built it?
Ask about this circuit or show your build in the Wirecora Discord. Questions get an answer every day.