Ball Jointed Parallelogram

ball-joint-parallelgramAnd now another entry in the “3D printer is not the solution to everything” file.

I’ve had ambitions to build my own delta robot ever since I watched an YouTube video of ABB FlexPicker industrial robots at work. Key part of the robot geometry is a set of parallel links and I thought I’d try printing my own.

The reason why I thought this exercise might be interesting is that 3D printer offers the unique possibility of printing objects in place. This means the socket can be designed purely to hold the ball in place, without any provision for the ball to be inserted or removed because there’s no assembly.

Drawing the test piece up in OnShape was fairly straightforward. A few prints were required to dial in the precise gap needed between the ball and socket so they print as tight to each other as possible without fusing together. Once that was figured out, I had a set of parallel links that moved very poorly.

On the upside, the theory was correct. The ball was printed inside the socket and was held tightly. It’s never coming out, because it never had to be inserted in the first place.

On the downside, 3D printers can’t (yet) print very smooth surfaces. Which resulted in rough movement as the printed layers moved past each other. Far inferior to standard polished metal joints, except maybe when they have sand and dirt inside.

Close up of ball joint, showing the printed layers that give it a rough surface.

Ah well, it was worth a try. If I want to build my delta robot, I will go buy some mass-produced ball-and-socket joints that’ll be much smoother than anything I can print with the 3D printer I have. Small projects can use joints from the remote-control hobby world, big projects can draw from the McMaster-Carr catalog.


simplify3d_logo_rUp until this point I used Cura 2.x, which met all of my STL to G-code slicing needs. But the caliper battery tray project demanded more.

I needed to print supports for the battery tray project components because the shape could not be laid flat on the print bed. Cura, like all decent slicer software, could generate supports. However, the Cura-generated supports are a take-it-or-leave-it affair: There is no way to edit the support structure. This is a problem when the structure ends up in an inconvenient place that is dimensional critical and difficult to clean up. Such was the case for one of the fastener holes.

After a few failed attempts due to inconveniently located support structures, I looked for a solution online. The common answer seems to be to leave Cura behind and switch to Simplify3D, so I did. I immediately dove into the part that motivated the purchase: editing supports.

When tearing your hair out, the Manual Placement feature alone makes it worth the $150 price.

I was very happy to see it worked as advertised! I was able to add and remove supports as needed to make sure I got support where I needed, and avoided supports where the shape is critical and I couldn’t afford to have support material in there.

Another benefit of Simplify3D is the G-code visualization component. Cura had rudimentary visualization but I was never happy with it. My workaround had been to upload the .gcode file to for visualization, but going to yet another web site was a huge hassle in my workflow.

Sadly, Simplify3D was not all win. The print rafts generated by Cura worked out much better for my printer than the rafts generated by Simplify3D. Fiddling with raft parameters were to no avail: Cura rafts were much more helpful and peeled off cleaner than those from Simplify3D.

You win some, you lose some, such is the story of an evolving field like 3D printing.

Caliper Battery

caliper-batteryI had been using an inexpensive digital caliper to take measurements feeding into my Onshape CAD projects. It has proved sufficiently precise for my hobbyist level work but I’d definitely recommend paying for higher quality caliper for professional level work.

One annoying aspect of this caliper is that pushing the on/off button doesn’t really turn it on/off. It’s more akin to on/standby, where the display turns off but some part of the electronics are still on. This is clearly visible by turning the caliper “off” then moving the caliper – it detects the movement and displays comes back to life showing the new reading, which is impossible if the device actually turned off.

The consequence of this feature is that the device is constantly draining the little LR44 battery, which lasts only a few weeks no matter how little the caliper is used.

I decided to solve this problem with a bigger battery. I had set my eyes on the AA battery, which has significantly more capacity and far less expensive than a LR44. When the dimensions didn’t work out, I downsized to AAA battery size.

I didn’t want to make any permanent changes to the original caliper, so no drilling, gluing, or soldering. This meant that I had to:

  1. Find an attachment point: I settled on the thumb wheel, which is held in place by a plastic hook screwed into the main assembly. My project will displace this hook, taking over the thumb wheel retention duty. This allowed a solid connection conveying movement force parallel to the axis of caliper movement. Unfortunately, it doesn’t help hold things in place perpendicular to the axis of caliper movement, which led to…
  2. Grasp the rail: The battery tray needed to grasp the rail both above and below the rail in order to remain aligned to the slide at all times.
  3. Clear the rail end: The tray necessarily reduce the travel range and thus the maximum value I could read on the caliper. An early draft reduced the usable length by the length of the battery, which was unacceptable. Redesigning the battery case reduced the loss to roughly 1cm of range.
  4. Emulate a LR44: Since I didn’t want to solder, something would have to pretend to be a LR44 battery. This took the form of a cylinder with strategically placed wires exposed to make contact with the battery terminals inside the caliper.

AAA batteries are far more plentiful and far less costly than LR44 batteries. The reduced measurement range hasn’t proven to be terribly annoying. Certainly far less annoying than replacing an expensive LR44 battery all the time!


This was the most geometrically complex shape I’ve created to date. The dimension requirements were to hold the thumb wheel in place, grasp the rail tightly enough yet still allow sliding motion, and present the cylinder pretending to be a LR44 battery. It took quite a few iterations to get all the pieces positioned relative to each other.

It was also too complex of a shape to be printed directly on the flat bed of a 3D printer. All of my previous projects avoided any need for printed supports by creative positioning, but I couldn’t circumvent the need this time. The support requirements were complex and the automated support generation in Cura proved insufficient. I needed a way to adjust the support to fit the requirements of the project and the capabilities of my specific 3D printer.

Eventually I gave up on Cura and switched to Simplify3D as my slicing software, mostly for the ability to customize the generated supports.

That’s a story for another post.

Cardboard VR Tapper

utopia-tapAnd now, a story of failure not the fault of the 3D printer. The previous project allowed my Nexus 5X phone to sit correctly in the Utopia 360 VR viewer. This project addresses the next problem: the need to tap the screen during use of the VR app.

The first step is to buy a “touchscreen stylus” available everywhere (marginally useful) electronics accessories are sold. I planned to design and 3D print a small contraption to put inside the headset to hold the stylus and press it against the screen on demand.

The holder part was a tube whose dimension needed to match the stylus so it can be held tightly. That took a few trials and errors. Then the problem is how to mount it and how to control it from outside the viewer. After a failed design using rotation motion and a small spring, I switched to a linear motion design with a rubber band.

The rubber band’s role is to keep the stylus at a particular location. Then I can use a length of string to pull the stylus away from that position, against the screen. Once tension is released from the string, the rubber band will pull the stylus back to standby position.

Touchscreen stylus widget inside the VR viewer.

Mechanically, this screen tapper contraption worked – I could pull the screen and the stylus would push against the screen, but nothing happened!

After a bit of research, I learned that the stylus is not enough to trigger the capacitive touchscreen by itself. To trigger the necessary capacitance effects, the stylus needed to be in electrical contact with a person’s finger, so it only works when held by hand, not when held by a plastic rubber band widget.


At this point I got frustrated with the whole thing and didn’t feel like designing a new V3 tapper mechanism. I went even lower tech – drill a hole so I can hold the stylus by hand and tap the screen from outside the viewer.

Sometimes, the solution doesn’t involve a 3D printer.

Ultra low-tech solution: Drill a hole for the stylus. Now it can be manipulated from outside the viewer and tap the screen inside the viewer.


Nexus 5X in Utopia 360 (Google Cardboard VR)

5x-in-utopiaEarlier this week Google officially released details about their upcoming Daydream VR. And we know what that means – massive discounts on the old Google Cardboard VR headsets!

Google Cardboard was launched with some fanfare two years ago. But with impending Daydream VR they are old news and retailers are clearing their inventory. I picked up one example of the breed, Utopia 360, as a Deal of the Day from Best Buy. This viewer allowed the lenses to adjust both for distance between eye and distance to screen. Much better than the fixed-lenses devices like the Mattel View-Master VR.

There are a few problems with the Utopia 360, though. The first I tackled was the phone mount mechanism. It was a sprint-loaded set of plastic clamps that has the unfortunate property of pressing and holding down the power button on the Nexus 5X, turning the phone off. Another mounting solution will be needed.

Since I had measured the dimensions of my Nexus 5X for the car holder project, the data easily translated into a project to make a replacement phone mount. The Utopia 360 bracket had to be two pieces as the phone mount area is too large for my little 3D printer to print all in one piece.

Since I’m customizing to a specific phone, there’s no need for sprint-loaded adjustability. The bracket precisely fits and grasps a Nexus 5X, with a cutout to stay clear of the power and volume buttons on the side. The end is also open, so I can plug in headphones and power if I needed to. And a little final touch: circular cutout to clear the phone’s camera bump, allowing the phone to sit flush.

Utopia 360 VR viewer with new custom mounting bracket for Nexus 5X

Now I can enjoy Google Cardboard VR experiences on my Nexus 5X in the Utopia 360 viewer without being rudely interrupted by the phone powering off or changing the sound volume. I am, however, unable to interact with the VR app. While more recent Cardboard VR viewers like the View-Master included a lever for the user to tap the screen, Utopia 360 did not.

That’ll be the next project.


3D Printer, Fix Thyself.

fan-adapterI’ve enjoyed using my 3D printer to solve little problems around the house. This project was extra amusing: I wanted to solve a problem I had with my 3D printer that I wanted to solve with the 3D printer.

My Monoprice Select Mini 3D Printer is a basic unit built to a low cost, and I’m probably using it a lot more than it was designed for. The first component to show serious wear was the tiny 30mm cooling fan, a simple unit with a cheap sleeve bearing that wore out. As a result the fan started vibrating and making quite a racket.

I could easily buy a direct replacement fan online, but where’s the fun in that? I have a 40mm fan just lying around anyway. Let’s make an adapter!

For a while I was stymied by the fact that the two fans were mounted in opposite and inconvenient directions. The original 30mm fan screws were pointed in the direction of airflow, and the original 40mm fan screws were pointed against the airflow. This meant that when one set of fasteners were mounted on an adapter, holes for the other set would be blocked.

I spent approximately an hour tearing my hair out trying to design something clever, to no avail. Then clumsiness came to the rescue: I held the cooling duct (which the fan would be mounted on) in my hand, trying to think, when I accidentally dropped it. When it hit the floor, it fell apart into two pieces.

The duct was actually two pieces fit snugly against each other. All this time I had thought it was a single piece! With the two pieces apart, the interior of the duct became accessible. This meant I could use the 30mm fan screws opposite of the original direction (pointed against the airflow) where it is no longer blocked by the 40mm fan.

Suddenly the adapter project became trivial.

“Oops” moment for the win!

Nexus 5X holder for Mazda RX-8

nexus-5x-holderGiven how popular it is to have mapping and navigation on the phone, there are a lot of phone mount products on the market. Unfortunately, given the diversity of phones and of cars, it isn’t feasible for product manufacturers to custom make individual design for every car + phone combination, so every mount is a generalized trade-off of some sort.

Which is, of course, the ideal situation for a 3D printer. Making an unique product to solve an unique problem. In my specific case, I wanted to mount a Nexus 5X phone in my Mazda RX-8 vehicle. This was the result.

The base of the phone slides in to the holder, and fortunately its position and basic friction is enough to hold the phone in place. I didn’t have to add any kind of clasp or snap to hold the phone in place.

The two slots in the base are for the two cables I wish to plug into the phone. The center slot is made to precisely fit a Monoprice USB-C cable. The side slot is made to precisely fit the plug of the Kensington audio cable I am using, one with ground loop isolation.

I didn’t want to do anything permanent to the car such as drilling holes for mounting. So I shaped the base to fit in the ashtray. I originally intended to print a large block so it fills the whole ashtray cavity but changed my mind when I realized the extra space is useful for coiling up the extra length of cable and make things tidier. Using the ashtray had the bonus side effect of placing it adjacent to the cigarette lighter power socket.

The entire design is too large for my little 3D printer to print all at once, so it has been divided up into three parts that can each be printed without support.

  1. The ashtray insert
  2. The phone holder
  3. A cylinder to connect them, one face truncated at the appropriate angle to hold the phone for display.

I printed this design in ABS plastic because of its higher melting temperature. The interior of a car gets hot and I wasn’t sure if 3D-printed plastic would melt in the heat. Printing in ABS also had the additional benefit of letting me use acetone as glue, melting the ABS pieces together results in a very strong bond.


Spotting Scope Webcam Adapter

scope-adapterSpotting scopes sold for bird watchers and rifle marksmen can be quite inexpensive compared to serious camera lenses of similar zoom capability. I knew there was a difference in the picture quality but wanted to try it first hand.

Since the picture is zoomed in so far, any physical movement is greatly magnified in the image. Which meant simply holding the webcam up against the eyepiece by hand just resulted in many blurry pictures. Taping them to each other wasn’t good enough – the small movement allowed by tape was enough to distort the picture. What I needed was a solid adapter to hold them against each other.

3D printer to the rescue!

The scope eyepiece unscrews easily, which makes for a convenient mounting point for a 3D printed bracket. The webcam is then attached to the bracket by means of a ring matching the diameter of the webcam. I didn’t want to spend too much time on fancy fastening designs on the first draft, intending to use tape. As it turned out friction was enough to hold everything together well enough for a quick experiment.


Results of the experiment: you get what you paid for. The image quality of a cheap webcam looking through a cheap scope was barely legible. I don’t intend to put more money into this investigation, so I’m unlikely to upgrade to better scopes. What I do have, though, are some better cameras which might be worth experimenting down the line.

One problem that I should have foreseen was the very incompatible fields of view of the two instruments. A webcam is designed to capture a very wide field of view, because during video chats the face is very close to the webcam. A spotting scope is just the opposite – it has a narrow field of view of a very distant object. When I put them together, what I get is the narrow scope view in the middle of a big wide field of black.

A stray cat resting in the backyard under a leafy bush against a yellow brick wall.