diff --git a/README.md b/README.md index 889c498..81aaa28 100644 --- a/README.md +++ b/README.md @@ -12,17 +12,19 @@ make 3mf make dxf ``` -_You only need the DXF files if you want to CNC the plate or weight._ +_You only need the DXF files if you want to CNC the plate or weight. I also included STEP files for CNCing._ ## Hardware: -- Threaded inserts for the plate, USB C daughter board and standoffs are M2, height 2mm, outer diameter 3.2 (10x) +- Threaded inserts for the plate, USB C daughter board, standoffs and weight are M2, height 2mm, outer diameter 3.2 (10x) - Screws for the plate and USB-C daughter board are M2, length 3-3.5mm (6x) - Screws for the PCB mounting are M2, length 3.5-4.6mm (4x) - Standoffs are M2, length 3mm (4x) +- Screws for the weight are counter sunk M2, length 3-3.5mm (4x) Threaded inserts from [AliExpress](https://www.aliexpress.com/item/1005004873154281.html). Screws from [AliExpress](https://www.aliexpress.com/item/32810852732.html). +Screws for the weight from [AliExpress](https://www.aliexpress.com/item/1005002044837898.html). Standoffs from [AliExpress](https://www.aliexpress.com/item/1005003328519584.html). You can also find the CAD files on [printables.com](https://www.printables.com/model/531838-noisy-cricket-mini-gaming-keyboard). diff --git a/lower_case.png b/lower_case.png index edc7a56..e41e795 100644 Binary files a/lower_case.png and b/lower_case.png differ diff --git a/lower_case.scad b/lower_case.scad index a7f5553..89b80ca 100644 --- a/lower_case.scad +++ b/lower_case.scad @@ -20,6 +20,10 @@ color("SaddleBrown") difference() { translate([0, pcb_depth-2*pcb_radius, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, r=pcb_radius+1); translate([pcb_width-2*pcb_radius, pcb_depth-2*pcb_radius, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, r=pcb_radius+1); } + + // hole for reset button + translate([reset_x - pcb_radius, reset_y - pcb_radius, 0]) cylinder(h=case_thickness, r=1); + translate([reset_x - pcb_radius-1.4, reset_y - pcb_radius-1.5, 1.5]) mirror([1,0,0]) rotate([0,0,90]) linear_extrude(0.2) text(text="RESET ►", size=3, font="Liberation Sans:style=Bold", halign="right"); // plate_mounting translate([20, pcb_depth - pcb_radius+1, case_thickness+standoff_height+pcb_thickness+5-plate_thickness]) lug(hole=false); @@ -79,4 +83,9 @@ color("SaddleBrown") difference() { } translate([pcb_width/2,pcb_depth/2+1,1.5]) mirror([1,0,0]) linear_extrude(0.2) text(text="noisy cricket", size=10, font="Liberation Sans:style=Bold", halign="center"); translate([pcb_width/2,pcb_depth/2-11,1.5]) mirror([1,0,0]) linear_extrude(0.2) text(text="© XenGi 2023", size=6, font="Liberation Sans:style=Bold", halign="center"); + // threaded inserts + translate([10,10,1.5]) cylinder(h=threaded_insert_height, d=3); + translate([pcb_width-2*pcb_radius-10,10,1.5]) cylinder(h=threaded_insert_height, d=3); + translate([10,pcb_depth-2*pcb_radius-10,1.5]) cylinder(h=threaded_insert_height, d=3); + translate([pcb_width-2*pcb_radius-10,pcb_depth-2*pcb_radius-10,1.5]) cylinder(h=threaded_insert_height, d=3); } diff --git a/plate.png b/plate.png index 28896ae..50c6903 100644 Binary files a/plate.png and b/plate.png differ diff --git a/upper_case.png b/upper_case.png index bde165b..8b16bff 100644 Binary files a/upper_case.png and b/upper_case.png differ diff --git a/util.scad b/util.scad index 8e8124a..2249a91 100644 --- a/util.scad +++ b/util.scad @@ -17,6 +17,9 @@ upper_case_height = 5; standoff_height = 3; +reset_x = 111; +reset_y = 42; + mx = 19.05; mounting_holes = [ @@ -114,4 +117,3 @@ module mx_2x1_cutout() { translate([-11.9, -0.5, 0]) cube([8, 15, pcb_thickness+0.1], center=true); } } - diff --git a/weight.png b/weight.png new file mode 100644 index 0000000..4563c1e Binary files /dev/null and b/weight.png differ diff --git a/weight.scad b/weight.scad index 6770a4b..910d6c2 100644 --- a/weight.scad +++ b/weight.scad @@ -4,9 +4,15 @@ include $fn = 64; -projection(cut=true) hull() { - translate([5,5,0]) cylinder(h=1.5, d=10); - translate([pcb_width-2*pcb_radius-5,5,0]) cylinder(h=1.5, d=10); - translate([5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=1.5, d=10); - translate([pcb_width-2*pcb_radius-5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=1.5, d=10); +projection(cut=true) difference() { + hull() { + translate([5,5,0]) cylinder(h=1.5, d=10); + translate([pcb_width-2*pcb_radius-5,5,0]) cylinder(h=1.5, d=10); + translate([5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=1.5, d=10); + translate([pcb_width-2*pcb_radius-5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=1.5, d=10); + } + translate([10,10,0]) cylinder(h=1.5, d=2.2); + translate([pcb_width-2*pcb_radius-10,10,0]) cylinder(h=1.5, d=2.2); + translate([10,pcb_depth-2*pcb_radius-10,0]) cylinder(h=1.5, d=2.2); + translate([pcb_width-2*pcb_radius-10,pcb_depth-2*pcb_radius-10,0]) cylinder(h=1.5, d=2.2); }