Category Archives: Projects

Adafruit Feather BLE + NeoPixel Lamp

Like any red blooded engineer I like nice designs, shiny objects and blinking lights. One of the projects that burrowed its way into my subconscious and helped push me over the edge into buying a 3D printer earlier this year was the Adafruit Feather BLE + NeoPixel lamp with 3D printed Voronoi Shade that plays some animations by the Ruiz Brothers over at Adafruit. It’s a great addition to any office desk or maker workbench. After playing with the sample code which simply played a short animation when you pressed a button in the app I decided to augment the code to continuously play animations and add a few more to the mix.

Feather BLE light paired with iOS app
Feather BLE light paired with iOS app

You can view detailed step/by step instructions on printing this lamp  here on the Adafruit Learning System.  What follows in this post is a description of what changes/modifications I made to the build and additional functionality I added into the software running on the Bluefruit Feather.

Check out this video showing what I did with the software for this project here:

Software Revision Highlights:

  • Currently selected animation will loop continuously without interruption (Original sample plays 1 animation and stops until another button is pressed)
  • Cleaned up animation library/methods, fixed some issues with Adafruit sample code and finished off some incomplete methods
  • Added additional animations to the up, down, left and right buttons in the Adafruit Bluetooth application

You can find the source code for the demo used in the video here on GitHub.

3D Print complete, not gather up the required electronics
3D Print complete, now gather up the required electronics

Notes on Building This Project: 
I printed the base out of ABS filament and the Voronoi shade from light blue translucent PLA filament. I chose not to glue the shade onto the top ring of the base as I like to be able to show off the electronics. I friction fit the clear disk into the bottom of the lampshade so it stays securely as one piece. I also omitted the battery as I only plan to run the lamp in an office setting wherein I have access to plenty of USB ports.

Solder and assemble the light
Solder and assemble the light

BIG NOTE: As this caused me some headaches and wasted time. In the Adafruit Learning System write-up for this lamp, make sure to follow the Fritzing circuit diagram here and NOT from the step by step photograph here. The photograph shows one of the blue wires going into ‘BAT’ and not the expected ‘3V’. You should be powering the NeoPixels off the 3V pin.  

Flash the firmware and test the rig before final assembly of the case.
Flash the firmware and test the rig before final assembly of the case.

Once I finished all the soldering I fit the board, wires and ring into the bottom half of the base and flashed the firmware onto the device and made sure it lit up and worked as expected.

Lid screwed in place to help secure the NeoPixel ring
Lid screwed in place to help secure the NeoPixel ring

Next up I screwed on the top half of the base and started working on the animations I wanted to use and assigned them to various buttons in the Adafruit ‘Bluefruit’ application.

Running animations
Running animations

Last up was testing the completed lamp. It lights up a dark room more that I expected which is nice and is clearly visible in a well lit room. Some of the animations in the above video are far better in person as the DSLR tends to blend a lot of the mixed colors into shades of white — you’ll have to see it in person by building your own.

Red alert, incoming message
Red alert, incoming message

With the above lamp completed you can also tie it into the IfThisThenThat (IFTTT.com) ecosystem via Adafruit IO.  IFTTT allows Internet of Things (IoT) devices to react to a surprisingly large amount of interesting stimuli — if you get a certain type of email, if your phone shows up on your home wifi network, if an IoT sensor gets a certain reading your device and react to that message and carry out your desired task — its an incredible system and will be the focus of my next post, stay tuned.

-Bill
@TinWhiskerzBlog

P.S. If you build your own variant of this project, please leave a comment and share your thoughts and modifications.

Tool Rack for Pliers

The workshop is my happy place — I go there to create. One of my favorite things to do out in my woodworking shop is to build cabinets, organizers and jigs to make it easier to work or accomplish a given task. I’ve been applying that to my recent work with 3D printing and electronics hardware hacking.

By training I am a software engineer and a preservation carpenter — yep the is an unusual mix to some — but to me I use the same part of my brain to envision a large software application and break it down into manageable pieces of code and then write them that I use to envision a chair and break it down into all the steps and pieces that start at a tree and result in a chair.

After getting some more work time at the Maker Workbench that I recently completed I realized that my hand tool storage was lacking.

I was storing my pliers, strippers, nippers and similar tools in the holes on the sides of the metal racks that support my workbench.

For tools that only get used infrequently the holes on the support posts of my maker workbench do a good job at keeping them off the desk, but are a pain to get in and out of for frequently used tools.
For tools that only get used infrequently the holes on the support posts of my maker workbench do a good job at keeping them off the desk, but are a pain to get in and out of for frequently used tools.

It seemed like a great idea — I can see the tools, they are off the workbench and reasonably accessible, but for common operations I felt I was wasting too much time and energy getting them in and out of those holes — as sometimes they would catch a bit on the way out.

After thinking about some of the optimizations I made out in my woodworking shop and watching videos like some of Adam Savage’s shop tours, behind the scenes and shop projects builds from tested.com and this video in particular which made the case for not using drawers I wanted to come up with something efficient to organize the tools I used most often on the bench.

The idea bounced around in my subconscious for a few weeks until I finally came up with the following tool rack for my pliers and similar tools:

Angle view of completed tool rack
Angle view of completed tool rack

How I built the tool rack:

The rack is about 6″ tall, the base is about 6″ wide and the rods are about 12″ long. I bought a 36″ long piece of O1 Tool Steel Round Rod, Polished Finish, Precision Ground, Annealed, Metric 10mm from Amazon here. I cut the rod on my abrasive cutoff saw and ground off any burs and chamfered the cut ends a bit so I would be sure they’d seat nicely in the 3D printed ends.

Test prints of end caps for 10mm rod.
Test prints of end caps for 10mm rod. (Left is Dark blue nGen filament, right is clear blue PLA)

I then made what I felt was a reasonable sized 10mm end cap in SketchUp and printed it out. It was a tiny bit tight so I measured the rod and the print and adjusted things a bit and tried printing at 102, 105 and 108%. 105% was the sweet spot and gave me a nice tight fit. I also made a variant of the end cap to include a #4-40 machine screw to see if that would keep the cap on there even tighter but felt it was negligibly better in this case and recommend you print 1 or more of these caps to dial in your printer an get a real nice fit. If you still find the cap is loose you can epoxy it into place.

Printing each side of the tool rack. Printed with a brim to try and minimize any warping.
Printing each side of the tool rack. Printed with a brim to try and minimize any warping.

With the printer dialed in and the cap in hand it was time to print the sides. Rather than waste material and to increase the aesthetics of the rack I added a series of holes to the model to give it a more pleasing and modern look.

(Left) Side with brim still attached. (Right) Cleaned up piece ready to go.
(Left) Side with brim still attached. (Right) Cleaned up piece ready to go.

I printed the sides one at a time with a brim to try and minimize any warping.

View from the side of the completed rack.
View from the side of the completed rack.

The cleanup was easy with an X-acto knife and the assembly was simply inserting the rods into the printed end pieces and start using the rack.

3/4 view of completed rack loaded up with pliers and nippers
3/4 view of completed rack loaded up with pliers and nippers

The above described rod is a bit on the expensive side, costing about $15 but the ground and polished look is what I wanted and it adds a pretty good amount of weight to the tool rack and I’ve found it stays right where I leave it on the bench. It works well with all the small and medium size pliers shown below and can also accommodate some of my larger and specialty channel-locks and similar hand tools. If you are on a budget, simple mild steel rod from a hardware store or even a wooden dowel can be used.

Top bar is about 6" above the bench top and can accommodate most sizes of plier and similar tool you are likely to encounter on a maker workbench
Top bar is about 6″ above the bench top and can accommodate most sizes of plier and similar tool you are likely to encounter on a maker workbench

I’ve shared out the plans and SketchUp files for the end caps and rack sides (both solid sides and the sides with the circular holes) up on Thingiverse.com here.

If you make or remix this project, please share some pics or notes in the comments below.

Take care,
-Bill Rainford
@TinWhiskerzBlog
@TheRainford

 

Maker Workbench

It can be tough working on a maker project if you don’t have a good space to work. Many times my electronics work surface was an ESD mat on the dining room table, but as my projects grew and my family grew I was under increasing pressure to find somewhere else to work. (Really it was the 3D printer that put my wife over the edge — rightfully so). I also didn’t want to have my electronics out in the garage which is my woodworking shop and full of saw dust.

The task of finding a decent place to work on electronics was more of a challenge than I expected. Lots of folks who left the dining room table seem to work on card tables or random repurposed Ikea tables and benches or purchase very expensive commercial electronics benches that are out of the range of most folks working part time as a maker.  I knew there must be something in the middle that could be a reasonable solution and a reasonable bench.

As I was reading my copy of “Practical Electronics For Inventors: 4th Edition” by Paul Scherz and Simon Monk there was a brief mention of a DIY Maker Workbench that caught my eye. If you have the book it is on pages 632-633, but be careful as you might miss it buried deep in the bowels of this tome, with just a brief description and a couple of diagrams but no photos of it in use.

I wanted to rectify that problem and document how I built mine as I had to make some modifications and additions that I thought others might be interested in.

Since the the book above was written the 18″ deep metal frame that was the basis of the bench is no longer available through Home Depot and the company that made it seems to have been swallowed up by another company, but they still make and stock a 24″ deep version. I’ve compiled a hardware list below that includes all the materials I used along with links for anything that was not a simple commodity item. With the instructions from the book and my additions below I’m sure you can build yourself a great electronics/maker workbench.

Other highlights of the bench and my modifications are:

  • Full Spectrum LED Work Utility Light (Uses very little power and is dimmable. Leaves more power available on this circuit for my electronics)
  • Custom built work top with Formica surface and hard maple edging
  • Black shelf hardware and brackets
  • Cherry colored shelving
  • Integrated USB outlet
  • Corrected paint

Parts + Hardware:

Tools:

  • Electrical: Wire stripper(s), Romex Jacket Slitter or Utility Knife, Wire Cutters, Pliers, Phillips and Slotted Screwdrivers,  Electrical Receptacle Tester (~$5-10 and worth it)
  • Woodworking Tools for Bench Top: Circular saw + guide fence OR Table Saw, Router with large flush trim bit & 1/8″ rounder bit, Biscuit Joiner + Biscuits, PVA Wood Glue (e.g. TiteBond), 1.5″ Wood Screws or Drywall Screws, Drill + basic set of bits that can also handle sheet metal, J Roller (For rolling on top of the formica as it is applied), Jig Saw or Coping Saw,

Highlight Reel from the Build:

Working on the slab for the bench top. Two pieces of CDX plywood topped off with a sheet of MDF.
Working on the slab for the bench top. Two pieces of CDX plywood topped off with a sheet of MDF.

I ripped the plywood and MDF on the table saw and cross cut it using a circular saw with a guide fence leaving it about 1″ too long on purpose. Once I screwed the layers together I was able to use the guide fence to cross cut it again to final size — by doing this I know all my layers will be perfectly lined up. Make sure to account for the edging when you figure out how big your bench will be. If you work carefully you’ll want to shoot for a bench top that is about 1/4″ narrower that the metal frame is wide. That should leave a nice 1/8″ shadow line and give you room to get it seated. Also the metal is not always welded all that great on these frames as I know mine was not 100% square and many get damaged in shipping and need to be bent back into shape.

Attaching the Hard Maple edge banding to the slab.
Attaching the Hard Maple edge banding to the slab.

Next up I milled some hard maple stock to be the edging for the bench slab. I carefully mitered each quarter and used a biscuit joiner and glued in biscuits to secure the edging. (By using biscuits there are no nail holes to fill in) Also note that the edging should only cover the top two layers of substrate — the MDF and first layer of plywood as the lowest layer of plywood is what keys the bench top into the center shelf of the metal frame.

Edge clamps
Edge clamps

I used edge clamps to secure the edging as it dried.

Grid layout for screwing together the bench top.
Grid layout for screwing together the bench top.

When screwing together the 3 layers of substrate I laid out a grid on the bottom of each layer that way my screws were spaced evenly. It also allowed me to make sure my screws would not directly overlap between layers.

Cutting holes for outlet boxes in the rear skirt for the bench top.
Cutting holes for outlet boxes in the rear skirt for the bench top.

When cutting the outlet holes for the back splash I laid them out evenly and then marked out where they would be. I drilled a small hole in each corner and a large one in the center with enough room to allow the blade of my jig saw to fit. I sawed out the space for each outlet looking to be about 1/16″-1/8″ larger than the outlet box. I also used a file and rasp to clean up any rough edges.

Hard maple banding around the rear skirt as well.
Hard maple banding around the rear skirt as well.

With the outlet holes in place I edged the back splash with hard maple to match the bench surface and to reinforce the MDF substrate.

Contact Cement
Contact Cement

I rough cut the formica a couple inches bigger in each direction for what it needs to cover using saw blade with a high number of teeth — 40-60 or a dedicated laminate blade would work. Then it was time to apply the contact cement. The MDF will generally absorb more than the formica as it is more porous. You want to apply it liberally and evenly using a brush, roller or spatula and bit of cardboard. As it dries you’ll see where you need some more as you go. When it dries to the point that it is evenly tacky — meaning your finger will stick to it a bit — it’s time to apply the Formica.

Evenly apply the contact cement on the substrate and on the formica
Evenly apply the contact cement on the substrate and on the formica

I usually put a few dowels out on the bench substrate and then get the Formica all lined up but not touching each other.  Once the two tacky surfaces meet they cannot be pulled apart so you need to get this right the first time and the dowels help you to get the alignment right before committing to it. That is also why we cut the sheet larger and trim it back once secured.  Start from the center and work your way out using a J-Roller applying as much force as you can muster. As you work your way out to the edge you can remove more dowels until the Formica is in place. Then keep working the J-Roller until you get rid of any/all air pockets and bubbles taking longer and longer strokes working from the center out and then end to end.

Bench top with formica and rounded edges
Bench top with formica and rounded edges

To trim the Formica I use a flush cutting router bit in a router to trim back the laminate so that it is flush with the edging. I then take a 1/8″ radius round over bit to ease all the edges with the hard maple.  With the bench top complete it was time to move on to the electrical work and assembly.

Fittings for use with armored cable
Fittings for use with armored cable

For outlets make sure you get all of them with the right angle bracket as shown above and as shown here.  That bracket is needed in order to secure the outlets to the back splash on the bench top and for the upper outlets to attach them to the metal frame.

Spray painting the two visible outlet boxes black.
Spray painting the two visible outlet boxes black.

I used Rustoleum Black Textured paint to paint the two outlets that will be for the light switch and its outlet since they will be visible. I also bought that can of paint to match the finish on the metal shelving/rack that is the core of this bench since mine came from HomeDepot.com and had lots of rub spots on it from shipping and that would have bothered me to see every day.

Wiring up the back of the bench.
Wiring up the back of the bench.

I assembled the metal shelving rack as per the instructions it came with and the height of the shelves roughly in line with what the book described. Once assembled take a chair and sit at it and make sure its at a comfortable height to do your electronics work — likely a couple inches higher than what I’d want for typing at a computer. Then lift the bench top into place — you’ll want help with this as its HEAVY and I have mine in our spare bedroom upstairs so I dread moving it sometime in the future.
I attached the backsplash to the bench top using 2″ wood screws — note I say wood screws and not drywall screws which are flimsy in comparison — drywall screws have much thinner shanks that can easily snap. I then punched out the necessary holes in the outlets and screwed them into place with 5/8″ long screws.

Mark and number the locations for the shelving supports.
Mark and number the locations for the shelving supports.

I used 4 shelf uprights for my bench as I felt the two called out in the book would be too flimsy especially as my shelves will be covered in books and hardware and I don’t want the shelves to droop.  I measured out locations that would space the uprights equally and marked the uprights and the bench with a silver sharpie and numbered them so if I have to move this bench I can re-assemble it with the exact same pieces in the same location.

Install the shelving supports with self tapping metal screws.
Install the shelving supports with self tapping metal screws.

I then took a center punch (or in a pinch a nail set would do) and using a hammer I hit the location I want to drill through the metal hard in order to make a small dent. This will help the drill bit stay where I want it as I drill through the metal. I secured the shelf supports to the top, middle and bottom rails of the metal shelving. I also wanted to make sure they were evenly spaced between the outlets as the armored cable will need to work around them as we’ll see below.

12-2 Romex cable. Remove the yellow outer jacket.
12-2 Romex cable. Remove the yellow outer jacket.

I cut the cable a solid amount longer than the distance between each box so I would have plenty of 12 gauge wire to work with. I then stripped off the yellow rolex wire jacked as these wires will be fed through the BX metal cable armor and fittings.

Make sure to leave a generous amount of wire on each end of the armor so you have room to make your connections in the outlet box.
Make sure to leave a generous amount of wire on each end of the armor so you have room to make your connections in the outlet box.

I cut each bit of cable armor to size and test fit it with the fittings as shown above. I then fed the wire through the armor and installed each assembly into the appropriate outlet boxes and secured the nuts that hold the fittings in the outlet boxes.  (see below). Note that the armored cable goes behind the shelf supports.

Test fitting the armored cable and related fittings
Test fitting the armored cable and related fittings

Use a heavy duty 12 gauge or heavier extension cord to connect your bench to the wall outlet. You’ll cut off the female end and wire it into the GFCI.

Right angle fitting for armored cable
Right angle fitting for armored cable

I chose to put the outlet for the LED light and switch on the back side of the bench and run the armored cable up and around the back of the bench. I secured the cabling with a bunch of black plastic zip ties. I also needed the cabling to make a 90 degree right angle to connect the backsplash wiring to the outlet switch. The above fitting made this task easy. (See parts list for proper name and model)

Completed rear wiring
Completed rear wiring

With the cabling in place it was time to add the shelves and start installing the receptacles.

Install the outlets
Install the outlets

I put each switch in front of the outlet where I wanted it to make sure things were in useful positions. On the backsplash from left to right I have: 20Amp Tamper Resistant (TR) GFCI outlet, 20Amp Decora TR Outlet, 20Amp Decora TR Outlet + 2 USB ports in the center, 20Amp Decora TR Outlet and another 20Amp Decora TR Outlet.  The top left is an outlet for the overhead utility LED light fixture. Top right is a light switch which works out well as its just above where the light switch on the wall is for the room lights. I also ground the metal of the bench frame to the ground of this circuit.  The LED light fixture is secured with more black plastic zip ties and the cord for it is secured in the same way.

Install the switch and the LED light fixture.
Install the switch and the LED light fixture.

I was careful in my wiring to make sure everything downstream of the GCFI was cabled correctly and checked the ground using a receptacle tester like this one.  Once you test it with live power make sure you test the GFCI and make sure all downstream outlets are cut off by the GFCI when it is tripped.

Completed bench
Completed bench

With the circuits all working it was time to put on the faceplates for the outlets and start loading up the bench. I have my ESD mat which is grounded out to the wall outlet so we don’t have a grounding loop. I have my Lulzbot TAZ6 on the left and my ESD mat, soldering stations nd fume extractor on the right.

Completed bench with 3D printer and electronics tooling
Completed bench with 3D printer and electronics tooling

So far the bench has been working out well and it has been great to be able to leave a project on the bench and come back to it undisturbed.

If you build your own version of this workbench, please send me a note with some pictures or leave a comment below

Take care,
-Bill
@TinWhiskerzBlog
@TheRainford

P.S. Since I completed the above bench I’ve also added 2 LED monitors and I’m working on a CNC controlled gaming keyboard tray, so please stay tuned for that in an upcoming post. Please consider following this blog via one of the ‘Follow this blog’ widgets on the webpage or via my Facebook Page or Twitter Feed.

P.P.S. This blog is new so please bare with me as I add to it. If you are into woodworking I have a long running blog on my traditional woodworking and writing you can find here: RainfordRestorations.com