include radxa_zero_3e_pcb_w = 30; radxa_zero_3e_pcb_h = 65; radxa_zero_3e_pcb_thickness = 1.6; rpi_protoboard_connectors_h = 12; rpi_protoboard_z_offset = 15; function radxa_zero_3e_pcb_size() = [ radxa_zero_3e_pcb_w, radxa_zero_3e_pcb_h, radxa_zero_3e_pcb_thickness]; module radxa_zero_3e() { pcb_w = radxa_zero_3e_pcb_w; pcb_h = radxa_zero_3e_pcb_h; pcb_t = radxa_zero_3e_pcb_thickness; //rotate([90, 0, 0]) //translate([-pcb_w / 2, -pcb_h / 2, veye_imx287_pcb_thickness]) translate([-pcb_w / 2, 0, 0]) rotate([0, 0, -90]) translate([0, 0, pcb_t]) import("rs109_pcba.stl"); } module rpi_zero_protoboard() { s = radxa_zero_3e_pcb_size(); w = s[0]; h = s[1]; t = s[2] + rpi_protoboard_connectors_h; r = 2.5; //translate([0, -s[1] / 2, 0]) //cube(s, center = true); translate([0, 0, rpi_protoboard_z_offset]) hull() { for (x = [-(w / 2 - r), (w / 2 - r)], y = [-(h - r), -r]) { translate([x, y, 0]) cylinder($fn = diameterToFn(r * 2), h = t, r = r); } } } module radxa_zero_3e_with_protoboard() { radxa_zero_3e(); rpi_zero_protoboard(); } module radxa_zero_3e_rj45_male() { // outer z (scanner coords) size of rj45 connector is // 8 mm, including bended wires z_delta = 8; w = 11.6; h = 6.6; // apply outer z (scanner coords) size // put inside rj45 female translate([0, 10.45, 2.3]) cube([w, z_delta, h], center = true); } module radxa_zero_3e_with_protoboard_and_connectors() { radxa_zero_3e_with_protoboard(); radxa_zero_3e_rj45_male(); } //radxa_zero_3e(); //rpi_zero_protoboard(); //radxa_zero_3e_with_protoboard(); //%radxa_zero_3e_rj45_male(); //radxa_zero_3e_with_protoboard_and_connectors();