esp32_width = 25.4; case_height = 6; esp32_length = 65.3; esp32_secondary_length = 59.3; wall_thickness = 0.5; usb_thickness = 3.0; 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]) cube([8,2,usb_thickness]); // Generate slot for UART port translate([(wall_thickness+esp32_width-10),0,wall_thickness+1]) cube([8,2,usb_thickness]); } } generateCase();