3D Printing MouseAir V2 – Part 2 / Learning 3D

MouseAir
MouseAir V2 3D Printed Box

3D Printing MouseAir V2 – Part 2 / Learning 3D

Part 1 of 3D Printing MouseAir V2

Part 3 – 3D Printing MouseAir V2 /  Debugging Big 3D Prints

Introduction

The Mouse Air project has been around in various stages since April of 2014. The goal of the project (conceived in a bar, the Fedora in Coeur d’Alene Idaho and named by Sarah, the most excellent bartender there.  And some BlueMoon Beer.)  was to be able to detect a cat walking by and fire a mouse.  It worked!  The first

MouseAir
MouseAir V2 3D Printed Box

version was physically large and complex, but fun!  I had so much response (including the response from the Cat) to that article and project from a variety of sources, that I decided to do a redesign of MouseAir incorporating what I had learned from the project. I aggressively redesigned to eliminate unneeded hardware and drive down the cost and size. To the right is a picture of the 3D Printed box of MouseAir V2.  The 3D Printing of the box was a big undertaking because I had to learn the whole technology.

Part 1 of 3D Printing MouseAir V2

Part 3 – 3D Printing MouseAir V2 /  Debugging Big 3D Prints

What is 3D Printing?

3D Printing usually refers to a method for building a three dimensional object from a software model. The consumer products generally use PLA or ABS plastic and build the model one layer at a time (usually about< 1mm per layer) from the bottom up. There are dozens of 3D printers on the market today and many are priced < $3000 with some small print volume (the term for how big of an object you can print) less than $200.

I borrowed a MakerBot Replicator 2 in order to start building prototypes in a more modern method. Compare the foam and wood build prototype of Mouse Air V1 to the 3DIMG_1810 printed MouseAir V2 in the picture below. I will never return to the foam and wood to build projects again. By the time Tom Daugherty (@thdblue on twitter – a great source of what is going on in 3D Printing) needed his 3D printer back (four months later) I was hooked. I had to have one for myself.   I ended up buying a MakerBot Replicator 5th Generation.  It has been a mixed story with this new printer that I will detail elsewhere.  Check out the Raspberry Pi Geek Magazine article on 3D Printing your Mouse.  MouseAir made the cover!

How to Learn 3D Printing

I knew nothing about 3D printing when I started. I had never used a mechanical CAD system and I had never designed a single 3D file. I’m an electrical engineer and have used CAD systems my entire career, but not one mechanical design program.

I used the sample files and printed chains and bolts when I got the printer. Which was cool, but I had a MouseAir V2 box to design.

I’ve always approached learning new systems by forcing myself through the learning process by doing a real project that has real results. I started by using several different CAD systems to try to design a box and do some simple things. I tried 123Design, tinkerCAD, Blender and several others.

The Tool Chain

I could draw designs and push them to the MakerBot using the supplied tool chain. The software that comes with the printer (I call this the “tool chain” – the data path from the 3D design software to the 3D printer itself) needs to work well and fit my criteria to build engineering accuracy prototypes. The tool chain is critical to making all this work.  I found I could use a number of 3D CAD software packages with the MakerBot. Every package I tried had a path given to the MakerBot that didn’t take me down the black hole of Mac and linux software compatibility.  Things looked

TinkerCAD Initial Design
TinkerCAD Initial Design

pretty good. However, I quickly learned the difference between drawing 3D designs and engineering 3D designs. It was impossible to accurately place items using 123Design and devilishly difficult to place in tinkerCAD. I was coming to the conclusion that I would have to use a professional CAD system such as SolidWorks. I could see it coming.

However, then Tom Daughtery (@thdblue on twitter) suggested that I look at OpenSCAD. I did and I was in love from the first moment. OpenSCAD is the programmers Solid 3D CAD modeler. You write code to create the 3D solid models. You want a box? Here is the code for a box.

difference()
	{
		cube ([190,140, 40]);

		translate([2,2,2])
		cube ([186,136, 65]);

	}

And the results:

OpenSCAD Design Screen for Sample Box
OpenSCAD Design Screen for Sample Box

Plus, I get sub-millimeter position. This box is 190mm x 140mm x 40mm with 2mm walls. Now I get programmable accuracy that I can adjust when things don’t quite fit. Things are exactly positioned where I want them and I can change them via code. This is 3D modeling for programmers. I completely abandoned all of the other CAD tools and have exclusively built models using OpenSCAD. And there are many designs and modules available on Thingiverse and on the web for gears, rack and pinions, rounded corners, etc., etc.

Up Next:

Part 3 of this series will address more of the design and more about OpenSCAD (both limitations and strengths).  And introduce a nice Debugging technique for large designs.