ready forfirst prototype
|
|
@ -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).
|
||||
|
|
|
|||
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);
|
||||
}
|
||||
|
||||
// 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);
|
||||
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-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;
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
BIN
weight.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
|
|
@ -4,9 +4,15 @@ include <util.scad>
|
|||
|
||||
$fn = 64;
|
||||
|
||||
projection(cut=true) hull() {
|
||||
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);
|
||||
}
|
||||
|
|
|
|||