Skip to content

Instantly share code, notes, and snippets.

@nophead
Created April 2, 2018 16:58
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nophead/b743bb6b09b23bcdb0e276fdda4cea70 to your computer and use it in GitHub Desktop.
Save nophead/b743bb6b09b23bcdb0e276fdda4cea70 to your computer and use it in GitHub Desktop.
//
// GNU GPL v2
// nop.head@gmail.com
// hydraraptor.blogspot.com
//
// Adapts ESP12 module to 0.1" grid.
//
eps = 1/128; // small fudge factor to stop CSG barfing on coincident faces.
layer_height = 0.25; // slicer layer height
extrusion_width = 0.5; // slicer extrusion width
nozzle = 0.45; // extruder nozzle aperture
squeezed_wall = extrusion_width - layer_height / 2 + nozzle / 2 + extrusion_width / 2;
module ESP12F_carrier_stl() {
pins = 8;
pitch1 = 2;
pitch2 = 2.54;
hole = pitch1 - squeezed_wall;
hole2 = pitch2 - 3 * extrusion_width;
length1 = (pins - 1) * pitch1 + hole + squeezed_wall * 2;
length2 = (pins - 1) * pitch2 + hole + squeezed_wall * 2;
height = 3;
wpitch1 = (pins - 1) * pitch1;
wpitch2 = ceil(wpitch1 / 2.54) * 2.54;
width1 = wpitch1 + hole + squeezed_wall * 2;
width2 = wpitch2 + hole2 + squeezed_wall * 2;
difference() {
hull() {
translate([0, 0, height - eps / 2])
cube([width1, length1, eps], center = true);
translate([0, 0, eps / 2])
cube([width2, length2, eps], center = true);
}
for(side = [-1, 1])
for(i = [0 : pins - 1])
hull() {
translate([side * wpitch1 / 2, i * pitch1 - (pins - 1) * pitch1 / 2, height])
cube([hole, hole, eps], center = true);
translate([side * wpitch2 / 2, i * pitch2 - (pins - 1) * pitch2 / 2, 0])
cube([hole2, hole2, eps], center = true);
}
}
}
ESP12F_carrier_stl();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment