Recently a friend of mine, Steve Clark, wanted to take a video of my lab space and setup and so on an impromptu morning came by and took this video where I run him through the various functions in my shop/lab. Hope you enjoy seeing my setup:
Recently a friend of mine, Steve Clark, wanted to take a video of my lab space and setup and so on an impromptu morning came by and took this video where I run him through the various functions in my shop/lab. Hope you enjoy seeing my setup:
Ever wanted to copy and paste a layout in Eagle? Lots of people have, but it’s one thing that Eagle is exquisitely bad at doing. If you try to clone a layout in Eagle, you end up with a glop of parts you have re-layout again like this:
So, I developed a utility called ‘eagleclone’ which will let you create a clone of a layout without having to rename or number everything as you go. It also makes it easier to change the original layout, then re-run the eagleclone utility to create edited versions. It creates individual board and schematic files on disk that you can import directly into eagle with little fuss. It’s not quite a copy-and-paste the way CADSoft should do it, but it’s solid and nowhere near as time-consuming as dealing with the pin assignment/fixups and re-layout you have to do (especially if you changed the original layout and had to clone them again.)
Eagleclone turns a single layout like this:
You can get the whole run-down, instructions, and code on github esawdust.
I just finished uploading a bunch of new faceplate designs for the Chameleon enclosure system. You can buy the body, base and blank faceplate for the rest of the enclosure system at Sparkfun. There are numerous metal faceplates you can already buy, but I have often had requests for something with a DB-9 on it, so I created a variety of DB9 plates and even a perforated, ventilated plate.
These can be laser cut most cleanly. I’ve used 1/8” acrylic for custom faceplate designs and that thickness seems to work well and is just thick enough to be fairly strong, but not so thick it becomes difficult to get connectors to protrude correctly.
The license on these designs is Creative Commons, so these are up there as a starting point for your own faceplate designs. Have fun.
Big news that has Washington’s undies in a bunch is that Defcad.org released the “Liberator” 3D printed gun design for download. This article will attempt to dispel just a little of the smoke and heat generated by the 3D printed gun debate.
For quite awhile now, I’ve been monitoring 3D printer news and I’d make a rough guess that at least half the 3D printer related stories coming out over the last 6 months are talking about 3D printed guns.
I thought it was all pretty amusing – both the guys taking it so seriously that printing a 3D gun was tantamount to an act of civil disobedience by real patriots to protect their 2nd amendment rights and the opposite side freaking out that any Joe-six-pack can now print one out as easily as popping a Bud.
I think both sides are just plain over the top zealous and acting ridiculous. The Defcad videos are melodramatic and we know the politicians can easily match them toe-to-toe in melodrama (they have a lot more practice.) My goal is to take 3D gun printing out of the melodrama realm and try to inject some realism into the discussion.
Being a 3D printer enthusiast, not a gun enthusiast, I couldn’t help but be intrigued and curious to print one myself…as much as anything to show how absurd the fear is around 3D printed guns and to educate people who may have had their first exposure to 3D printing, unfortunately, by way of the gun control debate.
Fear #1) Everyone with a home 3D printer will be pumping out firearms
Fear number one is that all the home and hobbyist 3D printers out there are going to start printing guns straight off the download. This is an absurdity. Here’s why.
Massaging design files
I downloaded the Defcad Liberator and looked at the README and STL files. The first thing to note is that the STL files were created in units of inches, not millimeters which is interesting because a large number of enthusiasts with home 3D printers use Slic3r to create the code used to print on their printers, but Slic3r assumes millimeter based STLs. So the first thing you have to do is to massage the design files for unit conversion.
I loaded the Liberator STL files into my CAD package and re-exported the STLs out in millimeter units so Slic3r could ingest them.
Slic3r (pronounced “slicer”) is the most common software package used in the hobbyist level 3D printing market that virtually slices an object into layers where each virtual layer is an extruded (printed) layer of plastic on a 3D printer.
Slic3r generates code which is a huge list of commands to the 3D printer that govern things like how fast the 3D printed head moves over the layer, how the base platform should move in coordinated unison with the head, how hot the extruder nozzle should be, how much plastic filament should be extruded to get a certain length melted plastic bead given the speed of the head, and all types of other major and minor parameters that govern the print.
This generated code is called GCode. Slicing is practically an art form in itself when it comes to complicated objects, much like operating a CNC milling machine is an art form to a machinist.
Enthusiasts who have succeeded with a particular part could share their slicing configuration files or even the final code generated for a particular 3D printer (usually a variant of GCode), however, at this stage of the market evolution, there are a large number of different types of 3D printers, all of which need to be targeted explicitly by a slicing package in order for random Joe-six-pack to have the code he needs.
This is speed bump for 3D printing guns…you have to do the slicing yourself or find someone who has succeeded with all the parts and printed them on a machine identical to yours to be able to have a hope of printing a gun off the download. Even then, each machine often needs its own tweaks for the most precision it can muster.
Design limitations – Undercuts
The next major speed bump is inherent in the design of the Liberator itself. Most of the home and hobbyist level 3D printers can’t effectively print undercuts. Undercuts are design features in an object where there is open air under a solid feature. Think about a bookshelf – a cantilever pattern – is supported on one side (virtually the wall it’s attached to), but under the shelf is open air and nothing supporting most of the shelf’s surface area.
One example of the problem with undercuts is the Liberator gun’s frame part (the frame connects the barrel and handle, houses the trigger and hammer mechanisms.) I’m showing the frame here in an isometric view where it is laying flat on its side the way it would be printed, so you can see the undercuts I’m pointing out in the design:
These undercuts wreak havoc with most 3D printers in the hobbyist price range (< $2,500). You can’t print into thin air and trying to span across segments often leaves terrible drooping plastic filament.
Imagine something as far from a precisely machined firearm as you can, say a squirt gun left on a hot dash in the summer, and you are getting closer to the right idea of what most home and hobbyist 3D printers would do with undercuts.
Undercuts and 3D printing technology limitations
In order to effectively print parts like this with undercuts, you need what’s called an STL (stereolithography) printer or other much more expensive technologies. Even with STL printers, you often have to add support in order to print the parts. It’s not an accident that the Defcad Liberator started life with a leased 3D Systems printer…3D Systems owns some of the most important patents for STL.
With the exception of FormLabs’ (yet to be released) STL printer, most STL printers are way, way out of the hobbyist’s price range and are more the size of a refrigerator than a laser printer – in other words, not suitable for most homes. This won’t always be the case, but for right now, it’s a terrible exaggeration to think home 3D printers can easily print parts this complicated…STL capability is not in their price range right now.
2.5D – Most 3D printers Are Not True 3D Printers
Many of the home and hobbyist 3D printers that gun control zealots are afraid will be pumping out firearms are not true 3D printers. They’re more like a 2.5D printer. They can’t create an object in thin air. They always start with a solid base and melt layer upon layer to form the shape (fusion deposition modeling – FDM). Once they’ve melted a layer, they are unable to go back and put anything under that layer which is what makes most 3D printers effectively 2.5D printers…that is they can only build up in a vertical sequence much like a traditional skyscraper being erected.
If the undercut is too overhanging – typically less than 45 degrees from horizontal – it cannot be effectively printed without adding support to the printed part to hold up the suspended feature. Later the support is removed (filed, broken, or ground off) after the print is complete.
For my own 3D printer which is typical of a home and hobbyist level printer ( a LulzBot AO-100 ), I need to tell Slic3r to add support to the design when it generates the code for the print. In effect, it creates a matrix of material, hopefully relatively thin to break-away later, in order to hold up the overhanging, undercut features. What you end up with is a Liberator gun frame that will look like this as it’s printing. The thin walls are the support that will be later taken off the frame but is there to hold up higher solid layers that have yet to be printed:
As the print progresses higher and higher you can see the middle solid rib starting to form and that layer is laid over the thin supporting walls so it isn’t printed into thin air. As you can see, once this part is completed on the printer, it’s far from a finished part.
Time to Print Can Be Exorbitant
Just the Liberator frame part above will take over 6 hours to print and I would expect to take another several hours to get it filed or shaped into a semblance of a usable part and get rid of all the supporting ribs. If you don’t own your own printer and take the files to the copy shop that’s providing 3D printing services, if they’ll even take your job, you’re likely to pay by either time or part volume or both. After this part, while it’s the largest, you only have 14 more parts to go.
A Gun Is A System Of Precision Parts
I don’t think I’m going too far out on a limb by stating the obvious: a gun is a precision machine. 3D printers in their current form and especially those at the hobbyist level cannot produce precision parts on the level of a metal machining process. So, what are you left with? Who knows? Most 3D printer hobbyists don’t cite their precision and tolerance stats like a true machinist would.
Besides precision, you need replicability. Can you make the same part the same way, time after time? You can make one part that might work once. Can you make a system of parts repeatably? The print is likely to happen over a period of days and shifting environmental conditions which affect the 3D printer itself. It’s a system. If you have to file parts, usually by hand, how repeatable is your process?
Would you trust your life to a weapon for which the manufacturer (you in this case) can’t truly control the tolerances and conditions under which it’s built? I certainly wouldn’t and I think anyone who does is out of their mind.
A Single-Shot Life-Span
A single-shot gun is probably only interesting to the guy who needs to get a weapon past a metal detector by making it out of plastic. To be generous, the Defcad README states that if you soak your barrel in boiling acetone for “~30 seconds” (like that precision?), the barrel will be smoother and last perhaps up to 10 shots. Of course, this assumes you can get 10 shots of ammo past the same metal detector. The bottom line, for this weapon to be useful, you must hit your mark on the first shot which I find ironically counter to all the gun debate heat about the need for large magazines. In this case, you don’t need a large magazine either – either your gun will disintegrate after the first few shots or you can’t get that much ammo past a metal detector in which case, you don’t really need a plastic gun much less a 30 round magazine.
Materials – Have A Material Science Degree?
Most hobbyist 3D printers print ABS plastic or PLA plastic filament. Of the two, PLA is known to be quite brittle and it has a lower melting point than ABS or Nylon. Nylon is starting to be more common, is stronger than ABS (under all conditions?) and is a more smoothly printed material. The problem is that most hobbyists are fairly clueless about the material science behind plastics.
Don’t get me wrong, I am ignorant as well of material science, however, it scared the B’Jesus out of me when I read the question on the Defcad Liberator page in the comment section from some enthusiast: “Have any tests been done on these printed with PLA?” Somebody was wanting to know if you could print a gun with one of the most brittle, lowest melting point plastics available for 3D printers.
I know little about the chemistry of plastic, but I know enough to know that was a highly ignorant and dangerous train of thought along the same lines as the soldier who ties a tourniquet around the neck of a comrade with a head wound.
A tourniquet is a great thing, a life saver when used correctly. PLA is a great thing when used correctly and it’s biodegradable. However, when applied incorrectly, both become deadly.
The Most Dangerous Part of a 3D Printed Gun
If you’re going to make a gun, you have to know what you’re doing and that’s really the most dangerous part of this – the guy between the computer and the chair or the one printing it is likely to not be up to the standard required to design and print safe guns.
The gun is dangerous in the hands of the shooter, to the shooter. You can do the stand-off, string-pulled trigger stunt like MythBusters a few times and then you have to put your own hand on the grip (that’s after you change the barrel of your 3D gun since they usually only last one round). That’s not exactly what I would call extensive testing.
I can see the whole range of accidents coming that will shut down 3D gun printing a long time before an actual aimed kill does. Despite the 100K downloads in the first two days of the Liberator being published, 3D gun printing has a long ways to go before it is lethal to anyone but its shooter – if he can even print so far as to put a bullet in it.
That is the state of 3D printed guns and why gun control advocates have little to fear and why 3D printed gun advocates need to watch what they’re doing.
[Update: the print completed, you can see how much work there is to do yet on this one part. Using a .3mm layer height, 0.8 density fills, and relatively fast travel times, this print still took over 6.5 hours]
In Part 1, I discussed how 3D printers are the perfect tool for prototyping and doing small runs of electronics enclosures and also identified CAD techniques as the main bottleneck to realizing the potential of 3D printers for making enclosures.
So, in Part 2, I did an in-depth tutorial on how to design and print a simple clam-shell style enclosure with the emphasis on the CAD design techniques and the end-to-end process of going from a blank page in CAD to having a physical object to hold in your hand.
In this Part 3, I’m extending the CAD-focused theme and up the ante substantially by showing you how to design a clam-shell style enclosure with a removable faceplate and front panel that has connectors protruding through the face plate. As always, the design has to be printable so there’s a proof-point by 3D printing the resulting design and, as previously offered, the design files are all available on Thingiverse so you can download and print them directly or play with the designs and modify them at-will if you have ViaCAD. The 3D print will be handled by my trusty LulzBot AO-100.
As before, the objective isn’t that this enclosure is specific to a real-world board, but the main objective is to show you what the process is to create an enclosure for an arbitrary PCB with connectors. That way, you can adapt these techniques your specific board and hopefully, the tutorial will be much more useful to you. There are many other details involved in making a real-world enclosure that we’ll get to in future tutorials, but just trying to make the first major leap from a simple clam-shell to an enclosure that has real functionality.
There are two videos in this tutorial – a part 1 and part 2 because the overall tutorial video was longer than was feasible to upload in one continuous video to YouTube. So, this is Part 3 of the series of creating enclosures but has a 2-part video to show how it’s done.
The use-case starts with an arbitrary PCB I made that looks like this and has a DB9 and RJ45 connector on the board that we want to expose through the front panel of the enclosure.
The task is to wrap this PCB in an enclosure exposing the connectors on a removable front panel as shown in the image above.
Without further ado, here are the two tutorial videos for this article:
Here are a couple of shots of the enclosure as it was 3D printed on a LulzBot AO-100. I used a 0.35mm nozzle, .5 fill density and 0.25mm layer height to print this. Also, I 3D printed the front panel, but it could just as well have been laser cut and depending upon use, may be better laser cut.
The faceplate was modified slightly after it was solid subtracted so that it would be thinner. When you do a perfect solid subtract in CAD, then print the parts, the parts aren’t a perfect rendering, of course. It’s critical to help parts fit together by adding a little bit of wiggle room for them, so I thinned down the faceplate after it was subtracted from the enclosure but before it was printed.
On a normal enclosure prototyping effort, after the first test print like this, the physical work begins: fitting it to the physical PCB, tweaking the fit and finish. For example, because there’s some overlap in the layer height, etc, the DB9 screw holes were not large enough for a typical DB9 connector. You can either make them larger in the model in CAD, or simply ream them out with a drill bit later (depending on how many of these you want to make.)
Also, the faceplate itself was too thick after the first print to easily slide into the slots created by the solid-subtraction process shown in the video. So, that got thinned down as a result – STL file updated on Thingiverse.
So, while this enclosure is in printable shape and can give you a good idea of the physical size and look it would just be the starting point for a refining process. Nonetheless, this gets you through a major part of a real enclosure design.
When I first slotted the faceplate into the shell, it was clear I attempted a too-perfect fit:
For this first print, I simply belt sanded the edges of the faceplate much like you would if you stamped the faceplate from sheet metal – you debur it. In essence I deburred the faceplate and then got a nice fit like this:
Since this is an enclosure for a fictitious PCB, if anyone really wants to refine this print, be my guest, but I will plan to leave it right here so you can see what the current state of the parts are and where they would need to go if this were a “real” enclosure design effort.
Download source files
Files are available on Thingiverse for downloading.
Other articles in this series:
One of the tasks I wanted to use my laser cutter for was to make printed circuit board stencils – exactly the same type I buy from OHararp. Ryan’s been very generous with his knowledge of how to do this and in talking with him awhile back, it’s clear he just wants to help the DIY’rs make circuit boards. He provides a great service cutting Kapton-based PCB stencils for small-volume runs – usually < 100 units but he’s used the same stencil for even larger runs. I’ve never worn out a Kapton stencil I had made from OHararp, so if you don’t have the time or access to a laser cutter, definitely check out OHararp for their PCB stencil service.
If you do have the access and time, the great thing about this method is if you wear one out, you just make another one – its very fast once the process is ironed out.
I’ve relied on OHararp services for the last several years but now that I have access to my own laser cutter, it was inevitable that I try to make my own. There have been times I’ve sent off for my PCBs only to forget to order the stencil and then have to rush order the stencil ($), so I really needed to learn this for myself.
Using the ladyada article as a basis, I set out to do it using the equipment and software I had available to me, so this is my variation on the “How To: laser cut reflow stencils”.
I used my Twin Dolphin Timing systems master timer controller board as my main test piece. It was a complicated enough PCB to make it an interesting trial and if I could make a stencil for it, I could make one for anything I do. This is the board layout in Eagle that I’m making the stencil for. It has a dsPIC micro, and on the order of 35-40 SMD components.
Rather than step-by-step this, I’ll talk more about how my process varied from the process in the ladyada article and show additional detail that that article didn’t.
I use Mac for my Eagle layout, so the first variation has to do with the fact that Mac has a built-in way to print to PDF and doesn’t require 3rd party PDF printer drivers. It also means that I could not use the ViewMate way of reading in the Gerbers and knocking down the pad size.
The other major difference included the fact that I have a Full Spectrum laser cutter, not an Epilog so I had to work out things like speed and power to match the process to my equipment.
First, I turned off all the layers in Eagle except the tCream layer to show just the pads that needed to be stenciled.
In Eagle board layout window, go to View->Display/Hide Layers and select “None” first to deselect all selected layers, then select just tCream:
After applying the view change, I got a board view that had just the pads on it but the pads were cross-hatched as shown here.
Were I to print this to PDF, the cross-hatches would be the pads and the laser would attempt to cut the cross-hatches. So, it’s necessary to change the Fillstyle of the tCream layer to be a solid black and that leaves just the pad outlines…more on this in a bit. If you could change the fill to a solid white, you could do more of the prep in Eagle, but since the solid white isn’t available in Eagle, there’s a step that I had to do later in CorelDraw.
To change the fill style in Eagle, just select the layer in the Display Layers popup, then select the “Change” button and you’ll get a little popup that lets you change the layer fill style to solid black like this:
With the solid black fill, the cross-hatches are gone and just the pad outlines remain:
At this point I can print the board pads to PDF from my Mac to prepare to import it into CorelDRAW. It’s critical in Eagle, when printing to a PDF, to make sure the scale factor is set to 1 so the result is not scaled up or down but will be actual size of your board. After printing PDF from Eagle/Mac, this is the board pads shown in the Mac PDF Preview app.
At this point, I switch to my Windows VM because my laser cutting software is Windows-only as well as CorelDRAW is a Windows app. I have the Windows VM on my Mac, so all the Mac’s files are easily available to the VM and it’s not a huge inconvenience to switch environments for me. I can print to XPS from CorelDRAW or if you have a different laser cutter print driver, you would print to it, obviously.
From Windows, I imported the PDF into CorelDRAW and for grins, I tried cutting this in vector mode using a piece of HP photo paper and it came out great. I half wondered if I could use HP photo paper for a one-use stencil – would be a lot cheaper than Kapton. I didn’t try to use the result but it looked like it might at least work once and it only took about 30 seconds to cut it in vector mode. Even if I could get one use, maybe for a build of 1-5 boards, it’d be easy to just keep cutting one-use stencils, but for anything over that, go Kapton.
After the photo paper trial, I tried cutting this on a real piece of Kapton plastic. I used McMaster-Carr part #:
|2271K2||Kapton (r) Polyimide Film, .002″ Thick, 12″ X 12″|
Each 12″x12″ sheet is about $13, so clearly not something you like to practice on if you can help it, but on the other hand I had no choice but to sacrifice as many as it took to figure out my particular laser settings and process.
I pretty much incinerated the first few attempts to vector cut the stencil but got to the point where I could get a good outline cut of the pads. However, the pad edges were melted and any less power made it so the pads weren’t cut out at all. I noticed the small bit of info in the ladyada article that mentioned Ryan uses raster mode, not vector mode to make his stencils.
Doing a raster mode cut required a slightly different twist in the CorelDRAW stage. I couldn’t just import the PDF and then print to my laser cutter, but had to first modify it within CorelDRAW to fill in the pads with a black fill so the rastering of the laser would incinerate the internal material of the pad, leaving the opening needed for the solder paste.
To do that, I import the PDF into CorelDRAW, then selected all the pads at once by drawing a select rectangle around them all.
Then, to fill them all at the same time with a black fill, choose the fill tool, select the black color and apply the fill to get this (notice the difference between the outlined pads and the black-fill pads – this is what you need to raster cut the stencil):
After the pads have been filled black, then I simply print the image to the Full Spectrum laser cutter print driver or XPS file which FSLaser reads. I won’t cover that here because it’s the standard methods to print to your laser cutter from CorelDRAW, whatever laser cutter you have.
I should mention that before cutting, I scotch-taped the Kapton plastic onto a 1/4″ plank of MDF in order to keep the Kapton nice and flat and not flap from the compressed air coming out the laser head.
In Retina3D, Full Spectrum laser’s driver software, I experimented with one full sheet of Kapton and various vector cut settings as mentioned earlier. Failing, I moved onto Raster mode and a new 12″x12″ Kapton sheet.
One by one, I raster cut versions until I honed in on the settings that worked for me. Even so, I was surprised by the amount of soot left by the cut that needs to be later wiped clean.
I used rubbing alcohol and a soft cloth, but will probably do as Ryan and LadyAda suggested, wipe the next ones with a wet cloth. That way I won’t leave an IPA film on the stencil (not a big deal, but a nit). I know the stencils I’ve had done by Ryan in the past have always come out very clean and I wanted to emulate that as much as possible – IPA is not the best way but works.
So, by cleaning you can go from the results above to a nice clean stencil when you overlay it on your board. This is the same stencil after it was cleaned and overlaid on my controller board (still has some lint on it from my cloth, so I should probably find a good lint-free method in the future):
The particular raster settings that worked for me using the Full Spectrum New Hobby 40W Laser was raster mode, 100% power, 70% speed. There were numerous speeds I discovered that would have worked just fine and I looked at each of them under my stereo binocular microscope and based on that inspection chose the one that I thought looked the best and so now that’s the setting I’ll use in the future for this task.
I went ahead with the paste and build out of the board and it worked great – just like the pro stencil from Ryan. The astute reader will notice that I completely skipped one of the main steps in the ladyada article which was the step of importing the paste layer into the Gerber file reader, ViewMate, resizing the pads to shrink them, and then moving to PDF.
In my case, I didn’t shrink the pads at all and I think it worked out pretty well. In the future, I might try shrinking them with ViewMate (but I have to buy it), to see if I can get even better results. Regardless, I was satisfied with the results even without shrinking the pads first. You could shrink the pads all the way back in Eagle, but that literally changes your board layout, so unless you use an Eagle ULP script to resize them back to the original, I think using the ViewMate method to resize the pads makes the most sense. Your mileage may vary.
I hope this was helpful to DIY’rs to see an alternative path to making the same great Kapton PCB stencils as shown in the LadyAda article.
Awhile back I discovered I lost the release plate for my Manfrotto-Bogen tripod head. This is the plate used to attach to the bottom of various cameras so i can quickly take them off and on the tripod instead of always having to unscrew the entire camera to change cameras.
The part is also called a “Bogen Rapid Connect Mounting Plate” and bolts onto the camera using a standard 1/4″-20 bolt. The original part looks like this. It’s a slightly inclined flat plate with a 1/4″-20 hole:
I likely would have just bit the bullet and bought one, but at the time there wasn’t anywhere on the net I could find to buy one and the camera store I frequent, Mikes Camera, didn’t carry them. After deciding to write this up months later, I found them in rare supply at almost $20 each on Amazon. Needless to say, that’s a little stiff especially if you’d like to keep one attached to each camera you have (movie, still, etc.)
Back when it was lost and new ones couldn’t be found, I decided to make my own and share the design. The parts files are up on ThingiVerse, but here are a raft of photos of it so you can see how it looks and works.
Manfrotto-Bogen Quick Release Parts files - I used the LulzBot AO-100 with a 0.5mm nozzle and 3mm filament. The process of going from a CAD tool like ViaCAD all the way to a printed part was detailed in my article: Design simple enclosures so I won’t repeat that here.
My particular tripod head is called a Manfrotto-Bogen 3026. This quick release plate design may fit other Manfrotto-Bogen heads without modification, but if you want to modify the design I’ve posted the ViaCAD vc3 file on ThingiVerse as well.
This is an isometric view of the part in ViaCAD:
Below is the bottom of the part has a hex head cutout to hold the bolt making it easy to turn the entire part onto the bottom of a camera.
The little cutout in the end on the bottom is a feature that makes it easy to pry off the 3D print build surface. I was finding it particularly hard to get this part to release after a 3D print.
This next shot shows how close and nicely it fits into the ball head – despite the close fit, it’s still easy to slide in and out and feels very secure. The gray latch on the side is spring loaded and is the thing that quickly clamps the part to the metal, but the thumb-screw to the left is the thing that really locks the camera on. Obviously, you’d normally have the red part bolted to the camera, but this image shows how the part fits on the tripod head:
Some examples holding a JVC HD camera:
So, now any of us with the Manfrotto-Bogen quick-release ball-head tripod can have as many plates as we want for a few cents each instead of $20 each.
Download the parts files for the Manfrotto-Bogen tripod quick release at ThingiVerse.
There are a raft of recent articles prognosticating 3D printing’s future. Here are some links to check out for 3D printing thought provocation.
Crystal Ball Gazing: Amazon and 3D Printing (ECommerce Times)
Have 3D Printer Shares Hit the Top? (Motley Fool)
Make: Ultimate Guide to 3D Printing (Make Mag)
If you’re interested in different views about whether 3D printing can live up to its hype, you might be interested in these articles.
Part 1 of this series discussed why electronic enclosures are 3D printers’ killer app and 3D printing is uniquely suited for creating electronic enclosures for single unit prototyping or small-run production needs. It left off with the observation that 3D printing is great, but you need CAD skills to really develop the full potential of 3D printing.
This second article will focus on the basic CAD skills and designs to master in order to start printing your first simple enclosures. The end result will be a simple clam-shell style enclosure like this – effectively a hollowed out box that forms the basis for much more complicated enclosures later. We’ll take this all the way from a blank page to an actual 3D printed object so you can see the end-to-end process using a simple, but useful example.
All the source files for this tutorial are available on ThingiVerse to download for free.
The CAD package used is an affordable, consumer level CAD package called ViaCAD 2D3D 8.
Included in this article are two videos – one is a tutorial on how to create a clam shell enclosure using ViaCAD and the second is a time-lapse video of the enclosure being 3D printed on a LulzBot AO-100…from creation to printing. This is an image of the printed enclosure built using the techniques in this tutorial.
A Simple Clam-Shell Enclosure
This design really isn’t much more than a project box, I realize, but before getting to the more complicated aspects of enclosure design, it’s useful to start with the basics and go from design to print – get the end to end process nailed early on. It’s still a useful design despite its simplicity and it’s relatively easy to add features to, so you can use this as a starting point for more advanced enclosures.
Think Like a 3D Solid Modeler
Most 3D CAD packages are solid modeling tools and require a certain mind-set in order to be successful with the tool. It’s partly a visual/spacial mindset and partly a mathematical/logical mindset. Either way, I think it’s fairly intuitive to most people who have ever tried to make an object with Play-Doh. The hard part is translating the 3D vision and intention into the commands or mouse clicks needed by the CAD tool – that is often the nut of the problem.
So, what is a basic enclosure? It’s a hollowed out box, or in solid modeling parlance, it’s a block that’s been shelled. Another way to think about it is if you pored molten plastic in the shape of a box around the object you want to protect, then extracted that object, you’d have a hollowed out center that was the shape of your object.
There are the two main approaches to the interior design of your enclosure and both have their advantages. The first approach is to create a hollow using a simple geometric shape such as a block. The second is to create a complex model of the object you want to insert into the enclosure, then extract that solid model from the enclosure solid. We’ll focus on the first approach, an outer solid block that has been shelled using another simple, geometric shape, an interior block.
Lets make an enclosure that’s 100mm long, 60mm wide, and 30mm high, then hollow it out (shell it), then split it in half to make a clam-shell. Following is a video tutorial on making a basic clam shell electronics enclosure using ViaCAD, a consumer-level (inexpensive) 3D CAD package. While this is shown using a Mac version of ViaCAD, the exact same steps and menus are applicable to the Windows version of ViaCAD and this tutorial will be identical in Windows:
All the source files for this tutorial are available on ThingiVerse to download for free.
Exporting the CAD Design to an STL File
STL files are 3D descriptions of a part that are suitable for ingesting into the tools required to make the part – say a CNC router, or 3D printer. ViaCAD lets you export the design as an STL file which works well for the next stage. First export the clam-shell enclosure as an STL:
You’ll get a popup dialog for what kind of file you want to save. Choose STL, ASCII STL format:
Next you’ll be presented with a standard file dialog which lets you name and store the STL file in a specific location on your hard drive:
Click Save and you’l be presented with one more popup allowing you to choose various STL file options, but you can simply take the defaults for this exercise:
Select OK and the STL file will be generated and saved.
Preparing the CAD STL File for 3D Printing
There are two steps to getting from the CAD design above to an actual, 3D printed part. The first is to generate the GCode needed by the printer and the second is to load that GCode into the software that actually controls the printer and does the printing.
We’re targeting the LulzBot AO-100 3D printer and we’ll use Slic3r for the first part, generating the GCode from an STL file, and we’ll use Pronterface (Printrun), specifically MacPronterface, for the second part, 3D printing the enclosure.
Slic3r – Creating a GCode file with Slic3r
Slic3r reads in the STL file and will generate GCode suitable for Pronterface to ingest and control the 3D printing process.
After bringing up Slic3r, just add the STL file to the layout using the Add… button and the file dialog:
Select the STL file we exported in the previous step:
You’ll get results that are similar to this. Load your printer’s configuration file for whatever filament type you’re planning to use (I won’t go into all the options related to Slic3r configuration, but you should have received an .INI file or directions for downloading a Slic3r .INI file from LulzBot that is a good starting point for a most prints.)
Once you’ve loaded the STL file, you’ll hit the “Export G-Code” button on the lower right and select the filename for the GCode:
It’s this GCode file you’ll use for the next step.
Pronterface – Loading the GCode file and 3D Printing
Next bring up Pronterface (Printrun) and load the GCode file you just created with Slic3r – make sure to use the file with the .gcode extension. Use the “Load file” button on Pronterface to get the file dialog to select the GCode file:
Once the GCode file is ingested by Pronterface, you’ll see a screen similar to this where you can see the footprints of the top and bottom portions of the enclosure we designed above. The heavy black line around the perimeter is an extrusion loop that the printer uses to get the plastic flowing before starting on the part.
From here, you connect to the LulzBot AO-100 printer and start the print run.
Connecting Pronterface with LulzBot AO-100
After you’ve loaded the GCode you can connect to the LulzBot AO-100 3D printer – it’s not order dependent, you can do the connection first, then load the GCode. Make sure to turn on the LulzBot first and have it connected by USB before bringing up Pronterface otherwise, the USB connection won’t be recognized and enumerated. Each system is slightly different, but on a Mac, the interface shows up as a /dev/tty.XYZ where XYZ is whatever OS X enumerated the LulzBot USB device. In my case it looks like this when I select the device to connect to (/dev/tty.usbmodem411)
After selecting the USB device, you can hit the “Connect” button and Pronterface will be talking to the LulzBot AO-100.
Heat it up
Before printing, you have to do two things in Pronterface. First, you need to start the heat on the hot-end extruder. Secondly, you have to start the heat on the heated bed – the print surface. The latter is needed because parts will warp and sometimes peel off the bed if the bed is not hot enough. You click the “Set” button next to “Heater” and also “Bed”. If you’re printing ABS plastic, the temperature for the hot-end will be 230C and the bed will be 110C. After that, monitor the temperature of the two parts until they’ve reached their set points.
Finally – 3D Print
The last step is the easiest, just hit “Print” to start the 3D print process. Below is a video of the top and bottom parts of the clam-shell printing on a LulzBot AO-100 3D printer.
Below is a closeup image of the final printed clam-shell. No filing or any other kind of post-production work was done on these parts – they’re exactly as they came off the LulzBot AO-100 in the video above. I think you’ll agree, the final part print looks nearly identical to the isometric view of the parts shown at the start of this tutorial and that’s one of the main things I wanted to show – end-to-end, from creation to physical part.
These parts were printed with a layer height of 0.4mm, ABS plastic filament, 2.89mm diameter (what’s referred to as 3mm filament.)
It’s clear from the actual part print that the enclosure is much thicker than it needs to be, but that wasn’t really the point of this article – the point was to show how the design process works for a clam shell starting from scratch all the way to an actual 3D print.
It’s also possible to radically speed up the print through additional tweaks in Slic3r including the density of the infill and layer height. Tweaking a build for optimal print time and quality is a fairly time consuming process and one you would go through if you were planning to print even a small batch – say 5 to 10 units. It’s usually worth it to dial it in especially if you know you’ll be printing more over time.
Upcoming parts in this series will demonstrate how to design two additional enclosure styles. One, a shelled enclosure with a horizontal faceplate, and two, an enclosure with a thin lid or bottom that snaps into place. Both these are versatile and scalable designs that can be easily adapted to your own needs.
Other parts of this series
All the source files for this tutorial are available on ThingiVerse to download for free.
This is a multi-part series on designing electronic enclosures specifically for 3D printing and will feature some of the enclosure designs I did for my speed climbing timing system at Twin Dolphin Timing.
Practical 3D Printing
There’s a lot of hype around 3D printing, but one of the most practical things I wanted my LulzBot AO-100 to do was to print custom electronic enclosures. When you get bitten by the electronics bug (thank you SparkFun), you quickly move from breadboards, to perf-boards, probably skip etched copper and jump straight to real PCBs made through services like BatchPCB, or GoldPhoenix and any number of other PCB fabricators. It doesn’t take long before you have to take your debugged masterpiece off the workbench and put it into the real world – you need an electronic enclosure.
It was the dearth of enclosure choices between bench and real-world that led me several years ago to start the ESawdust brand and with the help of my business partner, Steven Fontana, design three lines of sheet metal electronics enclosures made explicitly for the DIY maker crowd. The first was the Chameleon with interchangeable faceplates for various popular development boards. Next came the Dog House for Beagle Board, and finally the Crib for Arduino. Sheet metal is great, tough, functional, but it’s still not something you can easily make in single unit quantities. It’s out of the DIY budget to iteratively prototype with sheet metal with a real manufacturer.
You can always do what most makers do, find the closest size you can from Hammond or PolyCase, then Dremel or nip your faceplates and wedge your project into the best fit. Sometimes this is all you need and that’s fine. Before evolving to better enclosures, I did this, too, but I always ended up with something a lot more like a jack-o-lantern for Halloween than an enclosure I was proud of.
The problems with existing, general purpose enclosures when you are trying to fit a custom board include:
Unless you’re working for a big company with an industrial design team and coordinated packaging efforts, these are hard problems to tackle by yourself when you want to fit your custom circuit board into an existing, one-size-fits-all enclosure, but this is where 3D printers really shine.
Where 3D Printed Enclosures Fit in the Grand Scheme
There’s a gaping hole in the electronic enclosures market which is between the one-size-fits all approach of a Hammond or Polycase, the jack-o-lantern-dremel specials like RadioShack project boxes, and a full-blown custom injection molded or sheet metal custom enclosure.
I want something that is a custom enclosure, but I don’t want to pay injection molding or sheet metal prices – for many things I simply don’t have the volume to justify the manufacturing expense. It doesn’t have to look like a design gallery piece or iPhone, but I don’t want it to look like I hacked up something and wedged it in, either.
I suspect many DIY’rs have similar needs – they don’t need an enclosure to gleam but don’t want it to look like road-kill either.
Even though I recognize the need for more electronic enclosures for DIY’rs, and I have existing products on the market, and I have the design and manufacturing path to get to sheet metal enclosures, I still find myself wanting and needing very small quantities of custom enclosures.
A 3D printer is the first device available to make a single unit, custom electronic enclosure without breaking the bank. Even now, you don’t have to look far to get access to a 3D printer. High schools and hackerspaces have them. They’re becoming affordable in the same way that the first laser printers became affordable for home use. Places like Club Workshop in Denver where you can pay a day fee will get you started. Finally, you can always ship your designs off to Shapeways and have them printed and sent to you.
This article establishes the motivation for using 3D printers for single unit to small-run custom electronic enclosures. The limiting factor from here on are CAD skills, so the subsequent parts in this series will focus on design techniques and CAD skills you need to master to design enclosures.
Check out Part 2 of this series to see how to make a simple, clam-shell style enclosure that you can 3D print.
Jump ahead to Part 3 which delves into enclosures with front-panel and faceplate designs to expose circuit board connectors