esp32_width = 25.6; case_height = 6; esp32_length = 65.5; esp32_secondary_length = 60; wall_thickness = 0.5; usb_thickness = 3.3; usb_width = 9.1; module generateCase() { difference() { // Generate Outer Shell cube([(esp32_width+(wall_thickness*2)), (esp32_length+(wall_thickness*2)), (case_height+wall_thickness)]); // Generate inner cutout for ESP32 PCB translate([wall_thickness,wall_thickness,wall_thickness]) cube([esp32_width, esp32_secondary_length, case_height]); // Generate cutout for ESP32 Antenna translate([wall_thickness+3,wall_thickness,wall_thickness+1]) cube([esp32_width-6, esp32_length, case_height]); // Generate slot for OTG Port translate([wall_thickness+2,0,wall_thickness+1.1]) cube([usb_width,2,usb_thickness]); // Generate slot for UART port translate([(wall_thickness+esp32_width-usb_width-2),0,wall_thickness+1.1]) cube([usb_width,2,usb_thickness]); } } // 19.5 bracket slot module generateBracket() { cube(19.5, 10, 0.5); } generateCase();