|
|
@@ -0,0 +1,121 @@
|
|
|
+// License: CC0
|
|
|
+//
|
|
|
+// To the extent possible under law, Clementine Computing LLC has waived
|
|
|
+// all copyright and related or neighboring rights to this file.
|
|
|
+//
|
|
|
+// This work is published from: United States.
|
|
|
+//
|
|
|
+
|
|
|
+include <PopufareHousingCommon.scad>
|
|
|
+
|
|
|
+// To be attached to the 'bottom' of the Raspberry Pi (3B+).
|
|
|
+// This bracket is meant to provide zip tie access to tie down USB
|
|
|
+// connections, zip tie access for the GPRS antennae and provide
|
|
|
+// support for the SD card.
|
|
|
+// Mounting this bracket flush with the bottom of the Raspberry Pi (3B+)
|
|
|
+// should provide the lip of the material to prevent the SD card from
|
|
|
+// dislodging.
|
|
|
+//
|
|
|
+module PopufareHousingInnerBackSupportPlate() {
|
|
|
+ _lip_r = 24;
|
|
|
+ _lip_l = 24;
|
|
|
+ _w = RPI3BP_W + _lip_l + _lip_r;
|
|
|
+ _h = RPI3BP_H + 10;
|
|
|
+ _r = 3;
|
|
|
+
|
|
|
+ _sd_w = 3.25;
|
|
|
+
|
|
|
+ _rpi_lip = RPI3BP_W - RPI3BP_SCREW_DW - RPI3BP_SCREW_DE;
|
|
|
+
|
|
|
+ // debug: pi board reference
|
|
|
+ //translate([0,RPI3BP_H + 20]) square([RPI3BP_W, RPI3BP_H], center=true);
|
|
|
+ //translate([RPI3BP_W + 30,0]) square([RPI3BP_W, RPI3BP_H], center=true);
|
|
|
+
|
|
|
+ difference() {
|
|
|
+ union() {
|
|
|
+ difference() {
|
|
|
+ //translate([_lip_l/2, 0]) rounded_rect(_w, _h, _r);
|
|
|
+ translate([_w/2 - (_lip_l + RPI3BP_W/2), 0]) rounded_rect(_w, _h, _r);
|
|
|
+
|
|
|
+ // sd card bracket
|
|
|
+ //
|
|
|
+ translate([-RPI3BP_W/2-_sd_w/2, 0])
|
|
|
+ rounded_rect(_sd_w-2, RPI3BP_H, 1);
|
|
|
+
|
|
|
+ // cut out middles sections to get rounded edges
|
|
|
+ //
|
|
|
+ translate([-RPI3BP_W/2+RPI3BP_SCREW_DW/2 + RPI3BP_SCREW_DE,0])
|
|
|
+ rounded_rect(RPI3BP_SCREW_DW-2*RPI3BP_SCREW_DE, RPI3BP_H, 2);
|
|
|
+ translate([RPI3BP_W/2 - _rpi_lip/2+2, 0])
|
|
|
+ rounded_rect(_rpi_lip-3, RPI3BP_H, 2);
|
|
|
+
|
|
|
+ // the above creates strips, use this to cut out the middle section
|
|
|
+ // which we'll fill with rounded edges below
|
|
|
+ //
|
|
|
+ square([RPI3BP_W+0.5, RPI3BP_H - 2*RPI3BP_SCREW_DE], center=true);
|
|
|
+ };
|
|
|
+
|
|
|
+ // rounded tabs for mounting screws
|
|
|
+ //
|
|
|
+ translate([-RPI3BP_W/2+RPI3BP_SCREW_DE, (RPI3BP_H/2-RPI3BP_SCREW_DE)])
|
|
|
+ circle(RPI3BP_SCREW_PAD_R);
|
|
|
+
|
|
|
+ translate([-RPI3BP_W/2+RPI3BP_SCREW_DE,-(RPI3BP_H/2-RPI3BP_SCREW_DE)])
|
|
|
+ circle(RPI3BP_SCREW_PAD_R);
|
|
|
+
|
|
|
+ translate([-RPI3BP_W/2+RPI3BP_SCREW_DE+RPI3BP_SCREW_DW, (RPI3BP_H/2-RPI3BP_SCREW_DE)])
|
|
|
+ circle(RPI3BP_SCREW_PAD_R);
|
|
|
+
|
|
|
+ translate([-RPI3BP_W/2+RPI3BP_SCREW_DE+RPI3BP_SCREW_DW,-(RPI3BP_H/2-RPI3BP_SCREW_DE)])
|
|
|
+ circle(RPI3BP_SCREW_PAD_R);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // rpi mounting screws
|
|
|
+ //
|
|
|
+ translate([-RPI3BP_W/2+RPI3BP_SCREW_DE, (RPI3BP_H/2-RPI3BP_SCREW_DE)])
|
|
|
+ circle(RPI3BP_SCREW_R);
|
|
|
+
|
|
|
+ translate([-RPI3BP_W/2+RPI3BP_SCREW_DE,-(RPI3BP_H/2-RPI3BP_SCREW_DE)])
|
|
|
+ circle(RPI3BP_SCREW_R);
|
|
|
+
|
|
|
+ translate([-RPI3BP_W/2+RPI3BP_SCREW_DE+RPI3BP_SCREW_DW, (RPI3BP_H/2-RPI3BP_SCREW_DE)])
|
|
|
+ circle(RPI3BP_SCREW_R);
|
|
|
+
|
|
|
+ translate([-RPI3BP_W/2+RPI3BP_SCREW_DE+RPI3BP_SCREW_DW,-(RPI3BP_H/2-RPI3BP_SCREW_DE)])
|
|
|
+ circle(RPI3BP_SCREW_R);
|
|
|
+
|
|
|
+
|
|
|
+ // usb zip tie slots
|
|
|
+ //
|
|
|
+ translate([RPI3BP_W/2 + _lip_r/2, -RPI3BP_H/2 + RPI3BP_USB0_H - RPI3BP_USB_DH/2])
|
|
|
+ rounded_rect(_lip_r/2, 3, 1);
|
|
|
+ translate([RPI3BP_W/2 + _lip_r/2, -RPI3BP_H/2 + RPI3BP_USB0_H + RPI3BP_USB_DH/2])
|
|
|
+ rounded_rect(_lip_r/2, 3, 1);
|
|
|
+ translate([RPI3BP_W/2 + _lip_r/2, -RPI3BP_H/2 + RPI3BP_USB1_H + RPI3BP_USB_DH/2])
|
|
|
+ rounded_rect(_lip_r/2, 3, 1);
|
|
|
+
|
|
|
+ // ethernet access
|
|
|
+ //
|
|
|
+ translate([RPI3BP_W/2 + _lip_r/2, -RPI3BP_H/2 + RPI3BP_ETH_H-3])
|
|
|
+ rounded_rect(_lip_r/2, RPI3BP_ETH_DH-2, 2);
|
|
|
+
|
|
|
+ // GPRS antennae access
|
|
|
+ // 12 from center
|
|
|
+ // 8 diameter
|
|
|
+ // 14 center from edge
|
|
|
+ //
|
|
|
+ translate([-RPI3BP_W/2 - 14, 0])
|
|
|
+ rounded_rect(9, 30, 4);
|
|
|
+
|
|
|
+ // antennae zip tie access
|
|
|
+ //
|
|
|
+ translate([-RPI3BP_W/2 - 14, 24])
|
|
|
+ rounded_rect(8, 4, 2);
|
|
|
+ translate([-RPI3BP_W/2 - 14, -24])
|
|
|
+ rounded_rect(8, 4, 2);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+//PopufareHousingInnerBackSupportPlate();
|