Long before we designed and produced our own printed circuit boards (PCBs), we were 3D printing custom designed mouse shells. Back in the day, we ripped apart existing gaming mice, discarded the plastic shell but put the PCBs into our own shells. That is an easier and cheaper way to mod a mouse as compared to starting off by manufacturing a custom designed PCB. In the past seven years we have printed hundreds upon hundreds of mouse shells. This article is the distillation of what we learned along the way.
3D printing technologies we trialled at Zaunkoenig
During the M1K’s development, we have experimented with straight forward FDM printers, and some more advanced SLA, SLS and CLIP printers. Our favorite when it comes to production parts is, perhaps a little surprising: FDM.
FDM printers have the strongest market penetration due to their low price point and easy setup. But it is not just the bang for the buck that makes FDM printers great. You can print a lot of different materials from PLA, ABS to Nylon as well as a few crazier materials like PEEK, if you fancy a few printer modifications (and the extra investment). Once properly set up, FDM printers can be reliable work horses for your prototyping and modding endeavours. Today, FDM printers have become so affordable, that buying several printers to run a 3D printing farm is actually feasible.
FDM is a printing technology that has had time to mature over the last several years. As a result of that development, you can effectively reach peak FDM quality with printers that cost as little as 200 to 250 Dollars. Peak FDM refers to the print quality of the part. The excellent Creality Ender 3 comes to mind, and while this printer has less features than say a Prusa MK3 (and runs better with one or two modifications), it certainly can produce the same quality of prints than the three to four times more expensive Prusa MK3. Plus, the Ender 3 takes less than an hour to assemble whereas an MK3 takes several hours (and lots and lots of zipties). Josef Prusa himself admitted in an interview that FDM has pretty much reached its potential quality wise. What Prusa innovates on is primarily enhancing ease of use, reducing print failures, improving print recoveries and so forth. But once you grooved your way into FDM and a few of its basic quirks, you don’t really need a fancy filament sensor or power outage print recovery. These are great features, but they don’t affect the print quality in any way. I suppose that this realization (and the Ender 3’s success) is what ultimately led Prusa to announce the new Prusa Mini at roughly half the price of the MK3, launching later this year.
SLA and CLIP versus SLS versus FDM
The main advantage of SLA over FDM is its perceived print quality: the surface of SLA prints looks prettier than the surface of FDM prints. I still would not recommend to most people to get a SLA printer. The main reason being the time it takes to post process SLA prints. Sure, printed SLA parts look nicer on pictures, but it is another story if you use them for more than just cosmetic purposes. With SLA you are much more restricted when it comes to resins, and post processing (removing support structures, UV curing and washing) remains a pain. Most resins are super brittle, too. But most gravely, dimensionally accuracy can be poor, meaning that SLA printed parts can be significantly bigger or smaller than you designed them to be. Sure, the parts may be super accurate when coming off the printer. But with SLA in particular you never know if parts warp when undergoing UV curing. This is a non-issue for cosmetic parts. It is probably tolerable for prototyping. But it is a different story altogether for functional production parts that must fit and work reliably when they come off the printer (think: mouse buttons).
Warping is not a SLA specific problem, though. FDM does suffer from warping as well (and so does injection molding), but FDM generally remains the most true to the intended dimensions out of all 3D printing technologies I have tested (SLS is likely just as good). FDM is even more accurate than injection molding: a big big reason for that is that the plastic is built up by a machine layer by layer. So, technically, the parts are as accurate as the machine that builds the layers. It is similar to CNC machines, the parts are only as accurate as the machine is accurate. Commonly, injection molded ABS can suffer from 0.5 to 1 percent shrinkage. So, if you intend to produce a mouse that is 60 mm wide, that could amount to a 0.3 to 0.6 mm offset. To give you an idea of how severe 0.6 mm can be: the plunger of the switch we use in the M1K (the Japanese made Omron D2F-01F) sticks 1.0 mm out of its housing. Would you feel happy about such a lottery of maybe hitting the switch, or maybe, … likely … not?
How is it FDM stays generally more true to its intended dimension you may ask yourself? Since 3D printed ABS is built up layer by layer, each layer is always as accurate as the machine that printed the layer. Each new layer is pretty much printed on the exact coordinates where it needs to be at, regardless of any shrinkage that may or may not have have occured on prior layers. In other words: every layer is where it needs to be. Your part is effectively off by a maximum of 0.5 to 1 percent of one layer height (or layer width). This may sound surprising at first, but 3D printed FDM parts are generally way more accurate than injection molded parts, even if the 3D printed parts may look inferior, cosmetically speaking.
SLS might be a similar story since lasers are super accurate and it is again a layer layer approach. For SLS you could use most thermoplastics (Nylon most commonly), but the textured (sandy) feel that the printed parts have to them plus the fact that SLS is quite expensive make SLS not attractive for printing a mouse. Generally, SLS would be more suitable if you want to do more complex geometries that would be troublesome for SLA or FDM, so give SLS a try if you plan to do some crazy designs that capitalize on the way powder based SLS works.
Last but not least, CLIP is technically similar to SLA: it is uber fast (yay for mass production) and promises to produce near-isotropic parts with a nice cosmetic surface. If only it were not for the same cumbersome post processing as with SLA (warping, difficult support removal, nibs on the surface from removing supports). Plus the same limited choice of resins. CLIP is uber expensive too, so expansive that they do not even allow you to own a printer (you have to rent them). To make things worse the CLIP parts we have been able to print were super brittle and lacking dimensional accuracy due to the difficult UV curing process of the parts.
Learning CAD is as easy as never before
Now you might be thinking that you will never get into 3D printing because you do not see yourself learning CAD. But learning CAD Software has never been so easy, and there is excellent free CAD software. In my opinion Fusion360 is the way to go here. It is free for hobbyists and start-ups that do not earn a lot of money. Fusion360 is a fully fledged CAD tool, more so than many other free CAD tools that at times do not even allow you to have CAD assemblies (yet). And on top of that you even get excellent CAM capabilities in Fusion360. But Fusion360 is still proprietary and a lot of stuff has to be done online and by offering you a free trial version they kind of get you hooked into their ecosystem. That is something to keep in mind with Fusion360. There exist alternatives, but I am not going out on a limb here to make suggestions as I only really have worked extensively with SolidWorks and Fusion360 with a little digging into HyperWorks and Rhino/Grasshopper on the side. Bottom line is CAD is approachable as never before, and for simple designs you do not need to buy expensive licenses to get started.
3D printing and modding of the Zaunkoenig M1K bottom shell
Now if you do not fancy learning CAD and/or do not want to buy a 3D printer, you can still enjoy the fun that is modding. We released the STL file of the M1K bottom shell on Thingiverse for anyone to download for free. This shell weighs 6.0 grams when printed in ABS. As a cherry on top, we even provided the file for a lightweight mod that weighs 4.0 grams instead of 6.0 grams. This lightweight mod has a big and open honeycomb design, meaning your mouse will get much dirtier than with a closed design:
From here, all you need is a 3D printing service in your region that prints the bottom shell for you. Among these are more professional and commercial ones like Shapeways, Sculpteo, i.materialise or more community-based platforms like Treatstock, Print a Thing or MakeXYZ.
Simply download the STL file from Thingiverse, upload it in mere seconds to one of the above websites and have the part printed and delivered for a few bucks within a weeks time. You can usually choose from a plethora of colors and materials to have the bottom shell of the M1K further customized to your liking. The flat bottom plate should be put face down on the build plate. The reason being that the part will print better this way and look better too, but most importantly, since FDM parts are anisotropic (as in the printed parts do not have the same mechanical properties in every direction) built orientation matters to maximize part strength as well as cosmetics. If you order parts from community-based platforms and hobbyists, be prepared for the possibility that the parts do not quite come out as expected. If you do not want to bother with any of that, it is better to straight away head for one of the more commercially oriented companies that offer 3D printing services.
3D printing advice for the Zaunkoenig M1K bottom shell
For those who have a FDM printer, I suggest using a 0.2 or 0.25 mm nozzle, a clean, sturdy and level built plate. Glass (ideally borosilicate glass) has the property to be super flat and it does not distort much (if at all) when heated. I have had issues with standard PEI sheets (or rather its FR4 base) not being flat, and the aluminium bed on the Ender 3 too is best thought of as a base plate where you put a flat print bed on top of it. A truly level bed is of paramount importance for your prints. You have to experience true level for yourself, and once you do, there is no going back to the poisoned, crooked reality.
If you are using PLA, be sure to have the fan on your hotend always running to minimize stringing issues. PLA is the most commonly used and forgiving filament, but if you dare to print ABS, I would definitely recommend to use an enclosure (an Ikea Lack Enclosure will do) with a disabled part cooling fan and depending on the filament a considerably warmer heatbed temperature (roughly 100 degrees Celsius). Be sure to use a brim around the part when printing ABS, it makes for better adhesion on your print surface. If you need to use glue, only use it in the corners and only under the brim. Also, in all cases disable supports as there are only minor overhangs that can be ignored. If you experience issues with stringing, increase your retraction settings. I would recommend a 0.1 mm layer height and between 140 to 160 percent extrusion width in relation to the nozzle diameter. Think of layer height as z-resolution, and extrusion width as xy-resolution. Printing finer or larger layer heights and/or with narrower/wider extrusion widths (with wider nozzles for example) is possible, but might be detrimental to the mechanical properties of the printed part. A higher (finer) resolution is not always cosmetically and/or mechanically superior. If you want to nerd out on that topic, I can wholeheartedly recommend the videos of Stefan from CNC Kitchen for some statistical evidence on which layer height and extrusion width settings are mechanically optimal for 3D printed FDM parts.
One more piece of advice: Increase the first layer height to 0.15 to 0.2 mm. Make sure to really squish down the material on the first layer in order to get a smooth first layer down.
Depending on your printing speed, the print time should be somewhere between two and a half to three and a half hours for the 6.0 grams bottom plate, and one and a half to two hours for the 4.0 grams bottom plate.