Skip to content

Instantly share code, notes, and snippets.

@lewisd32
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lewisd32/9635411 to your computer and use it in GitHub Desktop.
Save lewisd32/9635411 to your computer and use it in GitHub Desktop.
PicoBuck bracket
width = 23.5;
height = 28;
thickness = 1.5; // thickness of most of the piece
base_thickness = 3; // total thickness of base
waffle_height = 2; // height of base waffle
waffle_thickness = 0.1; // thickness of the waffle fins
waffle_grid = 2; // spacing between waffle fins
edge_height = 6; // height of the edges that go most of the way around
nib_length = 10; // length of the nib holding the PCB in place
nib_height = 2; // How high from the base the nib is
lip = 2; // how far the top and bottom lips stick out
screw_head_diameter = 10;
screw_shaft_diameter = 6;
// base
difference() {
union() {
cube([width, height, base_thickness-waffle_height]);
translate([0, 0, base_thickness-waffle_height]) {
for (x = [0 : waffle_grid : width-waffle_thickness]) {
translate([x, 0, 0]) {
cube([waffle_thickness, height, waffle_height]);
}
}
for (y = [0 : waffle_grid : height-waffle_thickness]) {
translate([0, y, 0]) {
cube([width, waffle_thickness, waffle_height]);
}
}
}
translate([width/2, height/2, 0])
cylinder(d=screw_head_diameter+thickness*2, h=base_thickness);
}
translate([width/2, height/2, 0])
cylinder(d1=screw_shaft_diameter, d2=screw_head_diameter, h=base_thickness, $fs=1);
}
cube([width, thickness, base_thickness]);
translate([0, height-thickness, 0])
cube([width, thickness, base_thickness]);
module wallWithLips() {
// left wall and nib
cube([thickness, height, base_thickness + edge_height]);
cube([thickness+lip, thickness, base_thickness + edge_height]);
translate([0, height-thickness, 0]) {
cube([thickness+lip, thickness, base_thickness + edge_height]);
}
translate([thickness, (height-nib_length)/2, base_thickness+nib_height]) {
rotate(a=[-90, 0, 0]) {
cylinder(h=nib_length, r=0.5, $fs=0.1, fa=1);
}
}
}
wallWithLips();
rotate(a=[0,0,180]) {
translate([-width, -height, 0]) {
wallWithLips();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment