Dupont connector splice lock

Rather then just taping the connectors for end stops and steppers I wanted to print a “connector lock”

Something like this Dupont connector 2.54mm pin holder with generator by Oxmstr - Thingiverse

Now my cad skills are weak so modding this for 2 and 4 pins I relied on just scaling in the slicer which didn’t work because the holes for the wires are to small

Does any one now of an existing model? or barring that are so excited about this idea and have mad cad skills that they whipped it up in 5 minutes ?

:slight_smile:

(hey one can hope. )

1 Like

Fun openscad exercise.
I don’t know if this will fit but it’s a starting point. You can tweak some parameters in the top few lines of code until it’s right. Openscad is free and a very small program, go ahead and download it and play around with it. connector_holder.zip (28.3 KB)

1 Like

OH wow this is way cool there goes my weekend learning I LOVE IT

given this is code in theory I could modify it to use the number of wires to set the width etc right? fun fun

Yup! Though I didn’t do a very good job making it easy to change the wire count.

I did make a dupont connector holder when I built my mpcnc, it was different and used zip ties to secure it. I think that would work better than the design I posted. I apologize I couldn’t find the stl.

I’ll make a version 2 file later.

Fun exercise indeed!

Sorry, I couldn’t help myself.

wall_thickness = 1; //mm
wire_diameter = 1.8; //mm - including insulation
wire_clip = 1.4; //mm - space to allow wire to snap in and hold

$fn=96; //96 sides to a circle

width = 2.54; //mm - width of dupount housing
length = 14;  //mm - length of dupount housing
tolerance = 0.25; //mm - enlarge the dupount housing this much for a good fit

dupont_housing(7);

module dupount(x, y, z) {
    //draw the negative space for a dupount connector
    wire_len = wall_thickness*4+length*2;
    translate([x,y,z]) rotate(a=[270,0,0]) union() {
        translate([0,0,-wire_len/2])
            cylinder(h = wire_len, r = wire_diameter/2);
            
        //draw the dupount housing
        cube([width + tolerance*2, width, length*2], true);
        
        //draw the space for wire to slide in
        translate([0,-5,-(length+4.9)])
        cube([wire_clip, 10, 10], true);
        
        translate([0,-5,+(length+4.9)])
        cube([wire_clip, 10, 10], true);
    }
}


module dupont_housing(count=4) {
    difference() {

  //draw the housing
    cube([count*width+2*wall_thickness + 2*tolerance, 2*length + 2*wall_thickness + 2*tolerance, width + 2*wall_thickness], true);

    //draw the connectors
    translate([-width*(count-1)/2,0,0])
    for (i=[0:count-1])
        dupount(i*width,0,0);

    //open up the top and account for tolerance
    translate([-(width*count + tolerance*2)/2, -(length*2 + tolerance*2)/2, -width/2])
        cube([width*count + tolerance*2, length*2 + tolerance*2, 10]);
  }
}
2 Likes

How about some zip ties for added security and strain relief?

// BEGIN SETTINGS

pins = 6; //ea - number of pins in connector
wall_t = 1; //mm - wall thickness for part
wire_d = 1.8; //mm - wire diameter including insulation
wire_s = 1.5; //mm - space for to snap through
tol = 0.25; //mm - for tweaking fit
zip_w = 2.54; //mm - zip tie width
zip_t = 1.27; //mm - zip tie thickness
zip_s = 4; //mm - distance between zip tie holes (center to center)
zip_d = 3.5; //mm - distance from wall to zip tie holes

// END SETTINGS


$fn = 96; // sides to a circle

d_width = 2.54; //mm - dupont housing width
d_length = 14; //mm - dupont housing length


hx = d_width*pins+tol+2*wall_t;
hy = d_length*2+tol+2*wall_t;
hz = d_width+wall_t;

union() {
    difference() {
        //draw the connector housing

        translate([-hx/2, -hy/2, 0])
            cube([hx, hy, hz]);

        //draw the negative shapes where the dupont connectors will fit
        translate([-(pins-1)*d_width/2,0, d_width/2+wall_t+tol/2]) {
            for (i = [0:pins-1]) {
                translate([i*d_width,0,0]) {
                    //let's draw a dupont housing 2x length for 2 connected together
                    dx = d_width+tol;
                    dy = d_length*2 + tol;
                    dz = dx;
                    translate([0,0,dz/2]) cube([dx, dy, dz*2], true);

                    //draw the wire
                    rotate([90,0,0]) cylinder(h=dy+4*wall_t, r=wire_d/2, center= true);

                    //draw the wire slip
                    translate([0,0,0.75*dz]) cube([wire_s, dy+4*wall_t, dz*1.5], true);
                }
            }
        }
    }


    //draw something to zip tie the wires to
    zy = hy/2 + zip_w/2 + zip_d;
    difference() {
        hull() {
            translate([zip_s/2,-(zy+zip_w/2),0]) cylinder(h=wall_t, r=2);
            translate([-zip_s/2,-(zy+zip_w/2),0]) cylinder(h=wall_t, r=2);
            translate([-(hx/2 -2),-(hy/2),0])cylinder(h=wall_t, r=2);
            translate([(hx/2 -2),-(hy/2),0])cylinder(h=wall_t, r=2);
            
            translate([zip_s/2,(zy+zip_w/2),0]) cylinder(h=wall_t, r=2);
            translate([-zip_s/2,(zy+zip_w/2),0]) cylinder(h=wall_t, r=2);
            translate([-(hx/2 -2),(hy/2),0])cylinder(h=wall_t, r=2);
            translate([(hx/2 -2),(hy/2),0])cylinder(h=wall_t, r=2);
        }
        
        //holes for zip ties
        translate([zip_s/2, -zy, 0]) cube([zip_t, zip_w, wall_t*3], true);
        translate([-zip_s/2, -zy, 0]) cube([zip_t, zip_w, wall_t*3], true);
        translate([zip_s/2, zy, 0]) cube([zip_t, zip_w, wall_t*3], true);
        translate([-zip_s/2, zy, 0]) cube([zip_t, zip_w, wall_t*3], true);
        }
}
6 Likes

Cool idea!

loving this and this community

2 Likes

Why would you need to scale it?

Seriously, unless you’re trying to lock a 2X2 connector, you use one of these at either end, and call it a day. You don’t need to lock the whole width of the connector, just use one at each end. For a 2 or 4 pin connector, it will actually be even stronger, since it will hold the DuPont connector on all 4 sides.

Okay, it’s not as cool as scripting custom prints, but for stuff like this, I can be a pragmatist.

A pragmatist would use a piece of tape. I say good day, sir! :wink:

A OCD-ist uses aviation connectors and locking JST connectors.

2 Likes

Confession time. These just came in the mail. 5th connection for ground incase I feel the need to ground the stepper body.

I don’t like/trust my soldering on cheap aviation connectors. I’ll probably find a way to mount the female plug directly ontop of the stepper.

It’s been done, tape will still let the pins move in the connector, which is more of an issue than the connector itself.

1 Like

Dont the instructions still recommend just taping 'em up?

I use lots of tape, wrapping all the way around maybe three times, and it makes the connectors pretty stiff. Enough stiffer than the wires anyway, so the connection doesn’t flex.

I don’t plan to change from the tape approach but I can’t pass up some good OpenSCAD.

2 Likes

I use waxed thread and I would loop it in between wires 2 and 3, so it’s just holding onto the middle of the connector. I’ve also used hot glue (hot snot) and that works pretty well. But the wires need to be held into their crimps too, I’ve found. Or it will eventually come loose.

Indeed. Had issues myself of endstop splices not 100% reliable and was in the tube, so could not access. Even had both ends where comes out of tube zip tied. So should not have had any movement. Even taped well. It almost wrecked my machine many times. Always had to check endstop status before homing.

Ended up getting spool of 18/4 wire (if i remember correctly) and took out all splices. Only connection at motor and at control board. So much better and piece of mind.

Well… I used heat shrink tube tonight. It doesn’t hold the wires really tight, but a little. No way the connectors are coming apart themselves.

I am thinking though that I don’t like having connectors in the drag chains, which they are right now. I may end up pulling it all out and doing fresh ribbon cable to all 5 motors and 4 stops.

Sorry about bumping an old topic.

I noticed some increased traffic to my design and wanted to see if it was featured anywhere and only saw this thread.

I have a question, why not just ask if I could make a 2× version? You can post a comment under the design or direct message me on twitter/thingyverse. I would gladly add more. I needed single version for myself and thought that it could be usefull for some other people.

I added more versions recently.