Rev Author Line No. Line
4151 kaklik 1  
2 pedestal_height = 13;
3 mount_hole = 3.5;
4 clear = 0.175;
5 nut_size = 6.6;
6  
7 module ramp(width, depth, height) {
8 angle = atan(height / depth);
9  
10 difference () {
11 cube([width, depth, height]);
12  
13 //color("red")
14 rotate([angle, 0, 0])
15 translate([-1, 0, 0])
16 cube([width + 2, depth * 2, height]);
17 }
18 }
19  
20  
21  
22 difference () {
23 // translate ([-1,-16,0])
24 cube([50,100,pedestal_height]);
25  
26 //mount holes for ODROID U3
27 translate ([4.5,4.5 + 76, 1])
28 rotate([0,0,90])
29 cylinder (h = 6 ,r= nut_size/2 + clear, $fn=6);
30 translate ([4.5,4.5 + 76, 2])
31 difference () {
32 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
33 translate ([-mount_hole/2,-mount_hole/2, 1.2])
34 rotate([27,0,0]) cube([5,50,5]);
35 };
36  
37 translate ([4.5 + 41, 4.5 + 76,1])
38 rotate([0,0,90])
39 cylinder (h = 6,r= nut_size/2 + clear, $fn=6);
40 translate ([4.5 + 41, 4.5 + 76, 2])
41 difference () {
42 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
43 translate ([-mount_hole/2,-mount_hole/2, 1.2])
44 rotate([27,0,0]) cube([5,50,5]);
45 };
46  
47 /// Two holes for other side of ODROID-U3 PCB.
48 translate ([4.5,4.5,0])
49 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
50 translate ([4.5,4.5,6.2])
51 cylinder (h = pedestal_height, r= 3.6/2, $fn=10);
52  
53 translate ([4.5+41,4.5,0])
54 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
55 translate ([4.5+41,4.5,6.2])
56 cylinder (h = pedestal_height, r= 3.6/2, $fn=10);
57  
4160 kaklik 58 rotate([30,0,0])
59 translate ([12,5.8, -3.0]) // ODROID eMMC adapter pocket
60 cube([25,2,15]);
61  
62  
4151 kaklik 63 // MLAB grid holes
64 for (j = [0 : 7], i = [1 : 6]) {
65 translate ([4.5 + j*10.16, 4.5 + i*10.16,0])
66 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6);
67 translate ([4.5 + j*10.16, 4.5 + i*10.16, 3.2]) // one solid layer for slicer (the holes will be pierced on demand )
68 cylinder (h = pedestal_height /3, r= mount_hole/2, $fn=10);
69 translate ([4.5 + j*10.16, 4.5 + i*10.16, 6.3])
70 cylinder (h = 10, r= nut_size/2, $fn=6);
71 }
72  
73 ////////////////////////////////////
74 translate ([4,6, pedestal_height - 4]) // ODROIDs passive components hole.
75 cube([42,27,5]);
4160 kaklik 76 translate ([13, 2 , pedestal_height - 1]) // two small resistors on botom side.
4151 kaklik 77 cube([3,3,5]);
78 translate ([22, 30 , pedestal_height - 4]) // USB over voltage protection.
79 cube([21,5,5]);
80  
81  
82 translate ([0, 41 , pedestal_height - 3.5]) // HOLE for ODROD's , SD card and eMMC.
83 cube([48,32,5]);
84 translate ([0, 38.5 , pedestal_height - 4.5]) // HOLE for ODROD's jack connector
85 cube([15,9,5]);
86 translate ([0, 65 , pedestal_height - 3.5]) // HOLE for ODROD's , SD card and eMMC.
87 cube([17,13,5]);
88  
89 ////////////////////////////////////////
90  
91 //// lightening central holes
92  
93 translate ([10,10, 0]) // ODROIDs passive components hole.
94 cube([30,19.5,pedestal_height ]);
95  
96 translate ([10,41, 0]) // ODROIDs passive components hole.
97 cube([30,30,pedestal_height ]);
98  
99 //////
100 // MLAB electrical adapter part
101 ///////
102 difference () {
103 translate ([8,74.9,pedestal_height - 11]) // Central mount hole
104 cube([34,17.1,pedestal_height - 8.5]);
105 translate ([25,85.78,0])
106 cylinder (h = 30, r= nut_size*0.7, $fn=20);
107 }
108  
109 translate ([0,84, pedestal_height - 8.5]) // Holes for MLAB's adapter 5V power connector.
110 cube([50,20,20]);
111  
112 translate ([42,84,pedestal_height - 11]) // Holes for MLAB's adapter 5V power connector.
113 cube([34,8,pedestal_height - 8.5]);
114  
115 translate ([8,92,pedestal_height - 11]) // Holes for MLAB's adapter IO connectors.
116 cube([34,8,pedestal_height - 8.5]);
117  
118  
119 translate ([0,74.9, pedestal_height - 8.5]) // Hole for MLAB PCB
120 cube([50,25.1,2]);
121 translate ([7.5,77,pedestal_height - 8.5]) // Hole For connectors above the adapter PCB
122 cube([35.5,17.1,10]);
123  
124 translate ([0,74.9, pedestal_height - 6.5])
125 ramp(50, 50, 25);
126 /////// Elecrical adapter PCB mount holes
127  
128 translate ([25,85.78,0])
129 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6);
130 translate ([25,85.78,3.2])
131 cylinder (h = pedestal_height + clear,r= mount_hole/2, $fn=10);
132  
133 translate ([4.68,85.78 + 10.16,0])
134 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6);
135 translate ([4.68,85.78 + 10.16,3.2])
136 cylinder (h = pedestal_height + clear,r= mount_hole/2, $fn=10);
137  
138 translate ([45.32,85.78 + 10.16,0])
139 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6);
140 translate ([45.32,85.78 + 10.16,3.2])
141 cylinder (h = pedestal_height + clear,r= mount_hole/2, $fn=10);
142  
143 }
144  
145 /// Support material
146 /*
147 color("Blue",0.5)
148 //translate ([0,74.9, pedestal_height - 8.5]) // Hole for MLAB PCB
149 cube([50,70,30]);
3859 kaklik 150 */