update files with threaded inserts

This commit is contained in:
Ricardo (XenGi) Band 2023-08-05 17:15:09 +02:00
commit 463df615e5
No known key found for this signature in database
7 changed files with 30335 additions and 13 deletions

View file

@ -14,6 +14,10 @@ make 3mf
You can also find the CAD files on [printables.com](https://www.printables.com/model/531838-noisy-cricket-mini-gaming-keyboard).
- Threaded inserts for the plate are M2, height 2mm, outer diameter 3.2
- Screws for the plate mounting are M2, length 3-3.5mm
- Screws for the PCB mounting are M2, length 3.5-4.6mm
---
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.

View file

@ -27,10 +27,10 @@ color("SaddleBrown") difference() {
translate([20, -pcb_radius-1, case_thickness+standoff_height+pcb_thickness+5-plate_thickness]) lug(north_facing=false, hole=false);
translate([pcb_width-2*pcb_radius - 20, -pcb_radius-1, case_thickness+standoff_height+pcb_thickness+5-plate_thickness]) lug(north_facing=false, hole=false);
// screw holes
translate([20, pcb_depth - pcb_radius+1 + 2, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-3]) cylinder(h=3, d=2);
translate([pcb_width-2*pcb_radius - 20, pcb_depth - pcb_radius+1 + 2, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-3]) cylinder(h=3, d=2);
translate([20, -pcb_radius-1 - 2, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-3]) cylinder(h=3, d=2);
translate([pcb_width-2*pcb_radius - 20, -pcb_radius-1 - 2, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-3]) cylinder(h=3, d=2);
translate([20, pcb_depth - pcb_radius+3, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-threaded_insert_height]) cylinder(h=threaded_insert_height, d=3); // top-left
translate([pcb_width-2*pcb_radius - 20, pcb_depth - pcb_radius+3, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-threaded_insert_height]) cylinder(h=threaded_insert_height, d=3); // top-right
translate([20, -pcb_radius-3, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-threaded_insert_height]) cylinder(h=threaded_insert_height, d=3); // bottom-left
translate([pcb_width-2*pcb_radius - 20, -pcb_radius-3, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-threaded_insert_height]) cylinder(h=threaded_insert_height, d=3); // bottom-right
// USB-C daughter board
translate([pcb_width/2-pcb_radius, pcb_depth-pcb_radius+1-pololu_depth/2, case_bottom_thickness - pcb_thickness/2]) {
@ -45,9 +45,9 @@ color("SaddleBrown") difference() {
}
// TODO: make dependent on case size
translate([65,26.75,case_bottom_thickness/2]) {
cube([10,40,case_bottom_thickness/2+1]);
cube([72,10,case_bottom_thickness/2+1]);
translate([65, 26.75, case_bottom_thickness/2]) {
cube([10, 40, case_bottom_thickness/2+1]);
cube([72, 10, case_bottom_thickness/2+1]);
}
// screw holes for upper case
@ -60,6 +60,18 @@ color("SaddleBrown") difference() {
translate([pcb_width-2*pcb_radius+case_thickness, -case_thickness, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, d=2);
translate([-case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, d=2);
translate([pcb_width-2*pcb_radius+case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, d=2);
// hole for weight
difference() {
hull() {
translate([5,5,0]) cylinder(h=2, d=10);
translate([pcb_width-2*pcb_radius-5,5,0]) cylinder(h=2, d=10);
translate([5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=2, d=10);
translate([pcb_width-2*pcb_radius-5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=2, d=10);
}
translate([pcb_width/2,pcb_depth/2+1,1.8]) 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.8]) mirror([1,0,0]) linear_extrude(0.2) text(text="© XenGi 2023", size=6, font="Liberation Sans:style=Bold", halign="center");
}
}
@ -70,3 +82,4 @@ color("SaddleBrown") for(i = [0 : len(mounting_holes)-1]) {
cylinder(h=standoff_height, d=2);
}
}

4788
lower_case.step Normal file

File diff suppressed because it is too large Load diff

View file

@ -56,6 +56,6 @@ color("Gold") difference() {
};
};
// potentiometer
translate([127-pcb_radius, 12.45-pcb_radius, plate_thickness/2]) cube([13, 13, plate_thickness], center=true);
translate([127-pcb_radius, 12-pcb_radius, plate_thickness/2]) cube([13, 14, plate_thickness], center=true);
};

View file

@ -22,10 +22,10 @@ color("SaddleBrown") difference() {
}
// threaded inserts
translate([-case_thickness, -case_thickness, 0]) cylinder(h=3, d=3);
translate([pcb_width-2*pcb_radius+case_thickness, -case_thickness, 0]) cylinder(h=3, d=3);
translate([-case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=3, d=3);
translate([pcb_width-2*pcb_radius+case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=3, d=3);
translate([-case_thickness, -case_thickness, 0]) cylinder(h=threaded_insert_height, d=3);
translate([pcb_width-2*pcb_radius+case_thickness, -case_thickness, 0]) cylinder(h=threaded_insert_height, d=3);
translate([-case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=threaded_insert_height, d=3);
translate([pcb_width-2*pcb_radius+case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=threaded_insert_height, d=3);
translate([20, pcb_depth - pcb_radius+1+case_thickness/2, 0]) cylinder(h=2, d=4);

25516
upper_case.step Normal file

File diff suppressed because it is too large Load diff

View file

@ -8,6 +8,7 @@ pcb_radius = 3.175;
pcb_thickness = 1.6;
plate_thickness = 1.5;
threaded_insert_height = 2.5;
case_thickness = 5;
case_bottom_thickness = 5; // TODO: doesn't respect height of PCB plus switches etc
@ -39,7 +40,7 @@ module lug(north_facing=true, hole=true) {
translate([5, 0, 0]) cylinder(h=plate_thickness, d=2);
}
if (hole) {
translate([0, north_facing ? 2 : -2, 0]) cylinder(h=plate_thickness, d=2.2);
translate([0, north_facing ? 2 : -2, 0]) cylinder(h=plate_thickness, d=2.1); // M2
}
}
}