Showing posts with label Shop. Show all posts
Showing posts with label Shop. Show all posts

Sunday, May 5, 2019

Splined Miter Jig and the Resulting Picture Frames

Here are a few pictures from back in 2016 showing a picture frame which was the first thing I made using my brand new jig: a miter sled I built from scratch for my Jet table saw.
The frame is Indian Rosewood. It has a very strong grain and is slightly oily. It was easy to book match, and each corner has a key from some yard cypress. The contrast between the two woods wasn't enough to make them stand out, but it gave the frame lots of strength. The finish is paste wax and nothing else. Very lustrous.
The glue up was really awkward due to the thickness of the piece. I bought strap clamps for next time. I'm not a fan of the simple geometry either. I need to take the time to make a few more shaping passes before cutting the miters. The frame itself kind of consumes the photo placed therein because there is such a deep well between the inside edge and the glass. It is very chunky as a result.
The hardware and glass was bought or salvaged from cheaper frames. I didn't measure right for the glass and had to shave a mm off one side to make it work. Gulp.

Saturday, June 2, 2018

Fixing Ford AC Head Controller Vacuum Problem

The AC on my land yacht (2009 Mercury Grand Marquis) has been in the fritz for a while. Last winter, it gradually stopped switching from max AC/recirculate (a necessary in Vegas), then got stuck on norm AC until it rested on Defrost/Floor. I was able to fix it with some basic troubleshooting, YouTube sleuthing, and two bucks in o-rings.

This shaky yet informative video by Ian Smith helped me diagnose it as a problem with vacuum only. The AC itself was fine. It blows cool air all day long. It just did so at the windshield. It couldn't be the blend-door actuator.

The same video showed me how to diagnose the vacuum problems. The black hose providing vacuum from the engine seemed fine: I was getting 20 inches of vacuum with the car turned on when I hooked up a bleed pump with a gauge (mine came from Harbor Freight, shown in the video). To test the actuators, all I had to do was hook a 'jumper' pipe from black to the other pipes. Each one seemed to hold air, and the actuators sprang to life once again. For the first time in a year, I had cold air blowing from the vents. The problem couldn't be in the lines. I pulled the controller head for a closer look.

The head itself is a bunch of electronics, a control panel, and one removable plate with four solenoids. The vacuum hoses come into this through a manifold, and the head controls trigger the solenoids to route vacuum from the black hose to the others. This triggers different actuators under the dash. Something was amiss in the manifold.

I returned to YouTube looking for rebuild instructions. I found this extremely helpful video from a Chicago mechanic. The solenoids contain an o-ring that dries out, wears out, and loses the ability to hold vacuum. I obtained close to the recommended o-rings from Lowes (#36, 5/16 OD, 3/16 ID, 1/16 thickness) as I was not willing to wait for Amazon. A little Oatey silicone lubricant made the tight squeeze work a little better. I found I had to seat the solenoid heads at least once before total reassembly. It was too difficult to do so at the end and fight with the other small parts at the same time. 45 minutes later, I had full control of my AC restored.

I can't believe it was this simple to fix the controller. I think I was intimidated by the AC (having spent $1500 last year to have the dealer redo the whole system from seals to refrigerant). I didn't want to break anything. A few targeted troubleshooting steps helped assuage any fears of irreparable harm, and now I have a comfortable cabin once again.

Tuesday, April 3, 2018


My father passed late last year, and I made three nondescript urns as keepsakes for family and friends. It was the first time I made a box of any respectability since 2000.  I hadn't originally planned to make them when he passed, but making them helped me process things in a difficult time.

I was the responsible party for my father's estate as his wife does not speak English very well. As such, it fell to me to arrange the funeral, notify friends, and start to organize his affairs. I kept it together. The arrangements were made, the bills were covered, and all in a few days. I kept it together, that is, until I tried to return to work. I got ready. I even got in my car to go. But I could not. Instead, I went into the shop and executed a simple design for holding a portion of his ashes.

The material is Indian Rosewood (the same that I used for the magnetic bottle openers). The strong grain made mitered corners a natural choice. I even had enough contiguous grain to try to book-end most sides. I didn't have a keyed or splined miter jig (which could have strengthened the corners), but I figured the lid and bottom would provide a good brace against failure.

Dimensioning the lumber wasn't very difficult; it was the geometry of the corners that caused me real trouble. I left the sides thick to give each box some heft. I eyeballed the lid thickness and shaved down some beautiful figured grain to just the right height (maybe I overshot it a little and had to clean it up later). When I got to cutting the miters, I found that I didn't have any accurate way to match them up. The miter saw was definitely not accurate from cut to cut. I lost a lot of material on the table saw trying to get a canted blade to just the right angle. I finally settled on using my miter sled. I had to cut the sides down a bit to make sure I could make the entire cut in one pass. By the end of this therapeutic day, I had three roughly identical boxes ready for glue-up.

The second half took a few more months to pull off. Uncertainty about the accuracy of the cuts lead me to put the project on hold. Should I delay and try to true then with a shooting board? My girlfriend gave me the most wonderful advice once: when you find yourself rushing a project, put it down and come back later. The parts to three urns marinated on the bench and in my mind for a few months.

A test fit in March didn't seem too bad. The time off convinced me to persevere and get them together. I discovered too late that I mixed up the orientation of the edges. My careful bookends were a jumble on two of the three boxes. However, the imperfect corners and dimensional problems worked to hide the errors amongst each other. Sanding trued up protruding tear-out and splinters without obvious rounded-off corners. Finally, dark stain and some paste wax finished the work of hiding imperfect joints in dark recesses and shiny polished surfaces.

I finished the bottom with plywood. If I had to pick a spot where I'm uncertain about my choices, it's here. Glue is strong, but how will the baltic birch bottom hold up over time? I'm thinking of throwing in some brads there just in case. The bottom served as a canvas whereon I could memorialize my father. I was able to burn the message "Invictus Maneo", the Armstrong Clan (and our ancestral) family motto. Loosely translated, it means, "I remain unconquered."

This entire project was an object lesson in how I'm still learning some of the most basic techniques in woodworking. I need a way to clean up miters that start on the saw. A shooting board or similar has been recommended. Fine adjustments on my existing miter sled might also work. Though it didn't seem too bad once finished, the tearout for certain cuts makes me think I have a dull blade. I'll have to investigate, tune, and try again.

I think I've worked through a phobia of complex geometry. Something my father always talked about is how to hide your mistakes in woodworking. Bookends, miters, and a fitted lid left precious room for that, but I found a few tricks along the way such as meticulous test fitting, blue tape as clamps for difficult pieces, and patience above all. Regardless, I'm looking forward to the next boxes I build. I hope those have a markedly different emotional footprint.

Monday, August 4, 2014

OFBC: Putting it All Together

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

After months of effort, we had a circuit, PCB and shell design to accomplish our goal.  Putting it all together meant solving some unique challenges in the home stretch.  By far the most communal part of the project was finishing the circuit.  Parts were bought by three different people.  It took hours of trial runs and four different nights in my shop to finally get the circuit assembled and ready.  In all, the project taught us to keep moving in spite of obstacles.


The main obstacle was PCB manufacture.  As detailed in that post, uncooperative copper and etchant lead to abominations not fit for solder.  Drill bits broke in PCBs, holes were misaligned, and traces were torn up as we worked and reworked the boards.  The major blunder was the reversed PCBs, but it was tempered by the lack of polar components.  Only the transistor and MOSFET needed to be adjusted when we realized our mistakes.  The quality checks and encouragement as we worked as a definite plus.  There were several times I wanted to just give up and abandon the project.  Truly, I get by with a little help fro my friends.

After the PCBs were in our hands, the task of soldering all the components was a team effort.  One person ran continuity tests on newly etched boards.  Another bridged scratches and pasted down traces.  Buttons (functional and fake) were inserted and crimped at one station while a fourth person began to solder on components.

That moment of truth when the LED lit up was breathtaking all nine times it happened.  When it, more often than not, didn't work on the first try, the scramble to troubleshoot was a team effort as well.  A loose connection, bad trace or through hole in need of a reflow was rooted out in minutes. I can't describe the feelings from closing the box with nine functional copies of the idea sketched out on a picnic table the year before.


Shell manufacture forced choices between what we wanted versus what we needed.  The mechanical ideas at the outset gave way to manufacturing considerations.  Features were pared back to match timelines, work schedules and summer vacation.  Anyone reading this who has worked in an Agile Development environment will recognize similar decisions they make every Sprint.  To borrow a cliché, "Perfect is the enemy of good enough."  With this in mind, we have an eleventh hour compromise ready: should the 3D printer prove a roadblock, we have arranged for a Wednesday night Hail Mary meeting to turn Ziploc Containers into eternal glory.

The Ziploc idea produced 4 "just in case" models.  We stabilized them with glass beads and hot glue.  The containers became the shell and mount for the PCB.  The beverage lid was provided by another ziploc container hot-glued onto the buttons.  Hot glue for grip and stabilization of the platform finished the job.  See the result in the pic below next to the finished shells.

Luckily, the 3D Printer roadblock was cleared just two days before the BBQ.  Poor quality filament lead to clogged extruders.  After a good cleaning, we were back in business.  5 shells total were produced with various upgrades.  We got a top that nested well with the shell, and the mouse-hole in the shell was added to allow the USB to be passed out of the body.  We did not get impressions in the top to get the lid closer to the lens of the LED.  We also did not get any part of the body held together by magnets.

Final assembly took place at Toxic BBQ itself.  The lights stayed on this year, but we started conversations and passed out some business cards with links here.  We placed a few on the tables farther out that didn't have light, and we presented two to the organizer in a Utilikilt.  Furthermore, it went on display in r00tz and the HHV for most of the convention.

Final Word

I left DEF CON for two years running with a profound sense of my own shortcomings.  I saw people around me doing amazing things, but I couldn't point to similar achievements for myself.  Though not terribly complex (most ideas came from Instructables, after all), the process and coordination required to pull off this simple idea has been eye opening.  It all started by pivoting from planning to doing.  It finished with an 80's-montage-worthy string of late nights and high fives.

Already, these efforts are fertile ground from which numerous other ideas have sprung.  Facing another DEF CON, I'm looking for the next big project instead of lamenting my noob credentials.  Only time will tell how many of these work their way to reality.

Sunday, August 3, 2014

OFBC: Shell Fabrication

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


In parallel with the circuit, we designed an enclosure that would be more sturdy than hot glue and disposable containers.  The general idea was a shell with a lid that had some travel.  Our first designs focused on a mechanical clip to lock the lid in place.  Further ideas were a rail to keep drinks stead, a drain channel for condensation, and an interlocking base/top for easy stacking.  Our lack of expertise with the 3D design software and the complexity of the print made us go back to basics.

Similar products used a coaster shape, so we started there. As the whole point of this project is to show off, we wanted to make it easy to disassemble top and bottom. To make this happen, we settled on magnets instead of screws for both top and bottom.

First Full-size Print (with Frenchman Mountain in the Background)


First, the 3D Printer needed to be calibrated, then the extruder needed to be cleaned, then the Kapton tape needed to be replaced.  After a much better test print, we got our first dimensional fit.  Once the PCB was together, we realized two things: 1) the buttons we bought had a much heavier mechanical action than the test buttons and 2) the LED package was too tall for the way we printed the top.  Combine the two, and a lot less light was reaching our girly drinks.  Something had to be done.  The above problems were noted, and various other edits were written directly on the 3D printed shell (a sharpie on white ABS works wonders for clarity).  They were handed off to our man with the printer while the rest of the team worked on PCB fabrication.

Between orders of Kapton Tape - Let's try Painter's Tape!

It was about 10% too small.  Looks like a job for Superm*n!

Not nearly as bright as it should be


The final prototype came together the weekend before DEF CON.  Edits to allow the charging cable to escape from the bottom of the case, a drip cover to prevent condensation from entering the shell, more accurately nested tops and bottoms, and a host of other small changes came together for the final prints. In all, the first run is bulkier than we imagined, but we have discussed ways to miniaturize and reduce costs across the board.  It will be something we are proud of showing off.

The 3D printer was the final obstacle.  From miscalibration to a clogged extruder head to a stepper motor burning out, we had our fair share of problems getting the final package in a physical format.  If the repairs don't come through, we'll be manufacturing stand-ins for the Toxic BBQ.  Nothing can stop us at this point. 

The current Sketchup files will be available on the OFBC project on Github.

Great Size, Less Filling

Tuesday, July 29, 2014

OFBC: Random Design Shots

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

Puzzling Out the Protoboard

Can you Smell the Confusion?

Shell Designs

Initial clip-together design with rails for stable drinks

Circuit, post and spring and modified clip-together designs

Hockey Puck design emerges, Boolean shape building discussions

First practical attempt at dimensional design

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.


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.

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.

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.


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.

Wednesday, May 7, 2014

Table Saw Rehab Results

Executed the checklist from a previous post.  Here are before and after picks of the absolutely filthy top.  Ended up going at it with Krud Kutter, then a palm sander with WD-40, then razor blades.  It is sealed using Minwax Paste Wax and is as smooth as glass.

These stains were caused by paint and primer used for preparing Warhammer miniatures:
 I may have abused the garage lights to maximize shininess:
I still need to fabricate something to choke off the cabinet and force more dust through the vacuum hose.  Also, the router table needs some work to make sure the melamine has all residue removed.