Introduction: Closet Light Arcade Cabinet Button

This instructable is about taking cheap closet lights and modifying them to create obnoxiously large push buttons for games or other interactive projects. I found this double pack of closet lights in the impulse purchase bin on the way to the register at Home Depot for less than $6.00. The mod primarily consists of replacing the switch component and some rewiring. The button and light is connected separately to the Arduino so the light inside the button can be turned on independently, if needed.

Materials:
Cheap closet light (MoonLite brand, see photo)
Small snap switch (Omron D2F-L)

Reed relay switch (SPST1A 5V)

10K resistor

Flexible wire (speaker wire or 24awg hookup wire)
Electrical tape
Solder

Velcro (1" piece)

Tools:
Soldering Iron
Wire cutter/stripper
Hot gluegun or some kind of glue for plastic

Small phillips screw driver

Step 1: Open It Up!

Remove the battery cover and unscrew the 4 screws from the back of the light. The back will come off fairly easily once unscrewed. You can pull it off by holding on to the holes in the battery holder.

When you open the light, there should be 3 springs that push the dome cover up towards the frame of the light. Make sure you DO NOT LOSE THE 3 SPRINGS as they are necessary to keep the push button function.

Step 2: Remove the Old Switch

The blue button switch component is wedged into a little stand that is a part of the whole base of the light. Go ahead and cut the wires so that the blue button switch can be completely removed. It can be easily pried off with a flat head screw driver and removed.

Step 3: Wiring the New Switch

The snap switch I am using here is the Omron D2F-L that takes the place of the original switch perfectly. Solder wire to two of the legs closest to the side where the metal arm of the switch comes out of on as in the image.

Make sure your wires are long enough for your project. I used about 4 feet each for the arcade game cabinet.

Just as any button on the Arduino button example, place a 10K resistor either by the switch or on a breadboard closer to the Arduino.

Step 4: Switch the Switch!

Now place the Omron D2F-L where the original blue switch was. It should fit pretty snugly! Glue into place so it doesn't come loose. Careful not to glue any of the moving parts on the switch.

Step 5: Adding a Relay Switch to the Light (optional)

If you want to light in the button to turn on when the button is pushed, or the game is running, connect the wire running to the light bulb to the reed relay switch according to the diagram. The light bulb is fragile (and cheap!) so a longer term solution would be to embed a LED or a neopixel into the button, which can be directly wired to the Arduino.

Step 6: Bringing Wires Through to the Back and Reassemble

In the old battery holder, remove the metal plates that would make contact with the batteries. They should slide right out. This is where you can pull the wires through into the old battery holder.

Reassemble the closet light, making sure that the springs are in the same position as they originally were. If the light does not close perfectly, just rotate the top until it does match up.

Step 7: Mount Onto Game Cabinet or Other Surface

On the game cabinet I have used a screw which is not fully screwed in, a hole 1" in diameter and a piece of veltro to attach the closet light. Put a piece of velcro on the back bottom of the closet light. Push the wires through the hole, then slide the screw head into the slot on the back of the closet light, and push down the light so the velcro pieces stick to each other. In this case the Arduino is placed inside the game cabinet.

Vinyl letters can add a nice finishing touch to the button!

Step 8: Arduino Code

For this project, use the Arduino IDE example in the folder Examples>>Digital>>Button.

The snap switch wire should be connected to Digital pin 2 (ButtonPin in the code).

For the optional light, a new digital output pin can be added to the code, and connected to the reed relay. In this way the light can be turned on when the button is pressed or the game is in play.