Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
A simple FDM-printable custom pasting jig.
pcb = [90.0, 40.0, 1.65];
gap = 0.2;
base = [180, 180, 0.2];
/* WTFPL yada yada
The idea is to bring the surface around the PCB to the same height as the
top surface of the PCB so that the stencil on top lies nice and flat.
Below the PCB there is a single layer of plastic, usually 0.2 mm
The larger holes are meant to aid removing the PCB after pasting.
Corners are cut out so that even if you didn't round your
PCB corners (which you should by the way) the board will still fit.
See Elen using this here: https://chaos.social/@ln/106352244269789569
*/
module corners(dim, center=true) {
coords = [[0,0], [0, dim.y], [dim.x, 0], dim];
for (vector=coords)
translate(vector - (center?([dim[0], dim[1]]/2):0))
children();
}
module jig() {
difference() {
union() {
translate([0, 0, (base.z+pcb.z)/2])
cube(base + [0,0, pcb.z], center=true);
}
union() {
translate([0, 0, base.z+pcb.z/2+0.01])
cube(pcb+[1,1,0]*gap, center=true);
for(i=[0:1])
translate([(i*2-1)*pcb.x/4,0,-1])
cylinder(d=min([pcb.x,pcb.y])/2, h=pcb.z+base.z+2);
for(i=[0:1])
translate([0,(2*i-1)*pcb.y/2,-1])
cylinder(d=min([pcb.x,pcb.y])/2, h=pcb.z+base.z+2);
translate([0,0,-1])
corners(pcb, center=true)
cylinder(d=min([pcb.x,pcb.y])/4,h=pcb.z+base.z+2);
}
}
}
jig();
$fn = 64;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment