diff --git a/LICENSE.txt b/LICENSE.txt index 9165718..c1142c4 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1 +1 @@ -This thing was created by Thingiverse user apaneiro, and is licensed under cc. \ No newline at end of file +This model is based on a thing created by Thingiverse user `apaneiro` and that is `licensed under cc`, which is not very clear. Should we assume a CC-0 license? diff --git a/README.txt b/README.txt index f261024..57cefde 100644 --- a/README.txt +++ b/README.txt @@ -1 +1,3 @@ -Odroid M1 cases (w/ & w/o HDD) by apaneiro on Thingiverse: https://www.thingiverse.com/thing:5404932 \ No newline at end of file +Odroid M1 Case for building a CLIC demo system + +Based on original work by apaneiro on Thingiverse: https://www.thingiverse.com/thing:5404932 diff --git a/files/OdroidM1-HDD_case-back.stl b/files/OdroidM1-HDD_case-back.stl deleted file mode 100644 index 09b91c0..0000000 Binary files a/files/OdroidM1-HDD_case-back.stl and /dev/null differ diff --git a/files/OdroidM1-HDD_case-front.stl b/files/OdroidM1-HDD_case-front.stl deleted file mode 100644 index 96d4caa..0000000 Binary files a/files/OdroidM1-HDD_case-front.stl and /dev/null differ diff --git a/files/OdroidM1_case.scad b/files/OdroidM1_case.scad deleted file mode 100644 index f9b2824..0000000 --- a/files/OdroidM1_case.scad +++ /dev/null @@ -1,348 +0,0 @@ -// v2 -// Reduced rail width from 2 to 1.7 -// Adjust ethernet and micro-usb -// Ease assembly - - -$w=1.5; // wall thickness -$g=.2; // gap - -$hl=123; // heatsink length -$hw=100; // heatsink width -$hrailh=1.7 - $g; // heatsink rail height -$hrailw=1.7 - $g; // heatsink rail witdth - -$boxh=33; // box height -$boxw=$hw + 2 * ($w + $g); // box width -$boxl=$hl / 2 + ($w + $g); // box length - -$feeth=5.3; // feet height - -// ======================================== - - -translate([0, 0, 0]) frontBox(); - -translate([0, 0, 0]) rotate([0, 0, 180]) color("orange") backBox(); - - -// ================ MODULES ================ - -module frontBox() { - difference() { - box(); - frontHoles(); - frontScrewoles(); - frontLabel(); - } -} - -module backBox() { - difference() { - union() { - box(); - connectors(); - } - backHoles(); - backScrewoles(); - } -} - - -module frontLabel() { - color("green") - translate([$boxw / 2 - 6, $boxl - .5, $feeth + 2]) - rotate([90, 0, 180]) - linear_extrude(2) text("Odroid M1", size=3); -} - -module frontScrewoles() { - translate([0, 4.2, $feeth + $boxh - 20.3]) - rotate([0, 90, 0]) - cylinder(h=$boxw + 10, r=1.1, center=true, $fn=20); - translate([37, 4.2, 0]) - rotate([0, 0, 90]) - cylinder(h=50, r=1.1, center=true, $fn=20); - translate([-37, 4.2, 0]) - rotate([0, 0, 90]) - cylinder(h=50, r=1.1, center=true, $fn=20); -} - -module backScrewoles() { - translate([0, -4.2, $feeth + $boxh - 20.3]) - rotate([0, 90, 0]) - cylinder(h=$boxw + 10, r=0.8, center=true, $fn=20); - translate([37, -4.2, 0]) - rotate([0, 0, 90]) - cylinder(h=50, r=0.8, center=true, $fn=20); - translate([-37, -4.2, 0]) - rotate([0, 0, 90]) - cylinder(h=50, r=0.8, center=true, $fn=20); -} - -module connectors() { - difference() { - union() { - connector($boxw - 2 * $w); - translate([-$boxw / 2, 0, $feeth + $w + 10]) - rotate([0, 90, 0]) - connector(20, 0); - translate([$boxw / 2, 0, $feeth + $w + 10]) - rotate([0, -90, 0]) - connector(20, 0); - } - translate([$boxw / 2 - .5 * $w, -5, $feeth + $w]) - rotate([0, -45, 0]) - cube([10, 10, 2 * $w], center=true); - translate([-($boxw / 2 - .5 * $w), -5, $feeth + $w]) - rotate([0, 45, 0]) - cube([10, 10, 2 * $w], center=true); - - - translate([-($boxw / 2 - .5 * $w), -7.7, $feeth + $w]) - rotate([0, 45, 45]) - cube([10, 10, 2 * $w], center=true); - translate([$boxw / 2 - .5 * $w, -7.7, $feeth + $w]) - rotate([0, -45, -45]) - cube([10, 10, 2 * $w], center=true); - } -} - -module connector($width, $z = $feeth) { - difference() { - union() { - translate([0, 0, $z + 1.5 * $w]) - cube([$width, 18, $w], center=true); - translate([0, 4.5, $z + $w]) - cube([$width, 9, $w], center=true); - } -// translate([0, -9.3, $z + 1.5 * $w]) -// rotate([45, 0, 0]) -// cube([$width + $g, 18, $w], center=true); - translate([0, 9.3, $z + 1.5 * $w]) - rotate([-45, 0, 0]) - cube([$width + $g, 18, $w], center=true); - translate([0, -9.3, $z + 1.5 * $w]) - rotate([-45, 0, 0]) - cube([$width + $g, 18, $w], center=true); - } -} - -module backHoles() { - color("green") { - translate([0, $boxl, $feeth + $boxh - 13.8]) - corners(24.26, 92); - - translate([31.9, $boxl, $feeth + $boxh - 9.92]) - cube([12.8, 5, 3.1], center=true); - translate([19, $boxl, $feeth + $boxh - 13.8]) - rotate([90, 0, 0]) - cylinder(h=5, r=3, center=true, $fn=100); - translate([-32.33, $boxl, $feeth + $boxh - 9.4]) - rotate([90, 0, 0]) - cylinder(h=5, r=2.85, center=true, $fn=100); - } -} - -module frontHoles() { - color("green") { - translate([0, $boxl, $feeth + $boxh - 13.8]) - corners(24.26, 92); - // ethernet - translate([34.42, $boxl, $feeth + $boxh - 14]) - cube([15.32, 5, 13.5], center=true); - // usb - translate([-2.87, $boxl, $feeth + $boxh - 15.5]) - cube([14.5, 5, 16], center=true); - translate([-21, $boxl, $feeth + $boxh - 15.5]) - cube([14.5, 5, 16], center=true); - // power - translate([-38.8, $boxl, $feeth + $boxh - 14.07]) - rotate([90, 0, 0]) - cylinder(h=5, r=3.725, center=true, $fn=100); - // hdmi - translate([17.13, $boxl, $feeth + $boxh - 10.8]) { - difference() { - cube([15.35, 5, 6], center=true); - translate([-10, 0, 3]) - rotate([0, 45, 0]) - cube([6, 6, 6], center=true); - translate([10, 0, 3]) - rotate([0, -45, 0]) - cube([6, 6, 6], center=true); - } - } - // micro-usb - translate([-21.21, $boxl, $feeth + $boxh - 4.3]) - difference() { - cube([8, 5, 3], center=true); - translate([-5, 0, -1.5]) - rotate([0, -45, 0]) - cube([3, 6, 3], center=true); - translate([5, 0, -1.5]) - rotate([0, 45, 0]) - cube([3, 6, 3], center=true); - } - - translate([-39, $boxl - 3.5, $feeth + $boxh - 13.3]) - cube([11, 5, 13], center=true); - translate([16.8, $boxl - 3.5, $feeth + $boxh - 11]) - cube([19, 5, 10], center=true); - } -} - -module corners($height = 0, $width = 0) { - $r = 4; - $h = $height - $r * 2; - $w = $width - $r * 2; - - rotate([0, 90, 90]) - union() { - translate([-$h / 2, -$w / 2, 0]) - difference() { - cylinder(h=1, r=$r, center=true, $fn=100); - cylinder(h=2, r=$r - 1, center=true, $fn=100); - translate([0, 5, 0]) - cube([20, 10, 2], center=true); - translate([5, 0, 0]) - cube([10, 20, 2], center=true); - } - translate([-$h / 2, $w / 2, 0]) - difference() { - cylinder(h=1, r=$r, center=true, $fn=100); - cylinder(h=2, r=$r - 1, center=true, $fn=100); - translate([0, -5, 0]) - cube([20, 10, 2], center=true); - translate([5, 0, 0]) - cube([10, 20, 2], center=true); - } - translate([$h / 2, -$w / 2, 0]) - difference() { - cylinder(h=1, r=$r, center=true, $fn=100); - cylinder(h=2, r=$r - 1, center=true, $fn=100); - translate([0, 5, 0]) - cube([20, 10, 2], center=true); - translate([-5, 0, 0]) - cube([10, 20, 2], center=true); - } - translate([$h / 2, $w / 2, 0]) - difference() { - cylinder(h=1, r=$r, center=true, $fn=100); - cylinder(h=2, r=$r - 1, center=true, $fn=100); - translate([0, -5, 0]) - cube([20, 10, 2], center=true); - translate([-5, 0, 0]) - cube([10, 20, 2], center=true); - } - translate([$h / 2 + $r - .5, 0, 0]) - cube([1, $w + .02, 1], center=true); - translate([-($h / 2 + $r - .5), 0, 0]) - cube([1, $w + .02, 1], center=true); - translate([0, $w / 2 + $r - .5, 0]) - cube([$h + .02, 1, 1], center=true); - translate([0, -($w / 2 + $r - .5), 0]) - cube([$h + .02, 1, 1], center=true); - } -} - -module box() { - union() { - walls(); - rails(); - feet(); - } -} - -module walls() { - difference() { - union() { - // front wall - translate([0, $boxl - $w / 2, $feeth + $boxh / 2]) - cube([$boxw, $w, $boxh], center=true); - // left wall - translate([($boxw - $w) / 2, $boxl / 2, $feeth + $boxh / 2]) - cube([$w, $boxl, $boxh], center=true); - // right wall - translate([-($boxw - $w) / 2, $boxl / 2, $feeth + $boxh / 2]) - cube([$w, $boxl, $boxh], center=true); - } - - // corners cuts - translate([($boxw - $w) / 2 + 5, $boxl / 2, $feeth + $boxh + 0.6]) - rotate([0,45,0]) - cube([20, $boxl + 10, 15],center=true); - translate([-(($boxw - $w) / 2 + 5), $boxl / 2, $feeth + $boxh + 0.6]) - rotate([0,-45,0]) - cube([20, $boxl + 10, 15],center=true); - } - - // bottom wall - difference() { - translate([0, $boxl / 2, $feeth + $w / 2]) - cube([$boxw, $boxl, $w], center=true); - - // bottom cuts - translate([0, $boxl / 2, $feeth + $w / 2]) - cube([3, 40, $w * 2], center=true); - translate([10, $boxl / 2, $feeth + $w / 2]) - cube([3, 40, $w * 2], center=true); - translate([-10, $boxl / 2, $feeth + $w / 2]) - cube([3, 40, $w * 2], center=true); - translate([20, $boxl / 2, $feeth + $w / 2]) - cube([3, 40, $w * 2], center=true); - translate([-20, $boxl / 2, $feeth + $w / 2]) - cube([3, 40, $w * 2], center=true); - translate([30, $boxl / 2, $feeth + $w / 2]) - cube([3, 40, $w * 2], center=true); - translate([-30, $boxl / 2, $feeth + $w / 2]) - cube([3, 40, $w * 2], center=true); - } -} - -module rails() { - translate([($boxw / 2 - $w) - ($hrailw - $w / 2) / 2, $boxl / 2, $feeth + $boxh - 6.7]) - cube([$hrailw + $w / 2, $boxl - $w, $hrailh], center=true); - translate([-(($boxw / 2 - $w) - ($hrailw - $w / 2) / 2), $boxl / 2, $feeth + $boxh - 6.7]) - cube([$hrailw + $w / 2, $boxl - $w, $hrailh], center=true); -} - -module feet() { - $f = $feeth + $w / 2; - - difference() { - translate([($boxw - $f * 2) / 2, $boxl - $w / 2, $f / 2]) - cube([$f * 2, $w, $f], center=true); - - translate([($boxw - $f) / 2 - 1.5 * $f, $boxl - $w / 2, 0]) - rotate([0, 45, 0]) - cube([$f * 2, $w * 2, $f * 2], center=true); - } - - difference() { - translate([-($boxw - $f * 2) / 2, $boxl - $w / 2, $f / 2]) - cube([$f * 2, $w, $f], center=true); - - translate([-($boxw - $f) / 2 + 1.5 * $f, $boxl - $w / 2, 0]) - rotate([0, 45, 0]) - cube([$f * 2, $w * 2, $f * 2], center=true); - } - - difference() { - translate([-($boxw - $w) / 2, $boxl - $f, $f / 2]) - cube([$w, $f * 2, $f], center=true); - - translate([-($boxw - $w) / 2, $boxl - $f / 2 - 1.5 * $f, 0]) - rotate([45, 0, 0]) - cube([$w * 2, $f * 2, $f * 2], center=true); - } - - difference() { - translate([($boxw - $w) / 2, $boxl - $f, $f / 2]) - cube([$w, $f * 2, $f], center=true); - - translate([($boxw - $w) / 2, $boxl - $f / 2 - 1.5 * $f, 0]) - rotate([45, 0, 0]) - cube([$w * 2, $f * 2, $f * 2], center=true); - } -} - diff --git a/files/OdroidM1_case_back.stl b/files/OdroidM1_case_back.stl deleted file mode 100644 index e410700..0000000 Binary files a/files/OdroidM1_case_back.stl and /dev/null differ diff --git a/files/OdroidM1_case_front.stl b/files/OdroidM1_case_front.stl deleted file mode 100644 index 919aa2b..0000000 Binary files a/files/OdroidM1_case_front.stl and /dev/null differ diff --git a/images/OdroidM1-HDD_case-back.png b/images/OdroidM1-HDD_case-back.png deleted file mode 100644 index 8d6ece1..0000000 Binary files a/images/OdroidM1-HDD_case-back.png and /dev/null differ diff --git a/images/OdroidM1-HDD_case-front.png b/images/OdroidM1-HDD_case-front.png deleted file mode 100644 index 8edc952..0000000 Binary files a/images/OdroidM1-HDD_case-front.png and /dev/null differ diff --git a/images/OdroidM1-HDD_case.png b/images/OdroidM1-HDD_case.png deleted file mode 100644 index 063de93..0000000 Binary files a/images/OdroidM1-HDD_case.png and /dev/null differ diff --git a/images/OdroidM1_case.png b/images/OdroidM1_case.png deleted file mode 100644 index a2c9864..0000000 Binary files a/images/OdroidM1_case.png and /dev/null differ diff --git a/images/OdroidM1_case_back.png b/images/OdroidM1_case_back.png deleted file mode 100644 index 0aaef59..0000000 Binary files a/images/OdroidM1_case_back.png and /dev/null differ diff --git a/images/OdroidM1_case_front.png b/images/OdroidM1_case_front.png deleted file mode 100644 index 9103376..0000000 Binary files a/images/OdroidM1_case_front.png and /dev/null differ