From 2ea0aac0ba81a463fe5841f16f3cad6101801316 Mon Sep 17 00:00:00 2001 From: Lyra Thorpe Date: Fri, 23 Jan 2026 11:27:05 +0000 Subject: [PATCH] feat: Initial box --- Case-Lolin-ESP32-S3.scad | 29 ++ Output/Case-Lolin-ESP32-S3.stl | 646 +++++++++++++++++++++++++++++++++ 2 files changed, 675 insertions(+) create mode 100644 Case-Lolin-ESP32-S3.scad create mode 100644 Output/Case-Lolin-ESP32-S3.stl diff --git a/Case-Lolin-ESP32-S3.scad b/Case-Lolin-ESP32-S3.scad new file mode 100644 index 0000000..982398b --- /dev/null +++ b/Case-Lolin-ESP32-S3.scad @@ -0,0 +1,29 @@ +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(); diff --git a/Output/Case-Lolin-ESP32-S3.stl b/Output/Case-Lolin-ESP32-S3.stl new file mode 100644 index 0000000..e81a534 --- /dev/null +++ b/Output/Case-Lolin-ESP32-S3.stl @@ -0,0 +1,646 @@ +solid OpenSCAD_Model + facet normal 0 -1 0 + outer loop + vertex 0 0 0 + vertex 10.5 0 1.5 + vertex 2.5 0 1.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 0 0 + vertex 2.5 0 1.5 + vertex 2.5 0 4.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 0 0 + vertex 15.899999999999999 0 1.5 + vertex 10.5 0 1.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 0 0 + vertex 2.5 0 4.5 + vertex 0 0 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0 6.5 + vertex 3.5 0.5 6.5 + vertex 0.5 0.5 6.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 0 6.5 + vertex 2.5 0 4.5 + vertex 10.5 0 4.5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0 0 0 + vertex 0 0 6.5 + vertex 0 66.3 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0 6.5 + vertex 0.5 0.5 6.5 + vertex 0.5 59.8 6.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 10.5 0 1.5 + vertex 15.899999999999999 0 4.5 + vertex 10.5 0 4.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 0 6.5 + vertex 10.5 0 4.5 + vertex 15.899999999999999 0 4.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0 6.5 + vertex 22.9 0.5 6.5 + vertex 3.5 0.5 6.5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0 0 0 + vertex 0 66.3 6.5 + vertex 0 66.3 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 0 0 + vertex 0 66.3 0 + vertex 26.4 66.3 0 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0 66.3 0 + vertex 0 66.3 6.5 + vertex 26.4 66.3 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0 6.5 + vertex 0.5 59.8 6.5 + vertex 0 66.3 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 66.3 6.5 + vertex 0.5 59.8 6.5 + vertex 3.5 59.8 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 66.3 6.5 + vertex 3.5 59.8 6.5 + vertex 3.5 65.8 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 66.3 6.5 + vertex 3.5 65.8 6.5 + vertex 26.4 66.3 6.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 0 0 + vertex 26.4 0 0 + vertex 15.899999999999999 0 1.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 10.5 0 1.5 + vertex 15.899999999999999 0 1.5 + vertex 15.899999999999999 0 4.5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 0 0 + vertex 26.4 66.3 0 + vertex 26.4 0 0 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 26.4 0 0 + vertex 23.9 0 1.5 + vertex 15.899999999999999 0 1.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 26.4 0 0 + vertex 26.4 0 6.5 + vertex 23.9 0 1.5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 26.4 0 0 + vertex 26.4 66.3 0 + vertex 26.4 0 6.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 0 6.5 + vertex 15.899999999999999 0 4.5 + vertex 23.9 0 4.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0 6.5 + vertex 26.4 0 6.5 + vertex 22.9 0.5 6.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 0 6.5 + vertex 23.9 0 4.5 + vertex 26.4 0 6.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 26.4 0 6.5 + vertex 23.9 0 4.5 + vertex 23.9 0 1.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.4 0 6.5 + vertex 25.9 0.5 6.5 + vertex 22.9 0.5 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.4 0 6.5 + vertex 26.4 66.3 6.5 + vertex 25.9 0.5 6.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0 66.3 6.5 + vertex 26.4 66.3 6.5 + vertex 26.4 66.3 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.4 66.3 6.5 + vertex 3.5 65.8 6.5 + vertex 22.9 65.8 6.5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 26.4 0 6.5 + vertex 26.4 66.3 0 + vertex 26.4 66.3 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.4 66.3 6.5 + vertex 25.9 59.8 6.5 + vertex 25.9 0.5 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.9 59.8 6.5 + vertex 22.9 65.8 6.5 + vertex 22.9 59.8 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.4 66.3 6.5 + vertex 22.9 65.8 6.5 + vertex 25.9 59.8 6.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.5 0.5 0.5 + vertex 2.5 0.5 1.5 + vertex 10.5 0.5 1.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.5 0.5 0.5 + vertex 0.5 0.5 6.5 + vertex 2.5 0.5 1.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.5 0.5 0.5 + vertex 10.5 0.5 1.5 + vertex 15.899999999999999 0.5 1.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 2.5 0.5 1.5 + vertex 0.5 0.5 6.5 + vertex 2.5 0.5 4.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 2.5 0.5 4.5 + vertex 3.5 0.5 6.5 + vertex 3.5 0.5 4.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 2.5 0.5 4.5 + vertex 0.5 0.5 6.5 + vertex 3.5 0.5 6.5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 0.5 0.5 0.5 + vertex 0.5 59.8 6.5 + vertex 0.5 0.5 6.5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 0.5 0.5 0.5 + vertex 0.5 59.8 0.5 + vertex 0.5 59.8 6.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.5 59.8 0.5 + vertex 3.5 59.8 1.5 + vertex 0.5 59.8 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.5 0.5 0.5 + vertex 25.9 59.8 0.5 + vertex 0.5 59.8 0.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.5 59.8 0.5 + vertex 25.9 59.8 0.5 + vertex 3.5 59.8 1.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 3.5 59.8 1.5 + vertex 3.5 59.8 6.5 + vertex 0.5 59.8 6.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.5 0.5 0.5 + vertex 15.899999999999999 0.5 1.5 + vertex 23.9 0.5 1.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.5 0.5 0.5 + vertex 23.9 0.5 1.5 + vertex 25.9 0.5 0.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.5 0.5 0.5 + vertex 25.9 0.5 0.5 + vertex 25.9 59.8 0.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 25.9 0.5 0.5 + vertex 23.9 0.5 1.5 + vertex 23.9 0.5 4.5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 25.9 0.5 0.5 + vertex 25.9 0.5 6.5 + vertex 25.9 59.8 0.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 25.9 0.5 0.5 + vertex 23.9 0.5 4.5 + vertex 25.9 0.5 6.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 22.9 0.5 4.5 + vertex 22.9 0.5 6.5 + vertex 23.9 0.5 4.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 23.9 0.5 4.5 + vertex 22.9 0.5 6.5 + vertex 25.9 0.5 6.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 3.5 59.8 1.5 + vertex 25.9 59.8 0.5 + vertex 22.9 59.8 1.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 25.9 59.8 0.5 + vertex 25.9 59.8 6.5 + vertex 22.9 59.8 1.5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 25.9 59.8 0.5 + vertex 25.9 0.5 6.5 + vertex 25.9 59.8 6.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 22.9 59.8 1.5 + vertex 25.9 59.8 6.5 + vertex 22.9 59.8 6.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 10.5 0.5 1.5 + vertex 10.5 0.5 4.5 + vertex 15.899999999999999 0.5 1.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 3.5 0.5 4.5 + vertex 3.5 0.5 6.5 + vertex 10.5 0.5 4.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 10.5 0.5 4.5 + vertex 3.5 0.5 6.5 + vertex 15.899999999999999 0.5 4.5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 3.5 59.8 1.5 + vertex 3.5 65.8 1.5 + vertex 3.5 59.8 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.5 59.8 1.5 + vertex 22.9 65.8 1.5 + vertex 3.5 65.8 1.5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 3.5 65.8 1.5 + vertex 3.5 65.8 6.5 + vertex 3.5 59.8 6.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 3.5 65.8 1.5 + vertex 22.9 65.8 6.5 + vertex 3.5 65.8 6.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 10.5 0.5 4.5 + vertex 15.899999999999999 0.5 4.5 + vertex 15.899999999999999 0.5 1.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 15.899999999999999 0.5 4.5 + vertex 3.5 0.5 6.5 + vertex 22.9 0.5 6.5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 15.899999999999999 0.5 4.5 + vertex 22.9 0.5 6.5 + vertex 22.9 0.5 4.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.5 59.8 1.5 + vertex 22.9 59.8 1.5 + vertex 22.9 65.8 1.5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 3.5 65.8 1.5 + vertex 22.9 65.8 1.5 + vertex 22.9 65.8 6.5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 22.9 59.8 1.5 + vertex 22.9 59.8 6.5 + vertex 22.9 65.8 1.5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 22.9 65.8 1.5 + vertex 22.9 59.8 6.5 + vertex 22.9 65.8 6.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.5 0.5 1.5 + vertex 2.5 0 1.5 + vertex 10.5 0.5 1.5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 2.5 0.5 1.5 + vertex 2.5 0 4.5 + vertex 2.5 0 1.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.5 0.5 1.5 + vertex 2.5 0 1.5 + vertex 10.5 0 1.5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 10.5 0.5 1.5 + vertex 10.5 0 1.5 + vertex 10.5 0.5 4.5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 2.5 0.5 1.5 + vertex 2.5 0.5 4.5 + vertex 2.5 0 4.5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 2.5 0.5 4.5 + vertex 3.5 0.5 4.5 + vertex 2.5 0 4.5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 3.5 0.5 4.5 + vertex 10.5 0 4.5 + vertex 2.5 0 4.5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 3.5 0.5 4.5 + vertex 10.5 0.5 4.5 + vertex 10.5 0 4.5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 10.5 0.5 4.5 + vertex 10.5 0 1.5 + vertex 10.5 0 4.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.899999999999999 0.5 1.5 + vertex 15.899999999999999 0 1.5 + vertex 23.9 0.5 1.5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 15.899999999999999 0.5 1.5 + vertex 15.899999999999999 0 4.5 + vertex 15.899999999999999 0 1.5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.9 0.5 1.5 + vertex 15.899999999999999 0 1.5 + vertex 23.9 0 1.5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 23.9 0.5 1.5 + vertex 23.9 0 1.5 + vertex 23.9 0.5 4.5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 15.899999999999999 0.5 1.5 + vertex 15.899999999999999 0.5 4.5 + vertex 15.899999999999999 0 4.5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.899999999999999 0.5 4.5 + vertex 23.9 0 4.5 + vertex 15.899999999999999 0 4.5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.899999999999999 0.5 4.5 + vertex 22.9 0.5 4.5 + vertex 23.9 0 4.5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 23.9 0.5 4.5 + vertex 23.9 0 1.5 + vertex 23.9 0 4.5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 22.9 0.5 4.5 + vertex 23.9 0.5 4.5 + vertex 23.9 0 4.5 + endloop + endfacet +endsolid OpenSCAD_Model