Last week I was participating in a Hackfest, working with the Intel Edison and using a bunch of Sparkfun Blocks to create a prototype.

A big reason for choosing the Edison and Sparkfun blocks was trying to make a standalone wearable device. It took us a couple of days, but Jason Fox and I got things sorted (more on that soon).

Once we had a working device small enough to put on a wrist, I got to work on the case. Fortunately, a user on Thingiverse had recently made a simple watch case for the Edison (thanks Einse!) which saved me a lot of time. Even better, Einse provided the source files in addition to the STL. So I imported the files into Rhinoceros 5 and set to work on an enclosure.

This was the first design. Simple as I could Manage, simply extending the watch case, making some notches and a cutout for the LED. With only one day left in the hackfest I just had to throw it on the printer and go.

First design First design top First design top 2

The first print

Everything looked good in Rhino, so I just hit print. With a little Dremel action and some squinting, it looked pretty good! But the buttons didn't work at all, the Dpad didn't fit, the top cover printed with a single layer, the cutout in the back for wiring was too thin and didn't print at all, the case was too tight, there was no way to get the LED in without cutting, and I forgot to put in holes for the charging port and on/off switch!

Hackfest case Hackfest case top

But for the event, it worked and proved the concept:

Fixing the problems

Even though I had a working model, there were a ton of problems with it. I could have just thrown the files up on the web as-is, but that wouldn't have helped people who don't have expensive modeling software, don't already own the Edison, and might not have 3d printers that print just like mine.

Even though I used calipers to measure everything multiple times, I still got almost every dimension wrong! There is a big difference between what you measure, model and print. FDM (Fused Deposition Modeling) printers need quite a bit of tolerance to account for differences in materials, temperatures, hotends, and software slicers.

The only way I have found to get a model that prints reliably is to make a change to the model, slice it, print it and measure it. So that's what I did.


After 4 more iterations, I finally arrived at a design that prints reliably, looks pretty good, and fits well. No glue required, everything snap fits together, and it needed minimal cleanup.

You can download and print it yourself from my page on Thingiverse:

Lessons learned

  1. Snap-fit parts need 0.2mm - 0.3mm of tolerance, or about 1/2 the width of your tip (mine being .4mm). Not many people do snap-fit 3d printed parts because they can be so finicky, but it's not much more work and really results in much easier use when you're working with prototypes.

  2. Don't get too complicated. I dropped the square button overlays when I realized they weren't adding anything useful and were causing me to make too many other compromises. Same thing for a power-button overlay that was simply too small and fragile to print easily.

  3. Measure, model, print, repeat. I saved a ton of time by making parts close, printing them and then looking at the differences. A number of final changes were .2-.4mm, almost impossible to have accounted for in one try. Plastic is relatively cheap, and working with such small parts, a print only takes an hour!

  4. Prep the files before you post them. Simple things like making sure your STL is in the right units, each piece is flipped in the correct print direction, and each piece is separated into its own file will save other people a ton of time.

  5. Prep your source files too! This may be contentious, but I always post the source models too. It's nearly impossible to modify, extend or update STL files. Prepping the original models to clean up junk and saving them in a couple of accessible formats will help others down the road.

Make yourself one

Head over to Thingiverse, download it, and print one for yourself!