3D Printing is More Than Just for Making Pretty Things

When it comes to using 3D printers, I think the general consensus by most people is that they are used to make jewelry or 3D miniatures for tabletop games like D&D.

Kanji pendants made with 3D printer and finished with paint and sealant: Faith, Love, and Hope

While using a 3D printer for that sort of application works wonderfully, I also find them very useful for making functional items. In the last post, I showed how I utilized my 3D printer to print out a PCB.

Now I needed it for another application. I’ve had an issue with a retaining clip in my Honda for quite some time. It holds the trim by the front windshield and comes loose after a while due to the vibrations from driving. The plastic clip itself had broken so I figured I’d replace it as I was tired of dealing with it.

Broken retaining clip

I did not want to spend $10.00 on 30 of these guys…I just needed 1. I did also look at AutoZone, but even they were pretty expensive at ~$4.00 for just 1.


At this point, I figured I could use my 3D printer to just make the part I needed. After looking around a bit, I found a 3D model of a retaining clip for a Renault Clio, luckily nearly all the dimensions fit to what was needed. I imagine there are a lot of small parts like this shared across all sorts of vehicles. The only issue I saw offhand was the bottom part was a bit too thick and there were some steep angles that were on this model. 3D printers aren’t that great at printing steep angles.


After cleaning up the model a bit in Blender and importing it into Simplify3D, some of the settings needed to be tweaked from when I had printed out the PCB. Since this was a much smaller part, the thickness of each printed layer needed to be reduced. This allows for printing much finer detail but increases the printing time. When I printed the PCB, the layer height was set to 0.3 mm. With this part, I set it to 0.1 mm. It always amazes me how these devices can print out a layer of plastic that is only 0.1 mm thick…calibrating the print head though is a bit of a pain.


The final print turned out well enough. The underside of the ledge there was pretty ugly (is that an oxymoron?), but I expected as such due to the angle it was trying to print. The only thing I needed to do was grind down the bottom tab thickness a bit so it would fit

3D printed retaining clip compared to broken retaining clip

The newly printed clip fit right into the new spot without any issues. On the left image you can see a factory original clip there in the distance that was holding the bottom part on…I imagine it will break at some point soon too. The new clip snapped into place easily. The red circle there on the right image is about where that clip is located.

Installing new retaining clip

Now to see how long it will last. Only costing $0.01 in material, I don’t mind printing another one if I need to.

Necessity is the Mother of Invention

Well, not an original invention mind you.

The Inspiration…

I bought this monster fan some time back to cool my computer system. I often run some fairly intense processing which ends up utilizing a large percentage of my CPU therefore heating it up more than I’d like. it’s approximately 4.7″ square and claims an airflow of > 200 CFM. Most computer fans airflow is < 100 CFM.

BGears 120mm fan

I figured I’d just control the fan from my Motherboard since that is what you normally do with computer fans. For some reason though, the Motherboard was not able to control this beast of a fan reliably as it would never hold it at a constant RPM. The fan would constantly “rev” up and down. I had to overcome a similar issue later in the circuit I’d create, so I figured the Motherboard circuitry had the same issue. i.e. It wasn’t meant to control such a large load. I know there are fan controllers you can outright purchase, but there is no fun in that. Besides, I figured I’d use this opportunity to digress back to my college years and play with some circuits.

The Planning…

First things first, I need to find the components that were required. I originally just thought to slap a potentiometer on the fan and drive it with the 12V supply from my computer, but I quickly realized it would not work. The fan has a pretty large current draw at 1.5A. So at 12V I needed something that could dissipate 18W of power if I went that route…but I only had 2W resistors on hand. At this point, I’m realizing just how much I’ve forgotten about circuits. So, I started looking at DC Motor Controller ICs like the L298N and the DRV8840 but I had a hard time finding them in a packaging I could easily use or could handle 1.5A output. Most of them came as SMT, but I needed something like a DIP.

555 Timer in DIP-8

After doing a bit more research, I decided to use a 555 timer with a transistor. The 555 timer handled the PWM part of the circuit while the transistor could handle the large current. I had an old 12V/1A DC power supply I had been holding onto for a while that seemed to fit the bill just fine.

Since this was going to control a fan in the computer, I did think about just using the Power Supply in the computer, but ultimately decided against it. After finding a few different schematics online, I was able to combine them into something that looked like it might work. All in all, it didn’t require many components though I did need to purchase a few, luckily they were cheap.

The Prototype…

First part was to work out the circuit on the breadboard. I also needed a barrel connector for the power, so I tore apart an old router I had and also salvaged some thin metal while I was at it to use as a heatsink for the TIP122 transistor later in the build.

Prototype on breadboard

At first, I had what seemed to be a similar problem as the Motherboard. The fan would not keep a constant RPM, yet a smaller fan did not have any issues. Swapping out the 100pf capacitor with a 10pf capacitor seemed to resolve it. I imagine the Motherboard’s PWM circuit had a similar issue. The transistor did heat up more than I wanted when increasing the RPMs, but that is why I put a heatsink on it. I don’t plan on having the fan up too high anyway, it sounds like a jet engine when turned to full throttle.

The Design…

The original plan was to use a 1.8″x1.4″ prototyping mini-breadboard, but they were just too small…and quite honestly I felt it would have looked pretty ugly. Even though it would have been contained in a box, the ugliness would have still bothered me, gnawing away at my soul.

1.8″x1.4″ mini-breadboard

So, before I could move any further, I needed to find out what medium I could use for my PCB. I had seen folks used carboard, wood, and plexiglass for a PCB. Cardboard and wood sent the same ugliness vibes as the mini-breadboard, and I didn’t have any plexiglass I could use. That is when I remembered my 3D Printer. I did find other folks that had luck printing a PCB out of plastic. With the medium for the PCB sorted, I needed to find some software that would let me design a PCB and print it out…preferably for free. Enter EasyEDA. One thing I had to keep in mind because I was using a 3D Printer to design the PCB, the traces needed to be kept pretty wide to facilitate the soldering I’d need to do. I’d find out later they still weren’t quite wide enough. Not sure if this was the correct way to design a “proper” PCB, but it seems to work for my needs.

Final schematic for custom DC Controller designed with EasyEDA

The Build…

Now that I had a schematic and PCB layout, I needed to make it into something tangible. I wanted to do a sort of test fit before I went too much further. With moving this schematic through a few different applications, there was a pretty good chance the scale of the image had changed at some point. EasyEDA will export the top and bottom layer PCB separately allowing me to print both layers on paper, then position them back-to-back for the test fit. Luckily so far, everything fit well in the place the components were to go.

Test fit of components

Next, Blender needed to be used. It has a nice feature for importing B&W images and then creating a height map out of that. This is exactly what I’d need to quickly build a 3D model for the 3D Printer to print.


I hadn’t used the 3D Printer in a while, so the build plate needed to be leveled and the rails/gears oiled up. Took a few hours to finish the prep and maintenance along with a test print before trying to print the PCB. Quite a bit more time than I had anticipated. I guess it didn’t help that I also decided to move it into the same room as my computer. Once everything was ready to go, the model was imported into Simplify3D. It’s an application that “slices” the model into horizontal layers so that the 3D Printer knows how to print the object.


Once it all looked good in Simplify3D, I fired off the 3D Printer. Yes, the 3D Printer is in a cardboard box. I usually keep the “front door” of the enclosure closed to try and keep the temperature moderated. Drafts of cooler air can potentially cause a 3D print to crack. These prints are not very big at all, so there is nearly zero chance for that. The PLA plastic I’m usually is usually heated to between 210c and 220c, it’s pretty versatile stuff. The build plate itself is also kept warm at around 60c- 70c.

3D Printer in action

The top and bottom layer were printed separately and then I’d use a bit of superglue once they were done to attach them to each other. I forgot how noisy the stepper motors are on the 3D Printer; the carboard box does help deaden the noise though. The top layer only needed one trace, all the other traces were able to fit on the bottom layer. Since this wasn’t a print that needed a lot of detail, the resolution of the 3D Printer was reduced to increase the speed of the print. This made the PCB a little rough, but not as ugly as what those mini-breadboards would have looked like, well, maybe.

Top and Bottom layer 3D print

It took about 40 minutes for each side to print. If the “cost” shown in Simplify3D is accurate, it estimated about $0.50 to print this PCB. A real custom PCB would have cost me much more. All in all, I’m happy with this so far. I did have to punch out holes in the “PCB” for the components with a sharp object. Once I started to wire/soldered everything in place…it ended up being a lot more tedious than I expected, but at least all the components fit really well. Taking the time to do a test fit really paid off there. In retrospect, I think making the traces even wider and not so deep would have made the soldering/wiring process go much smoother. The problem I had is my soldering iron tip isn’t very small so I ended up melting more of the plastic than I wanted to which mixed in with the solder. So okay, it’s not as pretty as I had envisioned.

Components assembled on the “PCB”

I still needed to have an enclosure for this PCB, so back to Blender for the design and Simplify3D to print. This went fairly well, except for the fact that I made the DC plug hole a little too small. Dremels work well for making holes bigger…and for making holes bigger than they need to be.


Once everything was assembled, I wanted to cover up the screws on the bottom that held the PCB in place. The head of the metal screws would slide around easily and I was afraid it’d scratch up whatever it was sitting on. Of course my daughter had an immediate answer, “Just use hot glue”. Well, that was a really great idea. Now I can properly utilize this monster fan. The funny thing is, I had bought two fans. So at some point, I’ll have to do this again.

Final build

What’s next?

Lately, I’ve wanted to make an automated Pan/Tilt cradle for a video camera with face/body detection…then attach a machine gun to it and turn it into a sentry. Well, maybe not that last part.