diff --git a/sbc_case_builder.json b/sbc_case_builder.json index 707649d..9e341b5 100644 --- a/sbc_case_builder.json +++ b/sbc_case_builder.json @@ -6916,7 +6916,7 @@ "material_thickness": "0.5", "move_front": "0", "move_leftside": "0", - "move_rear": "-1", + "move_rear": "0", "move_rightside": "0", "multipcb_bottom_front_left_adjust": "0", "multipcb_bottom_front_left_enable": "true", @@ -7012,6 +7012,209 @@ "uart_opening": "default", "view": "model", "wallthick": "1.5" + }, + "avr_env_sensors": { + "$fn": "90", + "access_panel_location": "[10, 15]", + "access_panel_orientation": "landscape", + "access_panel_rotation": "0", + "access_panel_size": "[70, 30]", + "accessory_highlight": "false", + "accessory_name": "env_sensors", + "adj": "0.01", + "bend_allowance": "1", + "bottom_access_panel_enable": "false", + "bottom_clearence": "3.5", + "bottom_cover_pattern": "solid", + "bottom_front_left_adjust": "0", + "bottom_front_left_enable": "true", + "bottom_front_left_support": "front", + "bottom_front_right_adjust": "0", + "bottom_front_right_enable": "true", + "bottom_front_right_support": "front", + "bottom_rear_left_adjust": "0", + "bottom_rear_left_enable": "true", + "bottom_rear_left_support": "rear", + "bottom_rear_right_adjust": "0", + "bottom_rear_right_enable": "true", + "bottom_rear_right_support": "rear", + "bottom_sidewall_support": "false", + "bottom_standoff_diameter": "5.75", + "bottom_standoff_hole_size": "3.4", + "bottom_standoff_insert": "false", + "bottom_standoff_insert_dia": "4.2", + "bottom_standoff_insert_height": "5.1", + "bottom_standoff_pillar": "hex", + "bottom_standoff_reverse": "false", + "bottom_standoff_size": "m2", + "bottom_standoff_support_height": "3", + "bottom_standoff_support_size": "7", + "bottom_standoff_type": "countersunk", + "case_design": "shell", + "case_offset_bz": "3", + "case_offset_tz": "26.5", + "case_offset_x": "0", + "case_offset_y": "76", + "cooling": "default", + "corner_fillet": "3", + "edge_fillet": "0", + "ext_bottom_front_left_adjust": "0", + "ext_bottom_front_left_enable": "true", + "ext_bottom_front_left_support": "front", + "ext_bottom_front_right_adjust": "0", + "ext_bottom_front_right_enable": "true", + "ext_bottom_front_right_support": "front", + "ext_bottom_rear_left_adjust": "0", + "ext_bottom_rear_left_enable": "true", + "ext_bottom_rear_left_support": "rear", + "ext_bottom_rear_right_adjust": "0", + "ext_bottom_rear_right_enable": "true", + "ext_bottom_rear_right_support": "rear", + "ext_bottom_sidewall_support": "true", + "ext_bottom_standoff_diameter": "5.75", + "ext_bottom_standoff_hole_size": "3.4", + "ext_bottom_standoff_insert": "false", + "ext_bottom_standoff_insert_dia": "4.2", + "ext_bottom_standoff_insert_height": "5.1", + "ext_bottom_standoff_pillar": "hex", + "ext_bottom_standoff_reverse": "false", + "ext_bottom_standoff_size": "m2+", + "ext_bottom_standoff_support_height": "4", + "ext_bottom_standoff_support_size": "7", + "ext_bottom_standoff_type": "countersunk", + "ext_bottom_standoffs": "true", + "ext_top_front_left_adjust": "0", + "ext_top_front_left_enable": "true", + "ext_top_front_left_support": "front", + "ext_top_front_right_adjust": "0", + "ext_top_front_right_enable": "true", + "ext_top_front_right_support": "front", + "ext_top_rear_left_adjust": "0", + "ext_top_rear_left_enable": "true", + "ext_top_rear_left_support": "rear", + "ext_top_rear_right_adjust": "0", + "ext_top_rear_right_enable": "true", + "ext_top_rear_right_support": "rear", + "ext_top_sidewall_support": "true", + "ext_top_standoff_diameter": "5.75", + "ext_top_standoff_hole_size": "2.75", + "ext_top_standoff_insert": "false", + "ext_top_standoff_insert_dia": "4.2", + "ext_top_standoff_insert_height": "5.1", + "ext_top_standoff_pillar": "hex", + "ext_top_standoff_reverse": "true", + "ext_top_standoff_size": "m2+", + "ext_top_standoff_support_height": "4", + "ext_top_standoff_support_size": "10", + "ext_top_standoff_type": "blind", + "ext_top_standoffs": "true", + "fan_size": "0", + "flat_blank_section": "false", + "floorthick": "2", + "gap": "1", + "gpio_opening": "default", + "indents": "true", + "individual_part": "bottom", + "lower_bottom": "0", + "material_thickness": "0.5", + "move_front": "0", + "move_leftside": "0", + "move_rear": "0", + "move_rightside": "0", + "multipcb_bottom_front_left_adjust": "0", + "multipcb_bottom_front_left_enable": "true", + "multipcb_bottom_front_left_support": "front", + "multipcb_bottom_front_right_adjust": "0", + "multipcb_bottom_front_right_enable": "true", + "multipcb_bottom_front_right_support": "front", + "multipcb_bottom_rear_left_adjust": "0", + "multipcb_bottom_rear_left_enable": "true", + "multipcb_bottom_rear_left_support": "rear", + "multipcb_bottom_rear_right_adjust": "0", + "multipcb_bottom_rear_right_enable": "true", + "multipcb_bottom_rear_right_support": "rear", + "multipcb_bottom_sidewall_support": "false", + "multipcb_bottom_standoff_diameter": "5.75", + "multipcb_bottom_standoff_hole_size": "3.4", + "multipcb_bottom_standoff_insert": "false", + "multipcb_bottom_standoff_insert_dia": "4.2", + "multipcb_bottom_standoff_insert_height": "5.1", + "multipcb_bottom_standoff_pillar": "hex", + "multipcb_bottom_standoff_reverse": "false", + "multipcb_bottom_standoff_size": "m2.5", + "multipcb_bottom_standoff_support_height": "4", + "multipcb_bottom_standoff_support_size": "7", + "multipcb_bottom_standoff_type": "countersunk", + "multipcb_bottom_standoffs": "false", + "multipcb_top_front_left_adjust": "0", + "multipcb_top_front_left_enable": "true", + "multipcb_top_front_left_support": "front", + "multipcb_top_front_right_adjust": "0", + "multipcb_top_front_right_enable": "true", + "multipcb_top_front_right_support": "front", + "multipcb_top_rear_left_adjust": "0", + "multipcb_top_rear_left_enable": "true", + "multipcb_top_rear_left_support": "rear", + "multipcb_top_rear_right_adjust": "0", + "multipcb_top_rear_right_enable": "true", + "multipcb_top_rear_right_support": "rear", + "multipcb_top_sidewall_support": "false", + "multipcb_top_standoff_diameter": "5.75", + "multipcb_top_standoff_hole_size": "2.75", + "multipcb_top_standoff_insert": "false", + "multipcb_top_standoff_insert_dia": "4.2", + "multipcb_top_standoff_insert_height": "5.1", + "multipcb_top_standoff_pillar": "hex", + "multipcb_top_standoff_reverse": "true", + "multipcb_top_standoff_size": "m2.5", + "multipcb_top_standoff_support_height": "4", + "multipcb_top_standoff_support_size": "7", + "multipcb_top_standoff_type": "blind", + "multipcb_top_standoffs": "false", + "pcb_loc_x": "0", + "pcb_loc_y": "5", + "pcb_loc_z": "0", + "raise_top": "-1", + "rear_io_shield": "false", + "sbc_bottom_standoffs": "true", + "sbc_highlight": "false", + "sbc_information": "false", + "sbc_model": "cnano-avr128da48", + "sbc_off": "false", + "sbc_top_standoffs": "true", + "sidethick": "2", + "standard_motherboard_thickness": "0", + "text_color": "Green", + "text_font": "Nimbus Mono PS", + "tol": "0.25", + "top_cover_pattern": "hex_5mm", + "top_front_left_adjust": "0", + "top_front_left_enable": "true", + "top_front_left_support": "front", + "top_front_right_adjust": "0", + "top_front_right_enable": "true", + "top_front_right_support": "front", + "top_rear_left_adjust": "0", + "top_rear_left_enable": "true", + "top_rear_left_support": "rear", + "top_rear_right_adjust": "0", + "top_rear_right_enable": "true", + "top_rear_right_support": "rear", + "top_sidewall_support": "false", + "top_standoff_diameter": "5.75", + "top_standoff_hole_size": "2.75", + "top_standoff_insert": "true", + "top_standoff_insert_dia": "2.5", + "top_standoff_insert_height": "4", + "top_standoff_pillar": "hex", + "top_standoff_reverse": "true", + "top_standoff_size": "m2", + "top_standoff_support_height": "4", + "top_standoff_support_size": "7", + "top_standoff_type": "blind", + "uart_opening": "default", + "view": "model", + "wallthick": "2" } }, "fileFormatVersion": "1" diff --git a/sbc_case_builder.scad b/sbc_case_builder.scad index 1ca3499..852d22d 100644 --- a/sbc_case_builder.scad +++ b/sbc_case_builder.scad @@ -29,7 +29,7 @@ include <./sbc_case_builder_accessories.cfg>; view = "model"; // [model, platter, part] individual_part = "bottom"; // [top, bottom, right, left, front, rear, io_shield, accessories] // single board computer model -sbc_model = "c1+"; // ["c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "ssi-eeb", "ssi-ceb", "atx", "micro-atx", "dtx", "flex-atx", "mini-dtx", "mini-itx", "mini-itx_thin", "mini-stx", "mini-stx_thin", "nano-itx", "nuc", "pico-itx"] +sbc_model = "c1+"; // ["c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "ssi-eeb", "ssi-ceb", "atx", "micro-atx", "dtx", "flex-atx", "mini-dtx", "mini-itx", "mini-itx_thin", "mini-stx", "mini-stx_thin", "nano-itx", "nuc", "pico-itx"] // sbc off in model view sbc_off = false; @@ -125,7 +125,7 @@ uart_opening = "default"; // [default,none,open,knockout] // enable indentations around io openings indents = true; // case accessory group to load -accessory_name = "none"; // ["none", "hk_uart", "c4_shell_boombox", "c4_desktop_lcd3.5", "c4_deskboom_lcd3.5", "c4_panel_boombox", "c4_panel_lcd3.5", "c4_tray_boombox", "c4_round", "c4_hex", "xu4_keyhole", "hc4_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "hc4_tray_drivebox2.5", "m1s_shell_nvme", "m1s_shell_ups", "m1s_tray_nvme", "m1_tray_ssd", "m1_fitted_pizzabox2.5", "m1_fitted_pizzabox3.5", "h3_shell", "h3_shell_router", "h3_lowboy", "h3_lowboy_router", "h3_ultimate", "h3_ultimate2", "show2_shell", "rpi5_m2hat", "cs_solarmeter", "adapter_mini-stx_m1s"] +accessory_name = "none"; // ["none", "hk_uart", "c4_shell_boombox", "c4_desktop_lcd3.5", "c4_deskboom_lcd3.5", "c4_panel_boombox", "c4_panel_lcd3.5", "c4_tray_boombox", "c4_round", "c4_hex", "xu4_keyhole", "hc4_shell_drivebox2.5", "hc4_shell_drivebox2.5v", "hc4_shell_drivebox3.5", "hc4_tray_drivebox2.5", "m1s_shell_nvme", "m1s_shell_ups", "m1s_tray_nvme", "m1_tray_ssd", "m1_fitted_pizzabox2.5", "m1_fitted_pizzabox3.5", "h3_shell", "h3_shell_router", "h3_lowboy", "h3_lowboy_router", "h3_ultimate", "h3_ultimate2", "show2_shell", "rpi5_m2hat", "rock5b", "adapter_mini-stx_m1s", "cs_solarmeter", "env_sensors"] // sbc information text color text_color = "Green"; // [Green, Black, Dimgrey, White, Yellow, Orange, Red, DarkbBlue] // sbc information text font @@ -152,19 +152,19 @@ top_standoff_insert_height = 5.1; //.01 /* [SBC Top Standoff Individual Settings] */ // case top - lower left standoff settings top_rear_left_enable = true; -top_rear_left_adjust = 0; //[-20:.01:20] +top_rear_left_adjust = 0; //[-30:.01:30] top_rear_left_support = "rear"; //[none,left,rear,front,right] // case top - upper left standoff settings top_front_left_enable = true; -top_front_left_adjust = 0; //[-20:.01:20] +top_front_left_adjust = 0; //[-30:.01:30] top_front_left_support = "front"; //[none,left,rear,front,right] // case top - lower right standoff settings top_rear_right_enable = true; -top_rear_right_adjust = 0; //[-20:.01:20] +top_rear_right_adjust = 0; //[-30:.01:30] top_rear_right_support = "rear"; //[none,left,rear,front,right] // case top - upper right standoff settings top_front_right_enable = true; -top_front_right_adjust = 0; //[-20:.01:20] +top_front_right_adjust = 0; //[-30:.01:30] top_front_right_support = "front"; //[none,left,rear,front,right] /* [SBC Bottom Standoff Global Settings] */ @@ -188,19 +188,19 @@ bottom_standoff_insert_height = 5.1; //.01 /* [SBC Bottom Standoff Individual Settings] */ // case bottom - rear left standoff settings bottom_rear_left_enable = true; -bottom_rear_left_adjust = 0; //[-20:.01:20] +bottom_rear_left_adjust = 0; //[-30:.01:30] bottom_rear_left_support = "rear"; //[none,left,rear,front,right] // case bottom - upper left standoff settings bottom_front_left_enable = true; -bottom_front_left_adjust = 0; //[-20:.01:20] +bottom_front_left_adjust = 0; //[-30:.01:30] bottom_front_left_support = "front"; //[none,left,rear,front,right] // case bottom - lower right standoff settings bottom_rear_right_enable = true; -bottom_rear_right_adjust = 0; //[-20:.01:20] +bottom_rear_right_adjust = 0; //[-30:.01:30] bottom_rear_right_support = "rear"; //[none,left,rear,front,right] // case bottom - upper right standoff settings bottom_front_right_enable = true; -bottom_front_right_adjust = 0; //[-20:.01:20] +bottom_front_right_adjust = 0; //[-30:.01:30] bottom_front_right_support = "front"; //[none,left,rear,front,right] /* [Extended Case Top Standoffs] */ diff --git a/sbc_case_builder_accessories.cfg b/sbc_case_builder_accessories.cfg index 4299788..6af6644 100644 --- a/sbc_case_builder_accessories.cfg +++ b/sbc_case_builder_accessories.cfg @@ -456,26 +456,32 @@ accessory_data = [ // environmental sensors ["env_sensors", // i2c radial hub holder - "model","stl_model",31,60.75,4,"bottom",[90,0,180],["sbc",false,false,false],[0,0,0],[1,"./adafruit/5625 Stemma 5 Port Hub.stl"],[false,10,2,"default"], - "add2","pcb_holder",5,60.75,1,"bottom",[0,0,0],["case",false,false,false],[26.5,35,1.65],[2],[false,10,2,"default"], - // BMP388 and holder - "model","stl_model",38,121,22,"bottom",[90,180,90],["sbc",false,false,false],[0,0,0],[1,"./adafruit/3966 BMP388 QT.stl",0,0],[false,10,2,"default"], - "add2","pcb_holder",39.5,95,1,"bottom",[0,0,90],["case",false,false,false],[26.5,35,1.65],[2],[false,10,2,"default"], - // SCD30 and holder - "model","stl_model",55,69,27,"bottom",[270,0,90],["sbc",false,false,false],[0,0,0],[1,"./adafruit/4867 Adafruit SCD30.stl"],[false,10,2,"default"], - "add2","pcb_holder",55,68,1,"bottom",[0,0,90],["case",false,false,false],[53,35,1.65],[2],[false,10,2,"default"], - // ST7789 IPS TFT Display and holder - "model","stl_model",67,61,4,"bottom",[90,270,270],["sbc",false,false,false],[0,0,0],[1,"./adafruit/4311 2in TFT IPS Display.stl"],[false,10,2,"default"], - "add2","pcb_holder",65.4,121,1,"bottom",[0,0,270],["case",false,false,false],[61,35,1.65],[2],[false,10,2,"default"], - // PMSA003I Partical Air Quality - "model","stl_model",0,70,4,"bottom",[0,0,0],["sbc",false,false,false],[0,0,0],[1,"./adafruit/4632 PMSA003I.stl"],[false,10,2,"default"], - "add2","standoff",2.75,72.5,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[["m2",5.75,4,3.6,7,3,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"], - "add2","standoff",2.75,117.5,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[["m2",5.75,4,3.6,7,3,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"], - "add2","standoff",32.75,72.5,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[["m2",5.75,4,3.6,7,3,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"], - "add2","standoff",32.75,117.5,0,"bottom",[0,0,0],["case",false,false,false],[0,0,0],[["m2",5.75,4,3.6,8,3,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"], - "sub","vent",-3,100,11,"top",[0,0,90],["case",false,false,false],[2,7,4],[1,5,"vertical",1],[false,10,2,"default"], + "model","stl_model",31,24,4,"bottom",[90,0,180],["sbc",true,true,false],[0,0,0],[1,"./adafruit/5625 Stemma 5 Port Hub.stl"],[false,10,2,"default"], + "add2","pcb_holder",5,24,0,"bottom",[0,0,0],["sbc",true,true,false],[26.5,35,1.65],[2],[false,10,2,"default"], // SGP30 VOC and eCO2 holder - "add2","pcb_holder",39.5,61,1,"bottom",[0,0,90],["case",false,false,false],[26.5,35,1.65],[2],[false,10,2,"default"]] + "add2","pcb_holder",40.5,26,0,"bottom",[0,0,90],["sbc",true,true,false],[26.5,35,1.65],[2],[false,10,2,"default"], + // BMP388 and holder + "model","stl_model",39,84,22,"bottom",[90,180,90],["sbc",true,true,false],[0,0,0],[1,"./adafruit/3966 BMP388 QT.stl",0,0],[false,10,2,"default"], + "add2","pcb_holder",40.5,58,0,"bottom",[0,0,90],["sbc",true,true,false],[26.5,35,1.65],[2],[false,10,2,"default"], + // SCD30 and holder + "model","stl_model",69,32,27,"bottom",[270,0,90],["sbc",true,true,false],[0,0,0],[1,"./adafruit/4867 Adafruit SCD30.stl"],[false,10,2,"default"], + "add2","pcb_holder",69,31,0,"bottom",[0,0,90],["sbc",true,true,false],[53,35,1.65],[2],[false,10,2,"default"], + // ST7789 IPS TFT Display and holder + "model","stl_model",82,25,2.5,"bottom",[90,270,270],["sbc",true,true,false],[0,0,0],[1,"./adafruit/4311 2in TFT IPS Display.stl"],[false,10,2,"default"], + "add2","pcb_holder",80.5,85,0,"bottom",[0,0,270],["sbc",true,true,false],[61,35,1.65],[2],[false,10,2,"default"], + "add2","pcb_holder",80.5,24,11.5,"top",[0,180,270],["sbc-case_z",true,true,true],[61,35,1.65],[2],[false,10,2,"default"], + // display opening + "suball","rectangle",82,34,3,"bottom",[0,0,0],["sbc",true,true,false],[6,44,34],[[.1,.1,.1,.1]],[false,10,2,"default"], + // empty + "add2","pcb_holder",52,58,0,"bottom",[0,0,90],["sbc",true,true,false],[26.5,35,1.65],[2],[false,10,2,"default"], + "add2","pcb_holder",52,26,0,"bottom",[0,0,90],["sbc",true,true,false],[26.5,35,1.65],[2],[false,10,2,"default"], + // PMSA003I Partical Air Quality + "model","stl_model",.25,32.5,4,"bottom",[0,0,0],["sbc",true,true,false],[0,0,0],[1,"./adafruit/4632 PMSA003I.stl"],[false,10,2,"default"], + "add2","standoff",2.75,35,0,"bottom",[0,0,0],["sbc",true,true,false],[0,0,0],[["m2",5.75,4,3.6,7,3,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"], + "add2","standoff",2.75,80.75,0,"bottom",[0,0,0],["sbc",true,true,false],[0,0,0],[["m2",5.75,4,3.6,7,3,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"], + "add2","standoff",33.25,35,0,"bottom",[0,0,0],["sbc",true,true,false],[0,0,0],[["m2",5.75,4,3.6,7,3,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"], + "add2","standoff",33.25,80.75,0,"bottom",[0,0,0],["sbc",true,true,false],[0,0,0],[["m2",5.75,4,3.6,8,3,"countersunk","hex",false,false,4.5,5.1]],[true,10,2,"default"], + "sub","vent",-3,61.5,11,"top",[0,0,90],["sbc",true,true,false],[2,7,4],[1,5,"vertical",1],[false,10,2,"default"]] ];