Sunday, October 25, 2015

Panel cutout and nearing the end of parts acquisition

The last arcade buttons arrived, so I'm at the end of shipments coming in for now at least.  I think I have most everything I'm going to need except for a power supply, now that I also picked up uncolored translucent flexible cutting boards.  There aren't a huge number of places around here that carry them -Target has some from Farberware that might work, two clear and two black a four pack for $5.99.  Better yet, I found two large clear ones at the Container Store for $2.99.  I'll only need one, even if I double them up for better diffusion.

The round arcade buttons are all slightly smaller than I was anticipating for the central portion for which I need to drill through the panel (the dimensions on the eBay description weren't clear).  As a result, my layouts are a little off - but I can still use the center mark for each drilling point - so I went ahead and used them as is.

So now it was time to start cutting the panels out.  I picked up a 2'x4' piece of 1/4" MDF at Menards for about $5.60.  It turns out that they were a little shy of 2' by about 1/8".  Since my layout calls for 2'x3' finished size and the saw kerf would take more out of the boards, I was going to end up with smaller than 6" heights on each panel unless I bought another sheet of MDF.  But there is nothing critical about these dimensions, so I slightly undersized each panel.

To cut the boards, the easiest and most accurate thing to do would be to use a table saw.  I don't have one, but I do have a bandsaw - not a fantastic one, just a small 9" table top one, but it would suffice for cutting through thin MDF.  So if you don't have a table saw, don't let that discourage you - there are other methods you can use.  You could even use a simple jigsaw and a straight edge, but the setup for each cut would get to be tedious.  With a bandsaw, at least, the kerf from the blade is pretty small, so each panel ended up only marginally shorter than 6".  When the panels were cut out, I then used the reverse-printed labels and glued them to the panels with a spray adhesive.  I haven't adhered the labels for the central panels yet, though, because I forgot to reverse print those.  I'll get them tomorrow.

Wednesday, October 21, 2015

Panel layout

Over the past few days I've worked mostly on panel layout and templates.  This is arguably an important but not 100% straightforward step.  You have to keep in mind several things - the size you want to hit, the size of the devices you're using, both in terms of panel penetrations and final dimensions on both sides of the panel.  A toggle switch can have a very small size on one side of the panel but large on the other, and you need to leave adequate space on both sides.

Jeff's design didn't have dimensions, but a 6"x6" base panel block seemed about right, as I described earlier.  The central blocks for the mission sequence and timer/display were both larger, at 6" x 12" and 12" x 12", respectively.  Using this, layout is simple in theory, but as always, can be troublesome.  I didn't have a good drawing program available, but I could sketch the designs with the draw tools in Excel and Word.  This is semi-problematic, though, thanks to Microsoft.  I find it easier to get parts sized and connected in Excel, but Excel has two nasty tendencies :  First, it tends to resize things even when you don't want it to, and even if you have the drawings locked and set to not resize with cells.  So you can, for example, copy a component drawing on one sheet, and paste on another and find out that it has resized the drawing for you.  So you end up constantly resizing your drawings.  And then when you go to print the design, it has a nasty tendency to change your aspect ratios - so that round switch is now slightly oblong.  Either of these can essentially ruin your work if you don't stay on top of it.  So if you have a better drawing program, I'd use it.  However, if you want to use the design I created, you are more than welcome to:

Panel layouts in Excel

When it comes to printing them, you'll need to fix the aspect ratio problem.  For this, the solution is actually pretty simple - copy the entire layout for a panel, and do a paste special op in Word to paste it as a jpg.  The aspect ratio issue is fixed by this.  Once the design is pasted in Word, simply select it , choose format, and flip horizontal - you'll want the entire thing reversed because you're going to be gluing it to the backside of each panel and cutting from that side. 

Reversed jpg images of the templates

You can use the same templates later for printing the front side label of each panel, but you'll need to remove some portion of each design - you only really need the marks that you want to show and any cutting lines for the perforations through the panel.  I'd recommend still leaving the front side label as a backwards print - the inked side would then be protected by the transparency film, or you can choose to try an ink transfer - I'm not sure if ink transfer will work, but I'm going to give it a shot once the panels are cut, primed, and painted.

One final note about using my panel templates above - I still don't have the round arcade buttons in from the supplier yet, so the dimensions for the cutouts may not be accurate.  And PLEASE double check dimensions before printing or using them - I doubt all are ok as is - but I'll update them if I find issues as I start printing and using them.

Friday, October 16, 2015

Starting to build!

So the day has finally arrived that I start to actually put something together.  This build may not seem the most logical in terms of order, but I like to see physical progress, not just planning.  So I wanted to actually start the build - but I started simple.  I started sketching out the layouts of each panel.  While some are close to done, not all are.  What was easy, though, were the designs for the labels for the 30 mm square illuminated switches.  I didn't make any changes to Jeff's design here - I shamelessly copied it all.  The inside of each of the switches is about 0.86" x 0.86" (I apologize for switching systems of units, but my calipers are in imperial while most of the hardware for the build is in metric).  So a simple layout will suffice for these.

30 mm square illuminated push button labels

I printed these on a laserjet transparency and cut them out with a pen knife.  Then I had to get them into the button.  You could glue them to the surface, but getting them inside the button will protect the print from being worn down with play.  This is pretty straightforward to do, but here are the steps:

The button first needs to be disassembled.  If you gently twist the microswitch counterclockwise (looking from behind), you can remove the microswitch assembly from the rest of the button

At this point, you can remove the hold down nut and the rear trim piece around the button, but it is completely unnecessary: 
Now you'll need to remove the center assembly from the threaded black piece.  To do this, you need to pinch the white tabs at the rear of the assembly, but to do that, you'll first need to depress the spring to get it out of the way.  I just used a micro screwdriver:
Then squeeze the tabs together and push the assembly out the front of the black piece.
With the assembly, out, remove the spring:
And then use a micro screwdriver in a corner between the white and clear plastic pieces to slowly and carefully pry the clear faceplate off the rest of the assembly.  Do this carefully because you don't want to break anything.
With the switch disassembled, you now simply need to place the transparency piece into the clear faceplate between it and the white backing plate:
Then reassemble the switch, following the reverse of the disassembly procedure.  The only watchout is to be careful of the direction the tabs at the rear of the white assembly are pointing when you put it together with the faceplate.  I made sure they went parallel with the wording on the transparency -  this will ensure the microswitch goes left/right under the button when you assemble the panel, making it less likely to interfere with any of the wood structure under the panel.

When you get to putting the microswitch back in, you may choose to change the LED if you want.  This is pretty straightforward - pull the old LED out, unwrap the cathode and anode, pull the old LED from the bracket, and wrap one of your choice of colors in behind it.  I did this for the Master Alarm and Abort buttons, replacing them with a 5 mm diffused red LED at this point.  The others I'm not certain yet on what color or size I'm going to use, at least until the blue and green 5mm diffused LEDs I ordered come in.

Tuesday, October 13, 2015

More parts arrived today...

So I got a large delivery today, with all the potentiometers, rotary switches, finish washers, and knobs arriving.  The only outstanding orders I have are for the red, green, and yellow arcade buttons and the blue and green 5mm LEDs I ordered last week.  Both are supposed to be in transit now.

I also picked up a 2'x4' sheet of 1/4" masonite to start the layout process.  I plan to draw up the individual panels and just lay them out on the board at first just to see if I like the looks.  I got started on that tonight, but have a ways to go.  The first step was simply determining the size of each subpanel.  I started with the booster panel, which is one of the more crowded panels.  After trying a few different sizes, I believe that 6"x6" is a pretty good balance for size.  I'll see if the other panels look good with that size as I sketch them out.

I also placed an order for wire.  That's one of those little details that can easily be overlooked for price.  And it can add up.  Microcenter sells 22 AWG stranded hookup wire for about $10 for 100 ft.  That isn't a horrid price compared to what you see on Ebay.  But it isn't cheap, and we'll be using a lot of wire.

Fortunately, I found Allied Wire and Cable.  They have a "bargain bin" section with what looks like the equivalent of carpet remnants - odd lengths of different colors.  Shipping isn't cheap through them, but even with it, costs end up being less than half of Microcenter - if you need to bulk order a lot of wire, it could be worth a look.

What I'm looking for now is a decent option for housing the status panels (the dual LED matrices).  Jeff used aluminum and plexiglass here.  I haven't found decent prices for any acrylics to use for these yet - but I may be able to simply use masonite with reflecting tape.  I'm going to keep looking and see what I can come up with.

Saturday, October 10, 2015

Parts arriving

So I know I just posted about ordering parts, but in reality I started ordering about two weeks ago.  Parts are coming in fast at this point.  Here's all that is left that I have yet to receive:

5 position rotary switch
The MF-A04 knobs
The rotary potentiometers
The red, green, and yellow arcade buttons.

Everything else has arrived, and the above items are actually in transit.  Kudos to all the suppliers - so far everything has come very quickly.  The only hiccup was in the LEDs that were accidentally sent to the wrong town in Ohio by USPS, who then caught their error and rerouted the shipment.

So far everything has come in good condition and worked well... but about those LEDs.

The 10 mm LEDs I ordered were supposed to be about the same brightness as those Jeff used - but I'm a little underwhelmed on the green ones.  The red ones are nice and bright, the green are just a little dim in my opinion.  In addition, if you notice in Jeff's design, it looks like he used green LEDs in the 30 mm square switches along the bottom.  The switches were shipped with white LEDs - and the 10 mm green LEDs don't fit in the switch.  So I need 5 mm LEDs if I want some color other than white, which, naturally, I do - but that's entirely a personal preference.  I just like the change from white to color when the switch is hit.  So I ordered a pack of 50 blue 5mm LEDs and one pack of 50 green 5mm LEDs.  Hopefully these are brighter.  I'll decide if I like blue or green better when they come, and I might swap out some of the 5mm for the 10 mm in the status panel LED matrix.

I've also ordered laserjet transparencies.  I know Jeff used inkjet, but I have access to a laserjet, so I'd like to use that instead if I choose to use the print and glue to the panel approach Jeff used.  I'm thinking of taking an alternative approach or two, but we'll cover that later.

Edit:  I know Jeff said he modified the LED holders for the 30 mm square switches to hold the 10 mm LEDs.  I wasn't willing to cut into these parts just yet, plus diffused 5mm LEDs I had on hand seemed to light the face of the switch relatively evenly, so I decided to try to fit 5 mm LEDs first before cutting into the switches.

Ordering the parts (ctd)

Now that I knew what I needed, it came down to ordering at the parts at reasonable prices.  Jeff used Adafruit and Sparkfun for quite a few parts.  While their prices on some things are good, there are plenty of other items where their prices are so high that the cost of this build would be astronomical without shopping around.  Some of the parts are hard to find, but for most of them I found the same component at a lower price.  The most significant changes were in the arcade buttons, where I found some with microswitches that will likely not be momentary switches.  This really shouldn't be an issue, though - at worst it may lead to a slight programming change with the arduino.  Apart from that, I switched from 4 digit 7 segment LEDs for some of my readouts to 3 digit ones - on these components you can see Jeff built it with the fourth digit simply covered over and unused.  By switching to 3 digit ones, I could save a few dollars...

So here's the build list with my source:

16 x 8 Matrix LED drivers
MCP23017 I/O expanders
Arduino Mega
Raspberry Pi B+
30mm square illuminated pushbuttons
4 digit 7 segment LED displays
3 digit 7 segment LED displays
missile switch covers & switches  (note: I ordered 7 of these, and reduced my spst switch count to 9)
SPDT switches
SPST switches
rocker switches
10 mm LED holders
10 mm diffused green LEDs, 10mm diffused red LEDs, 5 mm diffused red LEDs
12 segment bi-color LED bargraphs
30 mm yellow arcade buttons
30 mm red arcade buttons
30 mm green arcade buttons
multiposition rotary switch
rotary potentiometers
potentiometer/switch knobs
3.5 mm stereo audio jacks
walkie talkie set - used bellsouth 2250bk set (no longer listed on ebay)
headset with microphone
slide potentiometers
5 mm LED holders
#6 finish washers

In addition, while shopping, I purchased this gauge at Sparkfun that I'm going to work into the design:

 1 x 0 to 5v analog panel meter

I'm sure you can beat some of these prices, but I had other projects to shop for and in some cases the shipping prices led me to pay a bit more on some components to save in the end via lower shipping costs...

Thursday, October 8, 2015

Time to order parts

So I actually did this awhile ago, but I'm really catching up here.  The github post by Jeff had a list of electronic parts he used, but not quantities.  That last bit is pretty important.  I spent some time looking at photos and the video to figure out numbers, and here's what I came up with, modified based on my design... these are primarily just the parts it makes more sense to order, the rest you can generally get affordably in town.

  • 5  x 16x8 LED matrix drivers
  • 4 x MCP23017 I/O expanders
  • 1 x Arduino.  He used an Uno, but I'm switching to a Mega as it was only $2 more expensive at Microcenter and gave more I/O for a little more design/expansion flexibility
  • 1 x Raspberry Pi.  He clearly used a B, but I'm starting with a B+.  If I find I need more power, I'll switch to a 2
  • 12 x 30mm square illuminated pushbuttons
  • 2 x 4 digit 7 segment LED displays
  • 6 x 3 digit 7 segment LED displays
  • 7 x missile switch covers
  • 2 x SPDT switches
  • 16 x SPST switches
  • 4 x rocker switches
  • 9 x 10 mm LED holders
  • 32 x 10 mm diffused green LEDs
  • 23 x 10 mm diffused red LEDs
  • 8 x 12 bi-color LED bargraphs (2 more if you want to do the INCO panel display)
  • 5 x 30 mm yellow arcade buttons
  • 4 x 30 mm red arcade buttons
  • 3 x 30 mm green arcade buttons
  • 1 x power supply (he used 5v 10A switching, I'm going to see what I need based on my modified design as I get further along)
  • 1 x multiposition rotary switch (it looks like he used a 7 position, I'm switching to 5 as it fits with another device I'm building that needed 5 position switches, allowing me to combine orders and get them cheap)
  • 8 x rotary potentiometers
  • 9 x potentiometer/switch knobs
  • 2 x 3.5 mm stereo audio jacks
  • 1 x walkie talkie set
  • 1 x headset with microphone
  • 4 x 5 mm red LEDs
  • 2 x slide potentiometers
  • 4 x 5 mm LED holders
  • 76 x #6 finish washers
Then there are the other bits, such as masonite, translucent cutting boards, laserjet transparencies, wire, glue, etc that I bought in town.  I'll document this stuff as I use it to recommend a final BOM when I finish.  In addition, I'm using the following that was not purchased, but was just lying around unused:

  • 1 x Asus EeePc 1005ha Netbook 
  • 2 x computer speakers
Next time I'll show you where I ordered each part from.  There were some significant savings to be had by switching up orders online, as long as you can wait for parts.  I'm sure others could even beat my costs...

Wednesday, October 7, 2015

So before I get into the gritty details, I should probably first cover the improvements/changes I'm planning on making on Jeff's design.  

I like the overall layout of the panel, but rather than having an iPad feed random videos, I wanted to change the design so that the video being displayed was related to the button pushed or the switch flipped. Theoretically, this isn't very hard - I essentially just need a monitor in the middle of the panel in the same spot that Jeff put his iPad, and connect that monitor to the Raspberry Pi driving the entire setup.  You can do this any number of ways - you can get a small TV or PC monitor and directly connect it to the raspberry pi - that's probably the easiest approach.  Then in the python code simply call omxplayer in response to the switch and have it call up the desired video.  The catch, though, is the size of the display.  Even a small monitor will overwhelm the size of the panel pretty quickly.  In my opinion, something of the 7-10" form factor is really a better fit here.  Fortunately, I had an old netbook PC with a 10" monitor lying around unused that I can repurpose here. 

In addition to the display change, I wanted a slight mod with the communications panel.  I don't have room for a spaceship somewhere else in the house, but one of the kids can still be an astronaut and run around the house in a costume (or not), communicating with "mission control".  The easiest thing for this is just simply to wire a walkie talkie into the control panel... so that's my plan going forward - bury one walkie talkie into the panel so it works via the buttons on the panel and feeds into a headset, and then have the other one go with the astronaut.

I've also got a few small tweaks that I'm planning for readouts, thanks to some items I found while shopping for parts, but I'll cover those later.

And finally, I'm not planning on building up an entire desk like Jeff, but rather make it a portable panel.  That's pretty minor, though - if you're building one, this is where your creativity and needs rule over anything anyone else can design.

Next, its time to order parts.

Monday, October 5, 2015

A few months ago, I ran across the mission control desk created by Jeff Highsmith and documented in Make magazine and recently decided to build one for my kids, as they were fascinated by a similar, but much simpler, panel at the St. Louis Science Center.  Naturally, I wanted to make a few changes and improvements to the design, and found that the instructions on Make magazine's website, while good, were missing a few details to get past some hurdles in the build, such as wiring diagrams, as well as links to sounds needed to complete the build.  So I decided to try to create this blog to document my progress to help others along. 

If I can keep up with documenting what I'm doing.  I'm not always good with that.  We'll see how it goes.