Introduction: Mission Control Box V3.0
This is an updated version of my original Mission Control Box. This version is the same basic idea: lights, switches, a countdown timer and a fun LED bar graph "power meter," all with a Space Shuttle theme. The main difference with this version is that there is no audio, no lid to the box, and no transparent photo of the shuttle. But, it is still packed with some fun features. So, let's check it out!
Here is what you will need to build it.
- MDF for the box: 1/2" and 1/4" pieces
- I used these 9x12 sheets for the top and bottom 1/4" panels: https://www.amazon.com/gp/product/B07R32SPKV
- Spray paint (color of your choice for the sides and bottom pieces)
- Metallic silver spray paint (or other light color for the top panel)
- Spray-on clear acrylic sealer
- Wood glue
- Hot glue gun
- #8 Screws, 1/2" and 1"
- M2.5 size 16mm bolts and nuts
- Adhesive inkjet transparency sheets (8.5x11)
Assorted switches. Here are the ones I used:
- (1) Metal toggle switch https://www.amazon.com/gp/product/B078KBC5VH
- (2) Lighted rocker switches https://www.amazon.com/gp/product/B07N82DJZF
- Note: I used these, but had to modify them to work with the Arduino, read on for deets!)
- (1) Illuminated toggle with cover: https://www.adafruit.com/product/3219
- (2) Illuminated latching pushbuttons: https://www.adafruit.com/product/1476
- (1) Momentary pushbutton: https://www.adafruit.com/product/1503
- (1) Arcade button: https://www.sparkfun.com/products/9336
- Quad Alphanumeric display with backpack: https://www.adafruit.com/product/1912
- 10K Ohm Linear potentiometer + knob
- Arduino Uno (I used the Adafruit Metro): https://www.adafruit.com/product/2488
- Sparkfun LED bargraph breakout board: https://www.sparkfun.com/products/retired/10936
- (Yes, it is no longer available, but read on to find out how to bring it back from the beyond!)
- Protoboard, or small solder-able breadboard for the power bus
- Soldering iron with solder (obviously)
- 5mm LEDs
- 220 Ohm resistors
Step 1: Cut, Route, and Paint
The box is 12"Lx9"Wx4"H (3"H in the front) The bottom footprint of the box is 9x12", the size of one of the precut 1/4" MDF panels I ordered from Amazon. If you are being very precise you may want to trim or sand down the 12" side of the bottom panel, since the top is angled a little. (I didn't do this) The sides are made from 1/2" MDF, top and bottom panels are the 1/4" MDF.
- Back piece (1/2"MDF) : 4"x12"
- Front piece: (1/2"MDF) 3"x12"
- Angled side pieces are (1/2"MDF) 4" decreasing to 3" high by 8" long.
- Bottom: (1/4" MDF) 9"x12"
- Top panel (1/4" MDF)is trimmed to 9x11.5"
Use a router to cut a 1/4" wide groove, 1/4" deep about 1/2" down from the top (sloping) edge of the side pieces. Make sure to cut the groove on the *inside* of both side pieces.
I painted all the pieces bright orange, except the top panel which I painted with metallic silver spray paint.
After a few coats of silver paint, (sanding lightly in between coats), I placed the transparent adhesive sheet with all the graphics and labels on it. Be careful laying it down to avoid any bubbles under the sheet.
I used Word to create the layout, but you can also use Illustrator or other graphics program. I printed the sheet on my inkjet printer so I needed to coat the sticker with a sealer spray so that the ink would not run if any water were spilled on it. I think I sprayed about 4-5 coats of the Krylon sealer on it and it made it pretty well water resistant (also UV resistant depending on the spray you use).
Put it all together to see if everything fits and lines up!
Step 2: Cutting Holes in the Top Panel
I printed some crosshairs on the adhesive sheet to make it easier to center the drill holes for the switches. Start by cutting an X in the adhesive sheet so it doesn't get too chewed up by the drill bits. Use a small bit to get it right in the center, then go up in size to the correct hole opening. The sizes below are close but not exact. I still had to use a round file to get the opening just right for a few of them (since I don't have a metric set). Drill bits used:
- Toggle switches: 1/2"
- LED push buttons: 5/8"
- Potentiometer: 1/4"
- LED: 1/4"
- Arcade button: 1-1/8"
- Also need: DC jack (on the back piece): 7/16"
For the longer openings required for the LED bar graph and the Quad alpha display, I drilled a series of holes in a row, but then used the router table to trim away the rest. That gave me a nice straight cut. The rocker switches also needed a longer cut, so I started it with one hole and then routed it to the right size. If you are good with a Dremel you can also do it that way but it won't look as clean.
- Bar graph opening: 7/16" x 3"
- Quad alpha display: 7/8"x2"
- Rocker switches: 1"x3/8"
After all that I glued the top panel into the routed grooves, but for now left off the sides and bottom, so I could get into the electronics part of the project.
Step 3: Electronics!
Now that holes are drilled and openings are routed, you can place your switches and attach your circuit boards to the panel. I used a lot of jumper wires, but did also need to solder wires to some of the switches and the potentiometer. I included some drawings here of how to wire the different switches.
The different switches do different things so need to be wired differently:
- Access Arm Retraction & Hydrogen Burnoff are latching pushbuttons that illuminate when pushed.
- Auxiliary Power Units is a toggle that turns on an LED
- Main Engine Start is a rocker switch that lights up when turned on
- Booster Ignition is a toggle that lights up when flipped.
- Auto Sequence Start is a momentary switch that does not light up but activates the Quad Alphanumeric display
- LAUNCH is an Arcade button (momentary switch) that starts the countdown
After securing the Quad Alpha display to the bottom of the panel with very tiny screws, I also added a small piece of plexiglass over the opening on the top side of the panel, and attached it with M2.5 bolts. For the LED bar graph board, I screwed holes through the front of the panel to match up with the mounting holes on the board. So it is actually attached with the M2.5 bolts through the top of the panel and another plexiglass piece cut to size.
You don't have to do the plexiglass, but I figured it would help prevent curious/rowdy hands from pushing on the components and having them detach. (Lesson learned from experience!)
Adafruit has lots of documentation on how to wire up the display, so if you use that board be sure to check out their tutorials on it. For the Quad alpha display and the LED bar graph I soldered headers on to make it easier to hook up. I also hot glued all of the headers once they were all in place.
Note: I used epoxy to attach the potentiometer to the bottom of the panel, since on the original Mission Control Box, the pot comes loose if it is turned too far or too hard. Another lesson learned!
Discontinued Circuit Board? Hah!
The LED bar graph is a kit that was sold by Sparkfun, but was discontinued. However, they are an awesome company and made the design files available for anyone to download and use. So, I flexed my mental muscles and learned how to use Eagle software to convert the files into Gerber format, so they could be manufactured by a circuit board factory. I found a place online that promised a quick turnaround, and ordered 10 boards. They were dirt cheap (less than $1 a board) and they arrived via DHL (shipping was $25) at my house in Maine from the factory in Shenzhen, China, in less than a week. It was incredible.
Note: I did look into some US manufacturers first, but the turnaround was much longer and they were more expensive so I went with China since I had a budget and a time crunch.
I then had to refer to the Sparkfun instructions to get all the components needed to make the board work. I won't list them here but the instructions for assembling the board and everything else you need to make it are at this link:
Homemade Power Bus
All of the switches, boards, and the pot require power, but there are only two 5-volt outputs on the Arduino. So I used a blank protoboard and soldered 2 rows of female headers to it. I then (sloppily) soldered a piece of bare wire to all of the pins on the underside so they would all be connected, one row for power, one row for ground. I could then plug jumper wires from the switches etc. into headers on the bus, and have one jumper wire go to the Arduino 5V output, and one to the Arduino ground pin from the bus.
Rocker Switch Hack
The rocker switches I got were rated for 120 volts, so the little neon bulb in there was going to do nothing with my 5 volts from the Arduino. So, I carefully took the switch apart (see photo) and found out that the bulb was just soldered to a resistor, and then wrapped around the innards of the switch, with the positive side attaching to a spring on the bottom, and the ground side (after the resistor), going into a notch on one side of the switch. So I pulled that out, and soldered an LED to a 220Ohm resistor and wrapped the wires back up the way they were. After a few trials I finally got things working.
If you do this, make sure to take careful notes about which way the pieces go in, how the wires are wrapped, and how they sit in the housing. Or, get a type of switch that works with 5V from the get-go! Although this was a pain in the butt, I was very satisfied that I was able to "hack" the switch (which was a type that the client specifically requested), and make it work.
Step 4: Arduino Hookup and Programming
Many of the switches are just to control lights/LEDs so they just need power from the Arduino via the homemade power bus. But first the Arduino needs power.
I wired the box to have an on/off switch (green rocker) for which wiring is shown in the previous step. The wire from the jack (which gets power from the 9V adapter) goes into the switch, and then the switch routes it to the VIN pin on the Arduino. This pin can accept voltages between 7-12 volts. Then like I said before, I connected a 5V pin from the Arduino to the bus in order to power those LEDs attached to the switches.
The display and the bar graph both need a couple of pins (refer to their respective hookup guides) and then the arcade button and the Auto Sequence Start button both take a pin, and the potentiometer needs one as well.
Here is the pinout I used:
- A0 Potentiometer (middle pin from the pot)
- A4 DAT (quad alpha)
- A5 CLK (quad alpha)
- 4 Auto Sequence Start Momentary switch
- 8 LAUNCH button
- 10 LAT (Bar Graf)
- 11 SIN (Bar Graf)
- 13 CLK (Bar Graf)
The Sketch (Program)
The main loop of the Arduino sketch counts "idle loops" where nothing is pressed. If it reaches 10,000 (about 60 seconds) a random "screen saver" will show up, either a message on the display, or a short burst of activity on the LED bar graph. The loop also waits for button presses from either the Auto Sequence Start button or the Launch button. Auto Sequence Start will trigger one of 6 random animations on the Quad alpha display, that roughly correspond to the launch sequence steps. I originally wanted each button to trigger an animation, but due to time and other factors instead I just set the one button that doesn't light up as the "animation" button.
If the Launch button is pressed, a countdown begins from T-10 down to zero. Then "liftoff" scrolls across the display and a little animated "shuttle" blasts off.
I also (as in the original Mission Control Box) made it so if you turn up the "power" too high with the pot, LED light bugs take over the bar graph display. On the original, you had to wait 30 seconds for them to stop. On this version, if you turn the power back down below "critical" level, the bugs go away.
The rest of the sketch is devoted to creating the animations or the screen saver messages. The animations can be tricky, but I found a cool utility online that makes an array for you based on the animations you specify. Check it out here: https://github.com/GasparIsCoding/Alphanumeric_Ani...
If you use my sketch, you can change the animations or the messages to whatever you like. My version is built off the work of many others before me, so make it your own!
The final step is to use standoffs to attach the Adafruit Metro and the power bus to the bottom panel. Then screw it all together and plug it in!
Well, that about covers it! Any questions ask in the comments below. Thanks for reading!