summaryrefslogtreecommitdiff
path: root/mech
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2024-01-03 11:18:28 +0100
committerxengineering <me@xengineering.eu>2024-01-03 11:25:03 +0100
commit9d87552f99b70ea9d8a8037b67e9be240f5957ce (patch)
treefca22a7ffc8de268759094977a1fc504e12e9fda /mech
parent7763f3f158c56cc3a8478d403156fe507646c181 (diff)
downloadsoundbox-9d87552f99b70ea9d8a8037b67e9be240f5957ce.tar
soundbox-9d87552f99b70ea9d8a8037b67e9be240f5957ce.tar.zst
soundbox-9d87552f99b70ea9d8a8037b67e9be240f5957ce.zip
mech: Switch to custom front panel
The front panel needs holes for the HDMI, micro USB and cinch connectors of the Raspberry Pi Zero W.
Diffstat (limited to 'mech')
-rw-r--r--mech/assembly.scad6
-rw-r--r--mech/panel_front.scad31
-rw-r--r--mech/production.scad4
3 files changed, 38 insertions, 3 deletions
diff --git a/mech/assembly.scad b/mech/assembly.scad
index 87865eb..756e539 100644
--- a/mech/assembly.scad
+++ b/mech/assembly.scad
@@ -1,5 +1,7 @@
include <parameters.scad>
+use <panel_front.scad>
+
use <pcb_case/pcb.scad>
use <pcb_case/shell.scad>
use <pcb_case/panel.scad>
@@ -8,9 +10,9 @@ module assembly() {
pcb(pcb_dim, drillings, margins, t);
pcb_case_shell_bottom(pcb_dim, drillings, margins, t);
-// pcb_case_shell_top(pcb_dim, margins, t);
+ pcb_case_shell_top(pcb_dim, margins, t);
pcb_case_panel_back(pcb_dim, margins, t);
-// pcb_case_panel_front(pcb_dim, margins, t);
+ panel_front(pcb_dim, margins, t);
}
assembly();
diff --git a/mech/panel_front.scad b/mech/panel_front.scad
new file mode 100644
index 0000000..31f4ff7
--- /dev/null
+++ b/mech/panel_front.scad
@@ -0,0 +1,31 @@
+use <pcb_case/conversion.scad>
+use <pcb_case/panel.scad>
+
+tol = 2;
+cinch_d = 8.8;
+
+module panel_front(pcb_dim, margins, t) {
+ dim = dim_pcb_to_case(pcb_dim, margins, t);
+ x_off = dim[0]-2*t;
+
+ difference() {
+ pcb_case_panel_front(pcb_dim, margins, t);
+ translate([x_off, 17-tol/2, 7.7-tol/2]) mini_hdmi_hole(t);
+ translate([x_off, 47.7-tol/2, 8-tol/2]) micro_usb_hole(t);
+ translate([x_off, 60.1-tol/2, 8-tol/2]) micro_usb_hole(t);
+ translate([x_off, 42.6+cinch_d/2, 26.5+cinch_d/2]) cinch_hole(t);
+ translate([x_off, 58.5+cinch_d/2, 26.5+cinch_d/2]) cinch_hole(t);
+ }
+}
+
+module mini_hdmi_hole(t) {
+ cube([t, 14+tol, 8.9+tol]);
+}
+
+module micro_usb_hole(t) {
+ cube([t, 10.5+tol, 6.6+tol]);
+}
+
+module cinch_hole(t) {
+ rotate([0, 90, 0]) cylinder(d=cinch_d+tol, h=t, $fn=30);
+}
diff --git a/mech/production.scad b/mech/production.scad
index 448a439..1485a39 100644
--- a/mech/production.scad
+++ b/mech/production.scad
@@ -1,5 +1,7 @@
include <parameters.scad>
+use <panel_front.scad>
+
use <pcb_case/conversion.scad>
use <pcb_case/shell.scad>
use <pcb_case/panel.scad>
@@ -23,7 +25,7 @@ module production() {
translate([dim[0], dim[1]+spacing, 0])
rotate([0, -90, 0])
translate([2*t-dim[0], -t, -t])
- pcb_case_panel_front(pcb_dim, margins, t);
+ panel_front(pcb_dim, margins, t);
}
production();