Tuesday, July 29, 2014

OFBC: PCB Fabrication

Note: This is part of the Project Write-up for OFBC: One Fluorescent Beer Coaster

From Protoboard to PCB

The next step along the path was to turn a gawky mess of a protoboard into an elegant example of good design.  This step took a lot less time than I thought it would thanks to Fritzing.  Billed as "Electronics Made Easy", I installed and got up to speed in under an hour.  Conversations with my compatriots helped me tweak and massage the design to our satisfaction.  The end result is a 2" (58mm) PCB for through-hole components.  This will secure the buttons, driver and LED while connecting to the battery.  The experienced among you are probably thinking how absurdly large that it.  It could be a lot smaller, but I consider it acceptable for a first run.  As with other projects, the latest version of the fritzing file will be available on github.


First Run

If I had to pick one part of this project that made me more uncomfortable than any other, it would be the PCB fabrication steps.  I took chemistry in High School and College.  I know the basics.  However, I don't know enough to do it confidently.  I took my queues from MAKE's excellent video tutorial, acquired chemicals at Frys, harvested glass from a recently disabled printer/scanner, and printed transparencies at FedEx Kinkos.  My exposure light was a 26W CFL in a desk lamp.  My red light was a red LED straddling a button cell.

Sneak peek at the Shell prototype

I removed the board from the developer too early or exposed it to too much light. This caused a large region of copper to not develop. There is no way to align and cut a ton of these after the fact. The PDFs exported from Fritzing come out one per page. This means they need to be done one at a time unless you have the skill to post-process the PDF into multiples per page. I pre-cut the PCB's during subsequent runs. My table saw made short work of the big board, and the pre-sensitized copper has a sticker over it that allowed me to cut the board to pieces without compromising its ability to accept an image.

Oops 

Once the etching was complete, I drilled out the traces.  The prototype board was drilled using a 1/16" bit.  This was way too big.  Out of all the bits I tried, normall through-hole components worked great with a 1/32".  A 1/16" bit was required for the MOSFET, however.  The best set I found was one for the Dremel.

Modern Silk Screening ain't got nuthin' on Sharpies

The only part of the process that ended up being perilous was the disposal of the ferric chloride.  The leftovers are back in the bottle.  I'll take them to the waste disposal place soon.  My driveway has a nice big rust spot on it from where I washed off the etchant.  How am I going to explain that to the HOA?  Ultimately, the problems with Ferric Chloride lead me to a different etchant entirely: Cupric Chloride.  See below.

Production Run 1

With the test run experience in hand, we were set to make an attempt at our first full run.  I chopped the boards on a table saw first.  This was a stunning success.  I also redesigned the PCB to include a slide switch to kill the circuit.  This allows long-term storage as a shifting bag or box won't depress the pressure switches and drain the battery.  You might see on the random design shots how we were planning on mounting the LED to the lid.  This changed before the final production PCB run, and we moved all traces outward to make room in the center of the PCB for the LED module on heatsink.  I also added a copper pad in the center to maximize heat transfer.  Some thermal paste will seal the deal.

The exposure took place in the half bathroom.  With access to water and no exterior windows, it was perfectly suited to etching.  Our supplies were:

  1. Tape, transparencies and pane of glass.  The circuit image is taped to the glass in a double-thick layer.
  2. Positive Developer mixed 10 to 1 in a glass pyrex.  When in doubt, use pyrex to ensure things won't melt through the container.
  3. Desk lamp with a sifficiently bright CFL bulb.
And our steps were:

  1. In darkness, peel off protective layer from light-sensitive copper clad board.
  2. Position the board over the top of your image and tape down.
  3. Flip the glass pane over and double-check the board is positioned correctly.
  4. Expose for 8 minutes using the lamp.
  5. In darkness, remove the board from the glass, and place it in the positive developer.
  6. Swirl the PCB in the solution until the image appears.  If your developer is sufficiently diluted, longer development times will be experienced.  It is better to over-develop and start to lose the image than it is to under-develop and end up with no traces at all.
  7. Wash off the board when it is sufficiently developed,



Final Exposure Workstation (The Guest Bathroom)

After exposure, good boards were placed into the etchant.  The Ferric Chloride was a great big mess.  It was hard to see how the process was coming without fully removing the board.  In addition, it needs to be heated to be truly effective.  Las Vegas has an ambient temperature of 100F/ 38C, and it still took 30 minutes per board.  You can see the etched boards below.  Before soldering, the etch-resist is removed via acetone.

Finished Product on the Plate

Great Success!

Production Run 2

With DEF CON a week away, we didn't have enough boards to complete our goal yet of nine complete lights.  We met for what we thought was our last etching party.  Much like the previous time, we decided to expose and etch using Ferric Chloride.  These boards looked great.  It was obvious we were starting to figure out how to do this effectively.  Unfortunately, we also forgot to check the boards as they were produced.  All 3 good boards were mirror images of what they should have been.  DEF CON loomed large, and we went with the more radical solution: switch etchants and try again.

The new etchant relied on Cuperic Chloride.  Once again, I turned to Instructables for a helpful tutorial.  The key ingredients were muriatic acid and hydrogen peroxide.  As the link shows, the acid and hydrogen peroxide oxidize the copper to form CuCl.  This in turn oxidizes to form 2CuCl by stealing copper from the PCB.  What's better, it needs an acid refresh much less often, and it is completely reusable.  A bubbler or aggressive mixing causes oxygen to oxidize with the 2CuCl and start the cycle again.  We obtained new PCBs (see my rant about Fry's below) and went to town.  We ended up with the 9 boards we needed; we began assembly in earnest.

Lessons Learned

The first board we did had the light placed too close (1-2 inches).  Also, the positive developer was extremely strong.  This caused all of the etch-resistant coating to wash away.  A little more water and moving the light 6-8 inches solved that problem.  When we were doing it right, we waited for the image to appear and then become crisp.  It is extremely difficult to tell in the dark if the image is still cloudy or not.  When in doubt, dilute your developer and leave the boards in there longer.

As with my woodworking posts, the matra is, "Measure Twice, Cut Once."  After every critical step, we had one person check another's work.  This saved us time and again from poorly aligned boards, undrilled holes and bad decisions at the bench.  It didn't save us from all screw-ups (a full crop of mirrored boards), but it saved us other embarrassments.  It also exposed every team member to each point in the process.  In total, five people participated in the manufacture of these boards.  Most have projects lined up that take advantage of things learned along the way.

The boards themselves were a problem, and they highlighted a weakness in the supply chain.  All copper obtained from Fry's failed at least a third of the time.  Online, the consensus was that the boards were old or improperly handled.  The positive developer was much stronger due to being partially evaporated.  The buttons we obtained were stiff and of differing quality that those used in prototypes.  All in all, I would recommend avoiding Fry's if you can help it.  They might have enough materials to get you going, but Amazon or similar suppliers can get you what you need fast enough that it makes no difference.

Space Hulk: Death Angel in a Cigar Box

The Plan

Space Hulk: Death Angel is a 1-6 player card game as brutal as its predecessor.  It has a ton of expansions, and it quickly outgrew its box.  I love to play this as a time killer while waiting for family or board game night to start.  It is brutal enough that it could be over in 5 minutes, but it is complex enough to withstand repeated plays.  I wanted a replacement box to be sturdy enough for for transport with the modern features of board game boxes that made parts easy to find and keep organized.  

I decided to go with a black Sancho Panza box.  After the labels were removed with acetone, I removed the inner lining and deororized the whole box with Odor-xit, an amazing oxidizer.  I lightly sanded the inside and blew it out, just in case.

Modern enhancements were card sleeves and push.pop style card storage.  Card sleeves let me play almost anywhere.  The Fantasy Flight sleeves were well matched for size.  The push/pop method of card storage was introduced to me with Lords of Waterdeep.  The insert in that game allows you the push down on one side of a deck of cards and pop up the whole deck at once.  No more groping in the bottom of the well for that one last card.  

Once I had my features, I sketched out a plan.  I calculated the height of the interior of the cigar box, and I left a little room for a rule book to sit on top.  The cards would be separated into six piles.  With the different expansions, this worked out pretty well.  Sleeved, only one pile gives me trouble and slips out regularly.  Each partition was made from 1/4" baltic birch cabinet plywood I had a sheet of.  This stuff is great for ripping into strips.  I used it on the Dominion Case as well.  I then notched the corners to make sure they fit in the box easier.  The final step was to cut slots into the horizontal divider and a single slot in the vertical dividers.  This was mostly done by feel.  I cut the outside edges, cleaned up the center and tested the fit.  This was repeated until I was satisfied.


Overall, the box had dramatically improved the portability of the game with all its expansions.  The box complements the game itself in its simplicity and order.

Lessons Learned


  1. I did not leave room for the rule book at first.  I had to chop down the height of the dividers once I realized the oversight.
  2. I originally slotted the vertical dividers x 2 on the wrong side of the measurement.  This left half of the cards with a much tighter fit.  It took me a it to figure out what I'd done, and I was unable to salvage those dividers.  When making cuts in "The Middle", ensure you have things in the exact middle by flipping your pieces around once they have been marked.  The middle should be in the same place on both pieces.
  3. Removing the exterior lining may not have been the best way to do things.  The biggest problem with this box is that the cards will slip out through the gap between the lid and the bottom.  Moving the push/pop dowels to the outside edge could fix this too.  The sleeves would probably need to come off if the second option was used as the interior would lose 1/16" on all sides.
  4. Salvaged cigar boxes need better hardware.  Especially when transporting them, it is important that all components remain secure.  A swing latch could greatly increase the ability to keep the lid closed beyond the simple latches on the cigar boxes.  I'm going to pick some up and make some recommendations in a future post.

Monday, July 28, 2014

DnD Table 3 and 4

Preamble

Our gaming table has gone through many phases.  The first was an 8x4 foot sheet of plywood on some sawhorses.  We wrapped it in felt and stapled it down, but the felt kept pilling and it was hard to replace.  We chopped it down to 6 feet, split it down the middle and swapped vinyl for felt, but the legs were still hard to store.  The third mod was to replace the cumbersome legs.  The fourth was a new and lighter table top.

This has been useful for gaming, crafts and many other activities.  It is light weight and takes up very little room.  We keep ours in the garage and pull it out when we need it.

The Legs

Lowe's had some really nice seasoned 2x3's.  A few hours and chop saw got me a new set of legs.  The chief features of the table are its simple construction and plentiful leg room.  It has been a chore to find a good way to attach the top to there, however.  Overall, the legs have been maintenance and trouble free.  If I borrowed the design from somewhere, I have forgotten it.  If you attempt to replicate it, read all instructions first, measure twice and cut once, and always wear your safety glasses.

The cut list is basic and can be created from six 8 foot 2x3's, Not compound angles are needed, but the legs have angled cuts.  The measurements below rely on the geometry of your lumber being moderately predictable: Two 2x3's together should come out to 3 inches.  You may have to adjust the length of your interior cuts if this is not the case:
  • Outside Length: 72" x 2
  • Inside Length: 69" x 2
  • Outside Width: 27" x 2
  • Inside Width: 21" x 2
  • Legs: 30"+ x 4
  • Blocks: 4 1/2" x 2 1/2" x 4 (mine are from oak as that's what I had lying around)
  • Lots of 2 1/2" construction screws
  • 4x 5 1/2" Carriage Bolts with Washers and Nuts

Assembly of the top is also basic.  Remember to drill pilot holes for all screws ans work from the inside out:
  1. Inside Width -> Inside Length 
  2. Inside Length -> Outside Width
  3. Outside Width -> Outside Length
The legs can be tricky to position depending how high you want the table top.  For my 24" height top, the legs are 26 1/2" with a 75 degree cuts at both ends (making a parallelogram and not a trapezoid).  The legs meet in the center of the table top.  The math to place the hole precisely has been lost, but those inclined should have no trouble replicating it.  In general, slip your uncut legs into the slots between the Inside and Outside Length so that they meet in the middle.  At a point between 9 and 11.5 inches from the end of the table end, drill the hole for your carriage bolt through both Inside Length, the Leg and Outside Length.  Make sure the hole is not closer than 2 3/4" from the end of the Leg.  Thread the bolt through the hole and test your leg height.  Cut your leg into a parallelogram to maximize contact with the floor and minimize interference with the table top.  Position the Blocks to ensure the legs only rotate a certain amount.


If all goes well, you should have a sturdy and light set of legs to use as a base for any table top you can dream of.  The method of attaching the top to the base is discussed in the next section.

The Top

The latest addition was a lighter table top.  Previously, we used a piece of 3/4" Oak Plywood with vinyl stapled to it.  This was extremely sturdy and stable, but it was a huge pain to move.  I designed the new top to be light and attach directly to the legs.

Much like the legs, the top was stick framed using flashing from Lowe's.  This time, 1x2's provided a good base, and Kreg Pocket Hole joinery held everything together.  Along the center line, two lengths are abuttewd to provide enough surface area for the hinges.  Instead of heavy plywood, I used a thin luan top.  All this was wrapped in vinyl again (the most successful table covering we've had thus far).  Unlike previous folding incarnations, the vinyl was split in two pieces and each half of the hinged top was wrapped separately.  The cut list for my 6' 6" top is below.  The Inside Stiles are not required to be the listed lengths as long as their total lengths come under 72".  I placed them so they would fit between the blocks in the legs and help the top align to the legs.  Your mileage may vary; see lessons learned below.  As always, your local dimensional lumber may vary, measure twice, cut once, and always wear your safety glasses:

  • Outside Stile: 78" x 4
  • Rail: 19" x 8
  • Inside Stile (Ends): 17 7/16 x 8
  • Inside Stile (Center): 37 1/8" x 2

Assembly is a little trickier than the Legs.  With your pocket hole jig, join the Outside Stile to the Rails at both ends.  Use the Inside Stiles to locate where to place the inside Rail.  Add the Inside Stiles to make a double-layer of wood in the center of the table-top to better brace the hinges.



With two halves of a table top in hand, it is time to locate the hinges.  Match the hinge location to your legs so they won't interfere with how the table sits flush.  The vinyl wrapped on the side that will be the center of the table will need to be relieved where the hinges will go.  I chose to wrap after attaching the hinges.  I now feel this was a mistake. In the pic above, I've routed out a place for my hinges.  In practice, I didn't need to do this.  Just clamp the table halves together after the vinyl is in place, locate your hinges parallel and centered on the joint and screw in place.

I have tried many things to secure the table top with a minimum of fuss.  Right now, I'm using machine screws and associated sockets sunk into the top.  The screws thread through the legs and into the top.  They require climbing under the table.

Lessons Learned

  1. I would decide on a method of attaching the table before I started building.  The primary candidate is a Sash Lock.  Placed correctly, it would easily lock the legs to the table top without climbing under each time.
  2. I would avoid insetting the hinges.  Instead, careful placement would allow the hinges to be used without interfering with the mating of table top and legs.
  3. I would wrap the vinyl completely around the top so all stapling was done on the bottom.
  4. I would not tell my gaming group how much better this version of the table was until after it had proven itself.  I have gotten no end of grief every time I climb under it to hook the two together.  What are friends for, eh?

Bonus Shot: Plans


Tuesday, July 22, 2014

Updated: Random Shop Projects

Cat Tower

We needed a new cat tower due to acquiring a monster of a tom.  Might as well do it right!.  I wrapped the columns in sisal (one roll of Lowe's Blue Hawk lasted about a foot and a half), made the base double-thick plywood, and wrapped all horizontal surfaces in carpet.  There are a brazillion staples in that thing.


I wish I had purchased round posts instead of these ungainly square ones.  Not only were they more difficult to wrap, but the sisal seems to pull away and tear easier when it sits a quarter inch from the surface in the middle of each face.  The next model will have pillars, and I have half a mind to glue the sisal in place to lengthen the time it takes to get into such disrepair.

Update: I made a small tower for upstairs and glued the sisal in place.  It seems to be holding up much better over time.  Instead of using square pylons, I used redwood ties from Lawn and Garden.  They wrapped much nicer than the square ones.  It is held by a single bolt and, as of this writing, has broken once when someone fell on it.  Eep!



Vacuum Tool Holder

This serviceable Shop Vac tool holder plan came in via Shop Notes.  The tools are sitting atop PVC end caps of a fitting size.  It took longer to find the parts than it did to assemble the thing.


Miter Sled

Shop Notes, Woodworking for Mere Mortals and a bunch of Indian Rosewood acted as a catalyst to get me to build a Miter Sled.  I hate miters on a contractor's chop saw.  The constant adjustment leads to endless headaches.  The sled eliminates this with a stable 90 degree platform that facilitates perfect cuts every time.



The base is plywood, and I followed the techniques of the above YouTube video to get my rails aligned.  To each arm, I added T-Track and will build stop blocks.  These will be invaluable for building boxes and lots of picture frames in the same size. 

Now all I need is a spline jig that stands the miter on end and allows reinforcing slots to be added...

Bonus Shots

Miter Sled Plans

Garage Shelves Plans

Bitz Wall for Blue Table Painting 

Page 2

Monday, July 21, 2014

OFBC: Design and First Prototype

Note: This is part of the Project Write-up for OFBC: One Fluorescent Beer Coaster

Circuit Design

I began the search for parts to fit the Instructable, and I realized I had a lot to learn about each part.  To match the circuit, we searched Frys, Radio Shack, ebay, Mouser and many others online. For an unproven design, going with an unknown module and supplier wasn't an option. Instead, we found all the components we needed on Adafruit.

  • Lithium Ion batteries must be matched to their charger to avoid dangerous heat and combustion incidents.  Capacity is determined by the Amp-hours rating.  The LEDs I was targeting were a max of 350mAh, so I looked for batteries had to be over 1000mAh to get the targeted 3 hour run time.
  • The charger choice was mostly driven by battery choice.  We didn't feel like we could provide a mounted Micro-B port in the time available, but a charging circuit mounted to a full sized USB plug was a good substitute.  With the shell, we would provide an easily removable bottom and 'mouse hole' to allow the charger to live outside the case.
  • Most LED projects online mention heat at one point or another.  To get ahead of this concern, we opted for a heat sink-mounted super bright LED.  This same LED bead was seen on ebay without a heat sink, but we didn't want to screw anything up due to inexperience and opted for the more expensive package for the first run.
  • The Driving Circuit was a simple buy, and the choice also dictated our resistor purchase.  The key value from the MOSFET we purchased was Gate Threshold Voltage.  The voltage drop across R2 with the battery we bought had to match this value.  Using V = IR, R = V/I = 1.5V / 350mAh ~ 4 ohms.

Materials List

Name Description PID
Battery Lithium Ion Polymer Battery - 3.7v 1200mAh 258
Charger Adafruit Micro Lipo - USB LiIon/LiPoly charger - v1 1304
LED 1 Watt Cool White LED - Heatsink Mounted 518
Driving Circuit N-channel power MOSFET - 30V / 60A and NPN Bipolar Transistors (PN2222) - 10 pack 355 and 756
Resistors 100K and 3.5 Ohm Resistors Already Owned

Components, Breadboards and Protoboards, Oh My!

Once the materials were in hand, the breadboard went well.  It worked the first time!  While we waited for batteries to charge, we used a simple brick of 4xAA batteries.  The beauty of the driver we chose is that it can drive LEDs using any voltage source over the target voltage.



Using the breadboard and schematic, we attempted a protoboard version of the circuit.  This was a complete mess, and it took us a lot longer than it should have.  However, by the end of a single prototyping session, we turned a jumble of components into a working light.  One high/low note happened when we wanted to minimize the number of connections but didn't have the right resistor for R2.  We twisted two resistors together to get close to R2's 3.5 Ohms and put them through the same hole on the protoboard.  Instant parallel resistor!



Conveniently, the whole project fit under a Ziploc Container lid.  A little bit of hot glue, another section of protoboard with a hole in the middle, and charged batteries got us our first complete prototype!  It was brighter than the equivalent cell phone flash and had excellent diffusion through some purpose-bought Smirnoff Ice.

Touchscreen on Raspberry Pi

A friend has a few Elo Touchscreens from a past venture, and I have racked my brain trying to figure out a use for them. After giving up on Android PCs, I took a stab with a Raspberry Pi Model B running the Raspbian image from Noobs.  Two obstacles presented themselves:

  1. The Raspberry Pi only outputs HDMI.  For now, I'm going to try an HDMI to VGA converter. Better to get this thing off the ground than hem and haw about a 'better' solution.
  2. The touchscreen is inverted.  For this, I installed the xinput-calibrator tool per the instructions on the Raspberry Pi forums given by msmithy12 and a helpful config guide:
sudo apt-get install libx11-dev
sudo apt-get install libxext-dev
sudo apt-get install libxi-dev
sudo apt-get install x11proto-input-dev
download http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-0.7.5.tar.gz 
tar xvzf (downloaded file)
cd (downloaded file)
./configure
make
sudo make install
Then, from the menu: Preferences/Calibrate Touchscreen
  1.  Do not immediately follow the instructions given when you run calibration (place the calibration in a /etc/Xll/...).  Doing so borked my Raspbian install.  Instead, create the file specified in /usr/share/X11/xorg.conf.d/.  I ran "sudo leafpad 99-calibration.conf" to create and edit the file.  After dropping in the calibration indicated, I restarted and found out it stuck.  Woo hoo!
 I will update this space with my progress.  Currently, the setup is:
  • Raspberry Pi Model B ($35)
  • Elo Touchscreen ET1939L (Pre-owned)
  • BYTECC HM-VGA005 HDMI-A to VGA Female Adapter/Converter ($20)
  • 1 x WiFi Dongle (Ralink RT5370 chipset) ($10)

Lessons Learned


  • Single User Mode could have beenused to save my Raspbian install.  It can be entered by adding init=/bin/sh to cmdline.txt.  I was using Noobs, so holding Shift while the PI boots got me into the editor.
  • I like Linux more and more each project.

Friday, July 18, 2014

OFBC: Inspiration and Research

Note: This is part of the Project Write-up for OFBC: One Fluorescent Beer Coaster

The Idea

As night descended at Toxic Barbecue at DEF CON 21, everyone was working through the meat and alcohol they'd consumed much too fast and in much too large a quantity.  Rather than move the party somewhere else (Las Vegas' Sunset Park is safe at night, right?), we began to experiment with cell phone screens, then their flashes.  The lights were bright, but they were also extremely narrow in focus.  

The Liter of Light project gave us an idea to use a liquid to diffuse the light.  As there was still copious amounts of alcohol left behind, we started experimenting.  This 'research' lead us to decide that Smirnoff Ice was the best diffuser.  Filtered beers were awful due to both the dark bottles absorbing light as well as the liquid having no solids to scatter any that was left. Smirnoff had the clear bottle and label as well as a ton of solids from the included fruit juice.  As this was a hacker party and not for frat boys, we had plenty left. The misogynists among us named them 'Bitch Lights' after the colloquial term for Smirnoff Ice: Bitch Drinks.  We had our product; now we needed to separate it from the phones.


Research

DEF CON 22 planning made us realize that we needed to make good on our promises made while too intoxicated to realize we knew nothing about how LEDs actually work.  First stop?  The local Hackerspace, of course.  SYN Shop is in downtown Las Vegas.  Multiple forum members are lighting and electronics techs on The Strip.  They pointed me towards specific packages, drivers and batteries.  I took this foundation and boiled it down to specifics.  I wanted the light to be composed of the following elements:
  1. Super Bright LED (1W, 100 lumens)
  2. LED driving circuit
  3. Battery (3-4 hours of time)
  4. Charging circuit (USB)
  5. Switch to turn it on
  6. 3D Printed Body
Armed with search terms from the forum, I found a wealth of helpful links.  I found LED packages that fit the "Super Bright" definition all over the web.  I learned a ton about batteries and chargers (did you know Sears still exists and has an online store?).  The most helpful site was Instructables.  There, I found several LED driver circuits that I actually understood.  After a trip to Frys left me bewildered with options, I learned to better read datasheets.  Finally, I had a working circuit design.