Files
OpenShock/Case-Lolin-ESP32-S3.scad

43 lines
1.4 KiB
OpenSCAD

esp32_width = 25.8;
case_height = 12;
esp32_length = 65.8;
esp32_secondary_length = 60.2;
wall_thickness = 1;
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.1,0,wall_thickness+1.1])
cube([usb_width,2,usb_thickness]);
// Generate slot for UART port
translate([(wall_thickness+esp32_width-usb_width-2.1),0,wall_thickness+1.1])
cube([usb_width,2,usb_thickness]);
}
}
module generateLid() {
union() {
cube([(esp32_width+(wall_thickness*2)), (esp32_length+(wall_thickness*2)), 1.5]);
translate([wall_thickness, wall_thickness, 1.5])
cube([esp32_width, esp32_secondary_length, 1.0]);
translate([wall_thickness+3, esp32_secondary_length, 1.0])
cube([esp32_width-6, 5.5, 1.5]);
}
}
generateCase();
translate([esp32_width+5,0,0])
generateLid();