Locking ball and socket arm

by alexrich82, published

Locking ball and socket arm by alexrich82 May 13, 2015
10 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Design Tools


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

28166Views 6866Downloads Found in Hand Tools


Ball and socket system, upgraded with a quarter turn twist lock on each ball joint to greatly increase pullout strength.

My idea is to create a ball and socket system that is not only 3d printable but extremly strong and will not pop apart easily. This would be suitable for things like an LED lamp arm or heavy duty alligator clip where you don't want the neck popping apart.

My original project was posted on hackaday:

Update 5/17/15
New STL files posted on 5/17/15 - should work much better on printers with larger layer height / lower resolution



  1. I printed the parts with socket up, this minimizes supports that are placed inside the socket, easier to remove from the ball.
  2. I printed with a layer resolution of .01" or .25mm. For larger layers you should be fine, if you have any issues post them in the comments.
  3. Use a fairly dense infill if you want these to be nice and strong. The intent is for this to make a fairly heavy duty gooseneck arm.


  1. Place nut over ball joint first before snapping socket onto ball.
  2. Snap socket onto ball, requires moderate amount of force.
  3. Slide nut onto socket, take care to align the locking features.
  4. Twist quarter turn to lock in place. Small hex flats are 10mm, large hex flats on the twist-lock nut are 19mm.
  5. Repeat for additional joints.

More from Hand Tools

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

where is the base plate???

What orientation am i supposed to print this in?

You can try the orientation that is shown in the STL screen captures (it should orient this way by default). Many people have been able to print fine in this orientation. Another user had to make some mods to the design to successfully print, check out the remixes if you have problems with the default design. In particular this one was very thoroughly done by @KriLL3: http://www.thingiverse.com/thing:1420341

Locking ball and socket arm - Print and Assembly Optimized
by KriLL3

I am having issues with the ball and socket falling over

Really neat design, printing some to test now, though it seems the ball and socket part would print better turned 180, would fix that 90 degree overhang between the ball and socket which isn't really printable.

Thanks! Give it a shot flipped over, I am a bit spoiled with a printer that has soluble support mat'l. While these parts work great on my printer, others have reported the parts require a bit of hand sanding and touch up after printing. Particularly the locks may require some scraping or other minor tweaking such that they twist on with minimal force. Very hard to design things with a precise fit that will work on all 3d printers!

Vast majority of printers out there don't have soluble supports, and it's still a good idea to avoid having to use it if possible imo, currently printing a set with the default orientation 0.1mm (no idea why people insist on printing small mechanical stuff at really high layer heights...) on my custom i3:like, I'll print a flipped version (edited the "top" of the socket to be flush, turned it upside-down) and report back my findings.

From what people have said, it prints fine without support (surprisingly given the overhangs) - the main issue is the X/Y accuracy of the printer will drastically change the fit between my locknut and the socket. Let me know how it goes, t hanks for testing. You can see some of the stuff others have printed, varying layer heights seem to work ok


Locking ball and socket arm

Default orientation part just came out of the printer: http://www.thingiverse.com/make:204258 works perfectly fine though the ring needs a wrench to turn (not sure if that's intended or not, saw wrenches in remix tab), the 90 degree overhang didn't print that well as expected but it doesn't affect the functionality at all, could be edited to look like my resulting print I think, tip of the ball is a bit conical but again doesn't seem to affect functionality, it's because of my print cooling fan not kicking in until layer 10. So yeah prints fine but I suspect the turned version to print more cleanly, not that it seems to affect functionality. Cooking up some reversed ones atm again at 0.1mm, might try higher layer height later but small intricate mechanical stuff and rounded domes etc just seems like 0.1mm stuff to me.

Locking ball and socket arm
by KriLL3

Inverted ball and socket came out looking nicer as expected, locking rings seem to be layer height agnostic more or less due to their functionality being linked to their x/y contours nor really their z outline being smooth, printed em at 0.3mm and they work fine, gonna try the inverted ball and sockets at 0.2mm next.

0.2mm works even better than 0.1mm, 0.1mm is too smooth, means even if you tighten the ring the smooth cup and smooth ball has very low friction at least with my PLA, 0.2mm parts are much firmer when locked than 0.1mm, also modified the ring to just have 6 sides on the outside and no rounded outline in z, easier to tighten in a wrench/pliers.

Cool, thanks for working on it. I like the changes, are you planning to make a remix?

Yeah polishing it atm, downside of printing the ball and cup the other way around is that if you like me rely on a bit of first layer squish to make prints adhere better you need to file my current design a bit, making the very bottom a tiny bit narrower to fix this. Sadly my family is asleep and my printer is pretty loud and I don't want to upload something untested, so It'll have to wait until tomorrow, added a 10mm open wrench for the ball and socket part to compliment the 19mm ring ones, and made the 6 sided part of the ball and cup part a bit taller to better work with a wrench, my pliers are making ugly marks on the 6 sided part of the ball and cup.

There got to test it and published my remix, kept the license the same and credited you first thing as is proper. :)

I was wanting to use an extendable are or goose neck like this for a project I am working on.
I was originally planning on using a cardan joint from a lubrication system for a milling machine.
But I couldn't get hold of one that was A long enough and B a suitable price.
I have a 3d printer at my disposal.
I was wondering if from your testing if I were to make an arm using the stl files you provided that was roughly about 3cm to 45cm long...is it strong enough to hold 5~7.5kg of weight if attached at one end vertically and to a platform weighing 5kg at the other.
Woudk it be able to withstand these kinds of forces please.
Please reply ASAP...I unfortunately have a quite urgent deadline to fill...


I don't think so, it has some stiffness but is not strong enough to hold seomthing 5-7 kg. You could potentially scale the parts up like 2x and print several joints and test them. Larger joints will have more surface area for friction between ball and socket, increasing the holding strength. The main purpose for the "locks" was to prevent the balls from pulling out of the sockets, they don't necessarily lock the ball position in place.

Let me know if that helps, sorry to just get back to you.

Well, the socket needs no cleanup, but, the locknut still won't fit once the ball is inserted. Second from left is the new main body.


ah, so frustrating - thank you for testing. can you file the teeth on the inside of the nut a tiny bit and see if that solves it? Below is a link to a picture of the parts when I print them, as well as an arrow to the area I suggest filing just a hair if the nut doesn't go on right away.


I just printed a new nut on a raft with the nubs on the inside pulled in by 0.005" each (0.029" now from inside of ring to outside of nub). It's closer, for sure.

I'll check it out later today. Looks like I'll still need to chamfer the corners between the segments on the sockets.

Oh sorry, I must have misunderstood. Can you post a picture with an arrow to the area you wanted to be chamfered on your "made one" page? I can't think of another way to post a picture. I did redesign the nut significantly to get rid of the interference issues,I posted some explode images on the gallery. The chamfers might not be needed any more, let me know.

The chamfer is needed if you don't want to print on a raft. Otherwise, the two pieces flare out towards each other on the first layers which are wider to stick to the bed.


Ok update made. Another thing, I was printing these with the socket facing up, that might work better for you as well. Will add that to the instructions

Perfect, thank you for clarifying. On my printer the raft is always support material so I never run into that. I will revise and upload a new model.

All who have downloaded and not printed yet, please download my latest version, v4. I tested this new version today and think this will work much better. With my printer I am able to the first two "locked" positions by hand, the third position I need a wrench to get to. In the third position the ball is very hard to move, I think this position will be useful over time as the ball and socket wear and things get loose, you will be able to tick the tension up a notch to compensate.

More from my version description:

"V4(5/17/15): Redesigned nut so that it fits on the socket regardless of the accuracy and layer height of the printer (within reason). On a more accurate printer the ball will fit better in the socket, not expanding it as much. On less accurate printers the socket expands more. Depending on the expansion, the nut can be tightened to up to three "locked" positions. So you won't have a loose fit on a high accuracy printer but will have no problem getting the nut to turn on a low accuracy printer."

This version left my sockets with some stringing (areas seem to need support). The nut fits well without cleanup. Still no-go for the nut once the ball is inserted. My slicer lets me shrink/enlarge the outside/inside. I'll try a 0.1mm shrink (outside smaller, inside bigger) on the nut.

Edit: The nut is almost perfect doing the 0.1mm shrink. Maybe a tad more. Also, don't forget the simple chamfer at the corners of the socket sections. You have to trim those areas after printing otherwise.

Tony - did you end up making a chain yet? I have updated the design and tested it, should be much more forgiving and should not require filing the socket any more. Would love to see a picture when you do make a full gooseneck.

Ok I will do that, I am re-thinking the design so that it will be more forgiving for different types of printers. I want to make it progressively fit tighter as you turn so that it still works on less accurate printers but just won't turn as far, then on more accurate printers it won't be loose but will just have to be turned a bit more to get a tight fit. Stay tuned, I want to test it first before I post, thanks again for testing the model and giving me feedback.

I successfully printed the twist lock and alligator clip using a raft. I have a problem printing the main body. The build proceeds fine till approx level 22 when the ball starts. The machine proceeds to 'print' but does not extrude the filament. I tried this twice - both times with identical results. I am using a MakerBot Replicator 2. Any ideas?

That has me stumped, it sounds more like something to do with your machine or with makerware. Maybe try changing infill settings or layer height to see if there is just a quirk in the code. The STL seems to be working for everyone else so I don't think it is the problem

I'm not sure I see how to print this with no supports. The slots have a 90° overhang basically printing in mid air, maybe adding a 45° slope to the top part would fix that.

The ball has virtually no bed contact, so really needs some flat surface to stick to the bed, I think adding brim to the slice may help with that though.

I agree with your statements, my printer doesn't let me experiment with no support but others said that worked for them so I reposted their findings. I have no idea if they truly meant "no support" or if they meant just a raft, or what. What I might suggest for printers that don't have good support removal capability is to just scale the whole thing up like 1.5x so the featuers are larger with respect to the layer size and it will be easier to do things like sand or manipulate the finished part. This will result in a really beefy gooseneck too which might be sort of cool anyway.

actually it printed surprising well with no support, the ball does need brim so it sticks to the bed, but everything else printed pretty well. I printed at 0.2mm height and 0.4mm width. sliced with edge slic3r.

did you end up making a chain yet? I have updated the design and tested it, should be much more forgiving and should not require filing the socket any more. Let me know if it is working for you.

cool, thanks for testing it for me. I am working on a revision but before posting here I want to test it. My hope is that it will work "out of the printer" on many different printers. I think I have a good plan, stand by and hopefully I can hone this. In the meantime though, filing the top of the socket down a bit before assembling seems to fix 90% of the problem.

Trying a raft now...

Edit: Bah. Raft is stuck too well onto nut. Will try again.

i like the design. It printed at .375 mm layer height and no support. Nut doesn't fit. Maybe you could alter the design to make it easier to print.

Jesse, I added really gradual lead-ins to the twist lock both on the nut and the outside of the socket. Let me know if this is forgiving enough to print. If not I would say the entire joint has to be scaled up. It works when printing at .25mm layer height but I think at .4mm you are just going to lose some of the fine features. I bet you would have better luck scaling the whole joint up by 1.5x or 2x. It would be sort of cool, you might be able to mount a flashlight to it or something fairly substantial.

Jesse, thanks for test printing this. I am going to try to alter the design to be more forgiving. In the meantime let me know if you have a chance to try scaling the nut up to see if that fixes it. Also, I printed at .25mm layer height, if you can print that small let me know.

I printed this on my DaVinci 1.0 at my fav, 0.4mm layer height. Ball/socket fit is great. Locking nut will not rotate. Not sure what's causing the interference.

Edit: I just got it to work. Because the bottom of the socket is on the build plate, the ends of each segment get pushed together in the first few layers. I trimmed that off, and, it's fine. A raft should help or, chamfer those corners.

Edit 2: The nut works as long as the ball is not inserted into the socket. Maybe wrenching it would work, though.

Glad the ball and socket fit, thanks for test printing it. I am going to think about how to redesign this make the twist lock nut more forgiving for different types of printer. I may redesign the "ramps" on the twist lock to be longer and more gradual, I can do this if I go from four "teeth" to two teeth. In the meantime, I would try scaling the nut up to 102% or 104% and see if that works. Better yet print one at 102, 104 and 106% and test all three. Also go to higher resolution if you can, I printed mine at .01" or .25mm layer height, your layers look larger than that, I think that could be part of the issue as well. With larger layer height the slicer basically has to round all of the featuer sizes which can cause fit issues on parts like this.

Check my two edits. ;)

I updated the STL files last night, I added really gradual lead-ins to the twist lock both on the nut and the outside of the socket. Let me know if this is forgiving enough to print. If not I would say the entire joint has to be scaled up.

Cool, thanks for the info. The fact that it works without a ball in the socket tells me the nut just needs a bit larger radius to compensate for the expansion of the four fingers on the socket. I bet scaling up the nut would work for you. I am going to adjust the CAD so that the nut will grab a range of different socket diameters, sort of like a tapered thread.

any tips on printing it with an FDM printer?

yes, I have heard from someone with a makerbot that it helps to print with no support on medium resolution. Also, try printing a few of the twist lock nuts at different scales, so print one at 100%, 102% and 104% and see which one has the best fit, then print a full chain of ball/sockets using that scale for the nut. On my printer 100% scale works perfectly but depending on how accurate and how rough the bottom of the part is, you may have varying results. This calibration procedure will help I hope, please let me know how it goes after you try it.

A few more notes:

  1. This arm should be compatible with the pcb workstation that I remixed:
  2. In some of the renderings there is no hole in the middle, but the STL files do have a hole down the middle for wire. I added that recently, not sure how it will effect break strength as my tensile test was with links that did not have a hole.
  3. Please report back in the coments how it worked for you, I printed this on a Stratasys with soluble support so I am curious as to how it will print on a consumer grade printer with no support material.
PCB Workstation with Articulated Arms
by giufini

Ok just had to tweak a few things, if anyone has already downloaded please download again before printing. I fixed the orientation of the parts so they are oriented "ready to print"