diff --git a/tools/esp8266/DollaTek_NRF24L01_Case/case.jpeg b/tools/esp8266/DollaTek_NRF24L01_Case/case.jpeg new file mode 100644 index 00000000..e06c96eb Binary files /dev/null and b/tools/esp8266/DollaTek_NRF24L01_Case/case.jpeg differ diff --git a/tools/esp8266/DollaTek_NRF24L01_Case/case.png b/tools/esp8266/DollaTek_NRF24L01_Case/case.png new file mode 100644 index 00000000..afacaf73 Binary files /dev/null and b/tools/esp8266/DollaTek_NRF24L01_Case/case.png differ diff --git a/tools/esp8266/DollaTek_NRF24L01_Case/case.scad b/tools/esp8266/DollaTek_NRF24L01_Case/case.scad new file mode 100644 index 00000000..a3e2eb36 --- /dev/null +++ b/tools/esp8266/DollaTek_NRF24L01_Case/case.scad @@ -0,0 +1,283 @@ +$fn=100; + + + + +translate([-w/2-10,0,d+bpt+tpt]) +rotate(a=180, v=[0,1,0]) +box_top(); +translate([w/2+10,0,0]) +box_bottom(); + + +//*************************************************// +//PARAMETERS +//*************************************************// +//BOX +//-------------------------------------------------- +//inner box width + tolerances +w=90; +//inner box length + tolerances +h=30; +//inner box depth +d=35; +//wall tickness +wt=3; +//bottom plate tickness +bpt=3; +//top plate tickness +tpt=3; +//top cutout depth +cd=5; +//top cutout tickness +cwt=1.5; +//-------------------------------------------------- +//BOARD MOUNTING HOLES +//-------------------------------------------------- +//position +cx=0; +cy=0; +//holes size (radius) +chs_i=1.5; +chs_o=4; +//distancer height +dsth=3; +//holes distance h +chd_h=90; +//holes distance v +chd_v=90; +//-------------------------------------------------- +//TOP PART MOUNTING HOLES +//-------------------------------------------------- +//position +cx1=0; +cy1=0; +//holes size (radius) +chs_i1=1.6; +chs_o1=3; +//holes distance h +chd_h1=h-2*chs_i1-2; +//holes distance v +chd_v1=w-2*chs_i1-2; +//*************************************************// +//*************************************************// +//MODULES +//*************************************************// + +//top box part +module box_top() +{ + difference() + { + union() + { + difference() + { + translate([ 0, 0, d+bpt-cd-0.2]) + rounded_cube( w+2*wt, h+2*wt, tpt+cd+0.2, 6); + + translate([ 0, 0, d+bpt-cd-1]) + rounded_cube( w+2*cwt+0.3, h+2*cwt+0.3, cd+1, 4); + } + /*************************/ + + //add here... + + /*************************/ + } + //TOP PART HOLES + //tph_t_cut(); + /*************************/ + + //subtract here... + + /*************************/ + } +} +//bottom box +module box_bottom() +{ + difference() + { + union() + { + difference() + { + rounded_cube( w+2*wt, h+2*wt, d+bpt, 6); + + translate([ 0, 0, -cd]) + difference() + { + translate([ 0, 0, d+bpt]) + rounded_cube( w+2*wt+1, h+2*wt+1, cd+1, 4); + + translate([ 0, 0, d+bpt-1]) + rounded_cube( w+2*cwt, h+2*cwt, cd+3, 4); + } + translate([ 0, 0, bpt]) + rounded_cube( w, h, d+bpt, 4); + } + //BOARD DISTANCER + //board_distancer(); + //TOP PLATE DISTANCER + //top_distancer(); + /*************************/ + + + + /*************************/ + } + + //BOARD HOLES + //bh_cut(); + //TOP PART HOLES + //tph_b_cut(); + /*************************/ + + //subtract here... + + translate([25, 0, 14]) + rotate([0,90,0]) + cylinder(r=3.5,h=40); + + translate([-48, 0, 7]) + cube( [10, 10, 5], true); + + /*************************/ + + } +} + +/****************************************************/ +module board_distancer() +{ + translate([cx,cy,0]) + { + translate([+chd_h/2,chd_v/2,0]) + cylinder(r=chs_o,h=bpt+dsth); + translate([-chd_h/2,chd_v/2,0]) + cylinder(r=chs_o,h=bpt+dsth); + translate([+chd_h/2,-chd_v/2,0]) + cylinder(r=chs_o,h=bpt+dsth); + translate([-chd_h/2,-chd_v/2,0]) + cylinder(r=chs_o,h=bpt+dsth); + } +} +module top_distancer() +{ + translate([cx1,cy1,0]) + { + translate([-chd_v1/2, chd_h1/2, 0]) + cylinder(r=chs_o1,h=d+bpt); + translate([-chd_v1/2, -chd_h1/2, 0]) + cylinder(r=chs_o1,h=d+bpt); + translate([chd_v1/2, chd_h1/2, 0]) + cylinder(r=chs_o1,h=d+bpt); + translate([chd_v1/2, -chd_h1/2, 0]) + cylinder(r=chs_o1,h=d+bpt); + } +} +module bh_cut() +{ + translate([cx,cy,0]) + { + translate([-chd_h/2,-chd_v/2,-1]) + cylinder(r=chs_i,h=bpt+dsth+2); + translate([+chd_h/2,-chd_v/2,-1]) + cylinder(r=chs_i,h=bpt+dsth+2); + translate([-chd_h/2,chd_v/2,-1]) + cylinder(r=chs_i,h=bpt+dsth+2); + translate([+chd_h/2,chd_v/2,-1]) + cylinder(r=chs_i,h=bpt+dsth+2); + + translate([-chd_h/2,-chd_v/2,1.3]) + fhex(5.5,3); + translate([+chd_h/2,-chd_v/2,1.3]) + fhex(5.5,3); + translate([-chd_h/2,chd_v/2,1.3]) + fhex(5.5,3); + translate([+chd_h/2,chd_v/2,1.3]) + fhex(5.5,3); + } +} + +module tph_t_cut() +{ + translate([cx1,cy1,0]) + { + translate([-chd_v1/2, chd_h1/2, -2]) + cylinder(r=chs_i1,h=d+bpt+tpt+3); + translate([chd_v1/2, chd_h1/2, -2]) + cylinder(r=chs_i1,h=d+bpt+tpt+3); + + translate([-chd_v1/2, -chd_h1/2, -2]) + cylinder(r=chs_i1,h=d+bpt+tpt+3); + translate([chd_v1/2, -chd_h1/2, -2]) + cylinder(r=chs_i1,h=d+bpt+tpt+3); + + translate([-chd_v1/2, chd_h1/2, d+bpt+tpt-1.3]) + fhex(5.5,3); + + translate([chd_v1/2, chd_h1/2, d+bpt+tpt-1.3]) + fhex(5.5,3); + + translate([-chd_v1/2, -chd_h1/2, d+bpt+tpt-1.3]) + fhex(5.5,3); + + translate([chd_v1/2, -chd_h1/2, d+bpt+tpt-1.3]) + fhex(5.5,3); + + } +} +module tph_b_cut() +{ + translate([cx1,cy1,0]) + { + translate([-chd_v1/2, chd_h1/2, -2]) + cylinder(r=chs_i1,h=d+bpt+3); + translate([chd_v1/2, chd_h1/2, -2]) + cylinder(r=chs_i1,h=d+bpt+3); + + translate([-chd_v1/2, -chd_h1/2, -2]) + cylinder(r=chs_i1,h=d+bpt+3); + translate([chd_v1/2, -chd_h1/2, -2]) + cylinder(r=chs_i1,h=d+bpt+3); + + translate([-chd_v1/2, chd_h1/2, -1]) + cylinder(r=3,h=4); + + translate([chd_v1/2, chd_h1/2, -1]) + cylinder(r=3,h=4); + + translate([-chd_v1/2, -chd_h1/2, -1]) + cylinder(r=3,h=4); + + translate([chd_v1/2, -chd_h1/2, -1]) + cylinder(r=3,h=4); + + } +} + + +module rounded_cube( x, y, z, r) +{ + translate([-x/2+r,-y/2+r,0]) + linear_extrude(height=z) + minkowski() + { + square([x-2*r,y-2*r],true); + translate([x/2-r,y/2-r,0]) + circle(r); + + } +} + +module fhex(wid,height) +{ + hull() + { + cube([wid/1.7,wid,height],center = true); + rotate([0,0,120])cube([wid/1.7,wid,height],center = true); + rotate([0,0,240])cube([wid/1.7,wid,height],center = true); + } +} diff --git a/tools/esp8266/DollaTek_NRF24L01_Case/case.stl b/tools/esp8266/DollaTek_NRF24L01_Case/case.stl new file mode 100644 index 00000000..a82db6e7 Binary files /dev/null and b/tools/esp8266/DollaTek_NRF24L01_Case/case.stl differ