$fn=20; module usbConnector(xSize,ySize,thickness){ color([0.7,0.7,0.7,1]) translate([-xSize/2+6+9.6,-ySize/2+8-6.2,(10.9+thickness)/2]) cube([12,16,10.9],center=true); } module powerConnector(xSize,ySize,thickness){ color([0,0,0,1]) translate([xSize/2-4.45-3.3,-ySize/2+6,(8.9/2+2+thickness)/2]){ cube([8.9,12,8.9/2+2],center=true); translate([0,12/2,8.9/4+1]) rotate([90,0,0]) cylinder(d=8.9,h=12+1.8); } } module arduinoUno(){ xSize=53.3; ySize=68.6; hole=1.6; thickness=1.6; rotate([90,0,0]){ translate([0,ySize/2+6.2,thickness/2+3]){ color([0,0.7,0.7,1]){ difference(){ cube([xSize,ySize,thickness],center=true); translate([xSize/2-2.75,-ySize/2+14,0]) cylinder(r=hole,thickness*2,center=true); translate([-xSize/2+2.75,-ySize/2+14+1.1,0]) cylinder(r=hole,thickness*2,center=true); translate([xSize/2-2.75-5.1,+ySize/2-2.75,0]) cylinder(r=hole,thickness*2,center=true); translate([xSize/2-2.75-5.1-27.9,+ySize/2-2.75,0]) cylinder(r=hole,thickness*2,center=true); } } color([0,0,0,1]){ translate([-xSize/2+2,ySize/2-2-10,(9+thickness)/2]){ cube([2,20,9],center=true); } translate([-xSize/2+2,ySize/2-2-10-21,(9+thickness)/2]){ cube([2,20,9],center=true); } translate([xSize/2-2,ySize/2-4-7.5,(9+thickness)/2]){ cube([2,15,9],center=true); } translate([xSize/2-2,ySize/2-4-7.5-16,(9+thickness)/2]){ cube([2,15,9],center=true); } translate([xSize/6,ySize/2-4-17,(8.5+thickness)/2]){ cube([10,34,8.5],center=true); } translate([xSize/6,ySize/2-4-17,(6.5+thickness)/2]){ cube([12,34,6.5],center=true); } } color([0.7,0.7,0.7,1]) translate([xSize/6,ySize/2-4-17,(7.5+thickness)/2]){ cube([11,32,7],center=true); } powerConnector(xSize,ySize,thickness); usbConnector(xSize,ySize,thickness); } } } arduinoUno();