Rev Author Line No. Line
3966 kaklik 1  
2 pedestal_height = 13; // designed for use the MLAB standard 12mm screws.
3 x_size = 125;
4 y_size = 74;
5 mount_hole = 3.5;
3991 kaklik 6 //nut_size = 6.8; //size suitable for PLA material
7 nut_size = 6.7; //size suitable for ABS material
3966 kaklik 8 clear = 0.175;
9 MLAB_grid = 10.16;
10  
11 x_holes = floor((x_size-4) / MLAB_grid);
12 y_holes = floor((y_size-3) / MLAB_grid);
13  
14 MLAB_grid_xoffset = (x_size - (x_holes * MLAB_grid))/2;
15 MLAB_grid_yoffset = (y_size - (y_holes * MLAB_grid))/2;
16  
17 ODROID_holes_offset = 5.25;
3974 kaklik 18 ODROID_holes_xdistance = (117.7+110.5)/2;
3966 kaklik 19 ODROID_holes_ydistance = (67.4+59.7)/2;
20  
21 difference () {
22 cube([x_size, y_size ,pedestal_height]); // base plastics brick
23  
24 //mount holes for Galileo
25  
26 translate ([ODROID_holes_offset, ODROID_holes_offset,0])
27 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
28 translate ([ODROID_holes_offset, ODROID_holes_offset, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
29 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
30  
31 translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset, 0])
32 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
33 translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
34 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
35  
36 translate ([ODROID_holes_offset, ODROID_holes_offset + ODROID_holes_ydistance,0])
37 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
38 translate ([ODROID_holes_offset, ODROID_holes_offset + ODROID_holes_ydistance, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
39 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
40  
41 translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset + ODROID_holes_ydistance,0])
42 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
43 translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset + ODROID_holes_ydistance, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
44 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
45  
46 /////////////////////////////////////////
47 // holes for components at the bottom side of the PCB.
48  
49 translate ([10, 2 , pedestal_height - 4])
50 cube([x_size-21, y_size-5, 5]);
51  
52 translate ([5, 10.5, pedestal_height - 4])
53 cube([x_size-9, y_size-21, 5]);
54  
3974 kaklik 55 translate ([x_size - 5, 32 , pedestal_height - 4]) // Hole for ICSP connector
3966 kaklik 56 cube([4,11, 5]);
57  
3974 kaklik 58 translate ([96.5, y_size - 2.5 - 1, pedestal_height - 4]) // hole for capacitor at bottom side of the pcb
59 cube([5, 2, 5]);
60  
3966 kaklik 61 ////////////////////////////////////////
62  
63 // MLAB grid holes
64 grid_list = [for (j = [MLAB_grid_xoffset : MLAB_grid: x_size], i = [MLAB_grid_yoffset :MLAB_grid: y_size])
65 if (!(j>(x_size-10) && i>(y_size-10)) && !(j<10 && i<10) && !(j<10 && i>(y_size-10)) && !(j>(x_size-10) && i<10) ) [j, i] ];
66 for (j = grid_list) {
67 translate (concat(j, [0]))
68 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6);
69 translate (concat(j, [3.2])) // one solid layer for slicer (the holes will be pierced on demand )
70 cylinder (h = pedestal_height /3, r= mount_hole/2, $fn=10);
71 translate (concat(j, [6.0]))
72 cylinder (h = 10, r= nut_size/2, $fn=6);
73 }
74  
75  
76 //// lightening central holes
77  
78 translate ([33,3, 0])
79 cube([49,y_size -3 -3,pedestal_height ]);
80  
3974 kaklik 81 translate ([12,11, 0])
82 cube([x_size-24,y_size-22,pedestal_height ]);
3966 kaklik 83 }
84