ready forfirst prototype
|
|
@ -12,17 +12,19 @@ make 3mf
|
||||||
make dxf
|
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:
|
## 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 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)
|
- Screws for the PCB mounting are M2, length 3.5-4.6mm (4x)
|
||||||
- Standoffs are M2, length 3mm (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).
|
Threaded inserts from [AliExpress](https://www.aliexpress.com/item/1005004873154281.html).
|
||||||
Screws from [AliExpress](https://www.aliexpress.com/item/32810852732.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).
|
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).
|
You can also find the CAD files on [printables.com](https://www.printables.com/model/531838-noisy-cricket-mini-gaming-keyboard).
|
||||||
|
|
|
||||||
BIN
lower_case.png
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 30 KiB |
|
|
@ -21,6 +21,10 @@ color("SaddleBrown") difference() {
|
||||||
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);
|
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
|
// plate_mounting
|
||||||
translate([20, pcb_depth - pcb_radius+1, case_thickness+standoff_height+pcb_thickness+5-plate_thickness]) lug(hole=false);
|
translate([20, pcb_depth - pcb_radius+1, case_thickness+standoff_height+pcb_thickness+5-plate_thickness]) lug(hole=false);
|
||||||
translate([pcb_width-2*pcb_radius - 20, pcb_depth - pcb_radius+1, case_thickness+standoff_height+pcb_thickness+5-plate_thickness]) lug(hole=false);
|
translate([pcb_width-2*pcb_radius - 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+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");
|
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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
BIN
plate.png
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
BIN
upper_case.png
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
|
@ -17,6 +17,9 @@ upper_case_height = 5;
|
||||||
|
|
||||||
standoff_height = 3;
|
standoff_height = 3;
|
||||||
|
|
||||||
|
reset_x = 111;
|
||||||
|
reset_y = 42;
|
||||||
|
|
||||||
mx = 19.05;
|
mx = 19.05;
|
||||||
|
|
||||||
mounting_holes = [
|
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);
|
translate([-11.9, -0.5, 0]) cube([8, 15, pcb_thickness+0.1], center=true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
BIN
weight.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
|
|
@ -4,9 +4,15 @@ include <util.scad>
|
||||||
|
|
||||||
$fn = 64;
|
$fn = 64;
|
||||||
|
|
||||||
projection(cut=true) hull() {
|
projection(cut=true) difference() {
|
||||||
|
hull() {
|
||||||
translate([5,5,0]) cylinder(h=1.5, d=10);
|
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([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([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([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);
|
||||||
|
}
|
||||||
|
|
|
||||||