module plate(){ difference(){ cube([120,115,2]); //cube([130,115,2]); //cube([85,85,2]); for(x=[1:31],y=[1:22]){ translate([x*5,y*5,0]){ cylinder(5,2,2); } } } } module standoff(){ difference(){ cylinder(6,5,2); cylinder(6,1,1); } } module standoffLarge(){ difference(){ cylinder(14,5,2); cylinder(14,1,1); } } module rasPI(){ standoff(); translate([58,0,0]) standoff(); translate([58,49,0]) standoff(); translate([0,49,0]) standoff(); } module hardKernel(){ standoffLarge(); translate([102,0,0]) standoffLarge(); translate([0,81.4,0]) standoffLarge(); translate([102,88.4,0]) standoffLarge(); } module hardKernelX(){ standoffLarge(); translate([76,0,0]) standoffLarge(); translate([0,52,0]) standoffLarge(); translate([76,52,0]) standoffLarge(); } module huzzah(){ standoff(); translate([45.72,0,0]) standoff(); translate([0,19.05,0]) standoff(); translate([45.72,19.05,0]) standoff(); } module powerSupply(){ standoffLarge(); translate([123.825,0,0]) standoffLarge(); translate([0,80,0]) standoffLarge(); translate([123.825,80,0]) standoffLarge(); } module breadBoard(){ standoff(); translate([31.75,0,0]) standoff(); translate([0,44.45,0]) standoff(); translate([31.75,44.45,0]) standoff(); } module INA219(){ standoff(); translate([20.32,0,0]) standoff(); translate([0,17.145,0]) standoff(); translate([20.32,17.145,0]) standoff(); } plate(); translate([15,10,0]) huzzah(); translate([15,36,0]) huzzah(); translate([15,62,0]) huzzah(); translate([15,88,0]) huzzah(); translate([80,10,0]) breadBoard(); translate([85,80,0]) INA219();