diff --git a/lib/sbc_library.scad b/lib/sbc_library.scad index 4367ede..01fcf9c 100755 --- a/lib/sbc_library.scad +++ b/lib/sbc_library.scad @@ -1,6 +1,5 @@ /* - SBC Library Copyright 2016,2017,2018,2019,2020 Edward A. Kisiel - hominoid @ www.forum.odroid.com + SBC Library Copyright 2016,2017,2018,2019,2020,2021,2022 Edward A. Kisiel hominoid@cablemi.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -50,6 +49,37 @@ 20220413 Version 1.0.6 adjusted slide_4x9, adjust m.2_header, rj45-usb2_double, rj45-usb3_double, out-in-spdif, momentary_6x6x4, fixed color for usb2 micro otg, adjust all header heights, added mipi_csi, mipi_dsi, m.2_stud + + see https://github.com/hominoids/SBC_Case_Builder + + place(x,y,size_x,size_y,rotation,side,type,pcbsize_z) + pcb_add(size_x,size_y,loc_x,loc_y,rotation,side,type,pcbsize_z,data_1,data_2) - "square","round" + pcb_sub(size_x,size_y,loc_x,loc_y,rotation,side,type,pcbsize_z,data_1,data_2) - "square","round","art" + pcb_art(scale_d1,type,dxf_file) - "dxf" + pcb(size, radius) + memory(x,y,rotation,side,type,pcbsize_z) - "emmc","emmc_plug","sodimm_5.2","sodimm_9.2" + switch(x,y,rotation,side,type,pcbsize_z) - "slide_4x9" + button(x,y,rotation,side,type,pcbsize_z) - "momentary_6x6x9","momentary_6x6x4","momentary_6x6x4_90","momentary_4x2x1" + plug(x,y,rotation,side,type,pcbsize_z) - "pwr2.5_5x7.5","pwr5.5_7.5x11.5","pwr5.5_10x10","rtc_micro","audio_micro","uart_micro","molex_4x1","small_encl_satapwr" + usb2(x,y,rotation,side,type,pcbsize_z) - "single_vert_a","double_stacked_a","micro" + usb3(x,y,rotation,side,type,pcbsize_z) - "double_stacked_a" + network(x,y,rotation,side,type,pcbsize_z) - "rj45_single" + video(x,y,rotation,side,type,pcbsize_z - "hdmi_a","dp-hdmi_a","mipi_csi","mipi_dsi" + fan(x,y,rotation,side,type,pcbsize_z) - "micro","encl_pmw","encl_pmw_h" + gpio(x,y,rotation,side,type,pcbsize_z) - "encl_header_30","encl_header_12","header_40","header_20" + ic(x,y,rotation,side,type,pcbsize_z) - "ic_2.8x2.8","ic_3x3","ic_3.7x3.7","ic_4x4","ic_4.7x4.7","ic_5x5","ic_5.75x5.75","ic_6x6","ic_6.4x6.4",ic_6.75x6.75", + "ic_7x7","ic_4.3x5.1","ic_5.4x5.3","ic_6.7x8.4","ic_9x9","ic_11x8","ic_13x8","ic_13x9","ic_16x10" + audio(x,y,rotation,side,type,pcbsize_z) - "out-in-spdif","jack_3.5" + storage(x,y,rotation,side,type,pcbsize_z) - "sdcard","sdcard_i","sata_header","sata_power_vrec","sata_encl_power","sata_encl_header","m.2_header","m.2_stud" + combo(x,y,rotation,side,type,pcbsize_z) - "rj45-usb2_double","rj45-usb3_double" + jumper(x,y,rotation,side,type,pcbsize_z) - "header_2x1","header_3x2","header_5x1","header_6x1","header_7x1" + misc(x,y,rotation,side,type,pcbsize_z) - "ir_1","led_3x1.5","lcd_2.2","bat_hold_1" + heatsink(x,y,rotation,side,type,pcbsize_z,soc1size_z) - "hc4_oem","c4_oem","c2_oem","c1+_oem","xu4_oem","n1_oem","xu4q_oem","n2_oem","n2+_oem","m1_oem","h2_oem" + pcie(x,y,rotation,side,type,pcbsize_z) - "x4" + jst_ph(x,y,rotation,side,type,pcbsize_z) - type is #pins + cm_holder(x,y,rotation,side,type,pcbsize_z) - jetsonnano + cm(x,y,rotation,side,type,pcbsize_z) - jetsonnano + */ module place(x,y,size_x,size_y,rotation,side,type,pcbsize_z) { @@ -220,12 +250,12 @@ module memory(x,y,rotation,side,type,pcbsize_z) { module switch(x,y,rotation,side,type,pcbsize_z) { // boot selector switch if(type=="slide_4x9") { - size_x = 3.75; - size_y = 9.1; + size_x = 9; + size_y = 3.75; place(x,y,size_x,size_y,rotation,side,type,pcbsize_z) union() { color("silver") translate([0,0,.5]) cube([size_x, size_y, 3.5]); - color("white") translate([3.75,4.5,1.75]) cube([3, 2, 1.5]); + color("white") translate([3.75,-1.99,1.75]) cube([3, 2, 1.5]); } } } @@ -1489,19 +1519,19 @@ module heatsink(x,y,rotation,side,type,pcbsize_z,soc1size_z) { if(type=="n2_oem") { size_x = 90; size_y = 90; - place(x,y,size_x,size_y,rotation,side,type,(pcbsize_z-pcbsize_z-3)) + place(x,y,size_x,size_y,rotation,side,type,-3) color("gray") import("Odroid-N2_Heatsink.stl", convexity=3); } if(type=="n2+_oem") { size_x = 90; size_y = 90; - place(x,y,size_x,size_y,rotation,side,type,(pcbsize_z-pcbsize_z-3)) + place(x,y,size_x,size_y,rotation,side,type,-3) color("gray") import("Odroid-N2+_Heatsink.stl", convexity=3); } if(type=="m1_oem") { size_x = 90; size_y = 122; - place(x,y,size_x,size_y,rotation,side,type,(pcbsize_z-pcbsize_z-3)) + place(x,y,size_x,size_y,rotation,side,type,-3) color("gray") translate([-.5,0,3]) rotate([0,0,0]) import("Odroid-M1_Heatsink.stl", convexity=3); } if(type=="h2_oem") { diff --git a/lib/sbc_models.cfg b/lib/sbc_models.cfg index 892e0cc..29c843e 100755 --- a/lib/sbc_models.cfg +++ b/lib/sbc_models.cfg @@ -1,6 +1,5 @@ /* - SBC Data Library Copyright 2018,2019,2020 Edward A. Kisiel - hominoid @ www.forum.odroid.com + SBC Data Library Copyright 2018,2019,2020,2021,2022 Edward A. Kisiel hominoid@cablemi.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +29,8 @@ raised C4 hdmi, updated Odroid-XU4Q, add type sdcard_i, adjusted C2 usb 20220413 Version 1.06 Added Odroid-M1 as m1, adjustments h2, c4 gpio + see https://github.com/hominoids/SBC_Case_Builder + Instructions: All measurements from lower left corner of PCB to lower left corner of component or opening, holes measured to center. All measurements in mm. PCB orientation is long side of board along the x axis. @@ -50,630 +51,666 @@ component_x, component_y, component_rotation, "component_side", "component_class","component_type" component classes and types: - memory - emmc, emmc_plug, sodimm_5.2, sodimm_9.2 + memory - "emmc","emmc_plug","sodimm_5.2","sodimm_9.2" switch - slide_4x9 - button - momentary_6x6x9, momentary_6x6x4, momentary_6x6x4_90 - plug - pwr5.5_7.5x11.5, pwr2.5_5x7.5, rtc_micro, uart_micro, molex_4x1, small_encl_satapwr - usb2 - single_vert_a, double_stacked_a, micro + button - "momentary_6x6x9","momentary_6x6x4","momentary_6x6x4_90","momentary_4x2x1" + plug - "pwr2.5_5x7.5","pwr5.5_7.5x11.5","pwr5.5_10x10","rtc_micro","audio_micro","uart_micro","molex_4x1","small_encl_satapwr" + usb2 - "single_vert_a","double_stacked_a","micro" usb3 - double_stacked_a network - rj45_single - video - hdmi_a, dp-hdmi_a - fan - micro, encl_pmw, encl_pmw_h - gpio - encl_header_30, encl_header_12, header_40, header_20 - ic - ic_2.8x2.8, ic_4.7x4.7, ic_5x5, ic_5.75x5.75, ic_6x6, ic_6.75x6.75, ic_7x7, ic_6.7x8.4, ic_11x8, ic_13x8 - ic_3x3, ic_6.4x6.4, ic_3.7x3.7, ic_4.3x5.1, ic_5.4x5.3, ic_13x9, ic_9x9 - audio - out-in-spdif, jack_3.5 - storage - sata_header, sata_encl_power, sata_encl_header, sata_power_vrec, m.2_header, sdcard, sdcard_i - combo - rj45-usb2_double, rj45-usb3_double - jumper - header_2x1, header_5x1, header_7x1 - misc - ir_1, batt_hold_1 - heatsink - xu4_oem, xu4q_oem, c1+_oem, c2_oem, c4_oem, hc4_oem, n2_oem, h2_oem - pcie - x4 + video - "hdmi_a","dp-hdmi_a","mipi_csi","mipi_dsi" + fan - "micro","encl_pmw","encl_pmw_h" + gpio - "encl_header_30","encl_header_12","header_40","header_20" + ic - "ic_2.8x2.8","ic_3x3","ic_3.7x3.7","ic_4x4","ic_4.7x4.7","ic_5x5","ic_5.75x5.75","ic_6x6","ic_6.4x6.4",ic_6.75x6.75", + "ic_7x7","ic_4.3x5.1","ic_5.4x5.3","ic_6.7x8.4","ic_9x9","ic_11x8","ic_13x8","ic_13x9","ic_16x10" + audio - "out-in-spdif","jack_3.5" + storage - "sdcard","sdcard_i","sata_header","sata_power_vrec","sata_encl_power","sata_encl_header","m.2_header","m.2_stud" + combo - "rj45-usb2_double","rj45-usb3_double" + jumper - "header_2x1","header_3x2","header_5x1","header_6x1","header_7x1" + misc - "ir_1","led_3x1.5","lcd_2.2","bat_hold_1" + heatsink - "hc4_oem","c4_oem","c2_oem","c1+_oem","xu4_oem","n1_oem","xu4q_oem","n2_oem","n2+_oem","m1_oem","h2_oem" + pcie - "x4" jst_ph - number of pins from 2-16 sbc models "c1+","c2","c4","xu4","xu4q","mc1","hc1","hc4","n1","n2","n2+","h2","rpi3b+","a64","rock64","rockpro64","atomicpi","jetsonnano" */ sbc_data = [ - // Hard Kernel Odroids - ["c1+",85,56,1,3.5,17,6, // sbc model, pcb size and component height - 3.5,3.5,3,3.5,52.5,3, // pcb holes 1 and 2 location and pcb hole size - 61.5,3.5,3,61.5,52.5,3, // pcb holes 3 and 4 location and pcb hole size - 9.385,38,3,60.615,18,3, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 12,12,1.25,34.4,22,0,0,"top", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 42.28,27.6,90,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type - 40.62,25.25,90,"bottom","memory","emmc", // emmc location, rotation, side, class and type - 46.5,40.5,180,"bottom","storage","sdcard", // sdcard location, rotation, side, class and type - 6.8,-1,0,"top","usb2","micro", // usb2 otg location, rotation, side, class and type - 24.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type - 46.5,0,0,"top","plug","pwr2.5_5x7.5", // pwrplug location, rotation, side, class and type - 65,2.25,270,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 69.61,39.4,270,"top","usb2","double_stacked_a", // usb2 location, rotation, side, class and type - 69.61,21.4,270,"top","usb2","double_stacked_a", // usb1 location, rotation, side, class and type - 7,50,0,"top","gpio","header_40", // gpio location, rotation, side, class and type - 2.5,40.7,90,"top","misc","ir_1", // ir location, rotation, side, class and type - 0,15.2,90,"top","plug","uart_micro", // uart location, rotation, side, class and type - 14.7,11.86,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type - 16.5,16,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type - 16.5,31,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type - 55,9,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type - 57.7,36,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type - 16.5,16,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type - 16.5,31,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type - 9.385,38,0,"top","heatsink","c1+_oem"], // heatsink location, rotation, side, class and type + + // Hard Kernel Odroids + ["c1+",85,56,1,3.5,17,6, // sbc model, pcb size and component height + 3.5,3.5,3,3.5,52.5,3, // pcb holes 1 and 2 location and pcb hole size + 61.5,3.5,3,61.5,52.5,3, // pcb holes 3 and 4 location and pcb hole size + 9.385,38,3,60.615,18,3, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 12,12,1.25,34.4,22,0,0,"top", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 42.28,27.6,90,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type + 40.62,25.25,90,"bottom","memory","emmc", // emmc location, rotation, side, class and type + 46.5,40.5,180,"bottom","storage","sdcard", // sdcard location, rotation, side, class and type + 6.8,-1,0,"top","usb2","micro", // usb2 otg location, rotation, side, class and type + 24.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 46.5,0,0,"top","plug","pwr2.5_5x7.5", // pwrplug location, rotation, side, class and type + 65,2.25,270,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 69.61,39.4,270,"top","usb2","double_stacked_a", // usb2 location, rotation, side, class and type + 69.61,21.4,270,"top","usb2","double_stacked_a", // usb1 location, rotation, side, class and type + 7,50,0,"top","gpio","header_40", // gpio location, rotation, side, class and type + 2.5,40.7,90,"top","misc","ir_1", // ir location, rotation, side, class and type + 0,15.2,90,"top","plug","uart_micro", // uart location, rotation, side, class and type + 14.7,11.86,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type + 16.5,16,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type + 16.5,31,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type + 55,9,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type + 57.7,36,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type + 16.5,16,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type + 16.5,31,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type + 9.385,38,0,"top","heatsink","c1+_oem"], // heatsink location, rotation, side, class and type - ["c2",85,56,1,3.5,17,6, // sbc model, pcb size and component height - 3.5,3.5,3,3.5,52.5,3, // pcb holes 1 and 2 location and pcb hole size - 61.5,3.5,3,61.5,52.5,3, // pcb holes 3 and 4 location and pcb hole size - 9.385,38,3,60.615,18,3, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 13,13,1.25,32.5,24,0,0,"top", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 47.09,26.35,90,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type - 45.5,24,90,"bottom","memory","emmc", // emmc location, rotation, side, class and type - 46.5,40.5,180,"bottom","storage","sdcard", // sdcard location, rotation, side, class and type - 6.8,-1,0,"top","usb2","micro", // usb2 otg location, rotation, side, class and type - 18.73,0,90,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - 24.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type - 46.5,0,0,"top","plug","pwr2.5_5x7.5", // pwrplug location, rotation, side, class and type - 65,2.25,270,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 69.61,39.6,270,"top","usb2","double_stacked_a", // usb2 location, rotation, side, class and type - 69.61,21.6,270,"top","usb2","double_stacked_a", // usb1 location, rotation, side, class and type - 7,50,0,"top","gpio","header_40", // gpio location, rotation, side, class and type - 2.5,40.7,90,"top","misc","ir_1", // ir location, rotation, side, class and type - 0,15.2,90,"top","plug","uart_micro", // uart location, rotation, side, class and type - 14.7,11.86,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type - 17,18.25,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type - 17,30,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type - 55,9,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type - 57.7,36,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type - 17,18.25,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type - 17,30,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type - 9.385,38,0,"top","heatsink","c2_oem"], // heatsink location, rotation, side, class and type + ["c2",85,56,1,3.5,17,6, // sbc model, pcb size and component height + 3.5,3.5,3,3.5,52.5,3, // pcb holes 1 and 2 location and pcb hole size + 61.5,3.5,3,61.5,52.5,3, // pcb holes 3 and 4 location and pcb hole size + 9.385,38,3,60.615,18,3, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 13,13,1.25,32.5,24,0,0,"top", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 47.09,26.35,90,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type + 45.5,24,90,"bottom","memory","emmc", // emmc location, rotation, side, class and type + 46.5,40.5,180,"bottom","storage","sdcard", // sdcard location, rotation, side, class and type + 6.8,-1,0,"top","usb2","micro", // usb2 otg location, rotation, side, class and type + 18.73,0,90,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + 24.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 46.5,0,0,"top","plug","pwr2.5_5x7.5", // pwrplug location, rotation, side, class and type + 65,2.25,270,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 69.61,39.6,270,"top","usb2","double_stacked_a", // usb2 location, rotation, side, class and type + 69.61,21.6,270,"top","usb2","double_stacked_a", // usb1 location, rotation, side, class and type + 7,50,0,"top","gpio","header_40", // gpio location, rotation, side, class and type + 2.5,40.7,90,"top","misc","ir_1", // ir location, rotation, side, class and type + 0,15.2,90,"top","plug","uart_micro", // uart location, rotation, side, class and type + 14.7,11.86,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type + 17,18.25,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type + 17,30,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type + 55,9,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type + 57.7,36,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type + 17,18.25,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type + 17,30,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type + 9.385,38,0,"top","heatsink","c2_oem"], // heatsink location, rotation, side, class and type - ["c4",85,56,1,3.5,18,6, // sbc model, pcb size and component height - 3.5,3.5,3,3.5,52.5,3, // pcb holes 1 and 2 location and pcb hole size - 61.5,3.5,3,61.5,52.5,3, // pcb holes 3 and 4 location and pcb hole size - 4.19,38.1,3,55.39,18.175,3, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 14.5,14.5,1.25,32.875,22.4,0,0,"top", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 39.23,15,0,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type - 36.8,1.34,0,"bottom","memory","emmc", // emmc location, rotation, side, class and type - 39.5,39.8,180,"bottom","storage","sdcard_i", // sdcard location, rotation, side, class and type - 19.75,-1,0,"top","usb2","micro", // usb2 otg location, rotation, side, class and type - 38.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type - 6.75,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type - 65.765,2,270,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 70,40,270,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 70,22,270,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 8.15,49,0,"top","gpio","header_40", // gpio location, rotation, side, class and type - 2.5,41.25,90,"top","misc","ir_1", // ir location, rotation, side, class and type - 0,11.5,90,"top","plug","uart_micro", // uart location, rotation, side, class and type - 15.25,10.75,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type - 13.185,17.16,0,"top","ic","ic_13x9", // memory location, rotation, side, class and type - 13.185,35.174,0,"top","ic","ic_13x9", // memory location, rotation, side, class and type - 56.46,33.38,0,"top","ic","ic_9x9", // usbhub 5mm location, rotation, side, class and type - 57.6,9.3,0,"top","ic","ic_5x5", // ethernet 5mm location, rotation, side, class and type - 13.185,17.16,0,"bottom","ic","ic_13x9", // memory location, rotation, side, class and type - 13.185,35.174,0,"bottom","ic","ic_13x9", // memory location, rotation, side, class and type - 4.16,38.175,0,"top","heatsink","c4_oem"], // heatsink location, rotation, side, class and type + ["c4",85,56,1,3.5,18,6, // sbc model, pcb size and component height + 3.5,3.5,3,3.5,52.5,3, // pcb holes 1 and 2 location and pcb hole size + 61.5,3.5,3,61.5,52.5,3, // pcb holes 3 and 4 location and pcb hole size + 4.19,38.1,3,55.39,18.175,3, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 14.5,14.5,1.25,32.875,22.4,0,0,"top", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 39.23,15,0,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type + 36.8,1.34,0,"bottom","memory","emmc", // emmc location, rotation, side, class and type + 39.5,39.8,180,"bottom","storage","sdcard_i", // sdcard location, rotation, side, class and type + 19.75,-1,0,"top","usb2","micro", // usb2 otg location, rotation, side, class and type + 38.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 6.75,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type + 65.765,2,270,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 70,40,270,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 70,22,270,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 8.15,49,0,"top","gpio","header_40", // gpio location, rotation, side, class and type + 2.5,41.25,90,"top","misc","ir_1", // ir location, rotation, side, class and type + 0,11.5,90,"top","plug","uart_micro", // uart location, rotation, side, class and type + 15.25,10.75,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type + 13.185,17.16,0,"top","ic","ic_13x9", // memory location, rotation, side, class and type + 13.185,35.174,0,"top","ic","ic_13x9", // memory location, rotation, side, class and type + 56.46,33.38,0,"top","ic","ic_9x9", // usbhub 5mm location, rotation, side, class and type + 57.6,9.3,0,"top","ic","ic_5x5", // ethernet 5mm location, rotation, side, class and type + 13.185,17.16,0,"bottom","ic","ic_13x9", // memory location, rotation, side, class and type + 13.185,35.174,0,"bottom","ic","ic_13x9", // memory location, rotation, side, class and type + 4.16,38.175,0,"top","heatsink","c4_oem"], // heatsink location, rotation, side, class and type - ["xu4",83,59,1,3.5,17,6, // sbc model, pcb size and component height - 3.5,3.5,3,3.5,55.5,3, // pcb holes 1 and 2 location and pcb hole size - 79.5,3.5,3,79.5,55.5,3, // pcb holes 3 and 4 location and pcb hole size - 79.19,21.82,3,28.2,41.82,3, // pcb holes 5 and 6 location and pcb hole size - 0,0,3.3,0,0,3.3, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 14.5,15.75,1.25,59,20,0,0,"top", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 47.5,13.7,0,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type - 45,0,0,"bottom","memory","emmc", // emmc location, rotation, side, class and type - 45.85,5,0,"top","storage","sdcard", // sdcard location, rotation, side, class and type - 79,7.15,0,"top","switch","slide_4x9", // switch location, rotation, side, class and type - 25.925,52.925,0,"top","button","momentary_6x6x9", // pwrbutton location, rotation, side, class and type - 34.5,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type - 26,0,0,"top","usb2","single_vert_a", // usb2 location, rotation, side, class and type - 7.55,41.6,180,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 7.4,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 60,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type - 0,37.8,90,"top","plug","uart_micro", // uart location, rotation, side, class and type - 0,25,270,"top","plug","rtc_micro", // rtc location, rotation, side, class and type - 27,22,90,"top","fan","micro", // fan location, rotation, side, class and type - 35.4,52.25,0,"top","gpio","encl_header_30", // gpio1 location, rotation, side, class and type - 76.25,32.5,270,"top","gpio","encl_header_12", // gpio2 location, rotation, side, class and type - 43.8,27.25,0,"top","ic","ic_5.75x5.75", // pmic location, rotation, side, class and type - 32.5,40.5,0,"top","ic","ic_7x7", // usbhum 7mm location, rotation, side, class and type - 11.7,22.8,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type - 28.39,42,0,"top","heatsink","xu4_oem"], // heatsink location, rotation, side, class and type + ["xu4",83,59,1,3.5,17,6, // sbc model, pcb size and component height + 3.5,3.5,3,3.5,55.5,3, // pcb holes 1 and 2 location and pcb hole size + 79.5,3.5,3,79.5,55.5,3, // pcb holes 3 and 4 location and pcb hole size + 79.19,21.82,3,28.2,41.82,3, // pcb holes 5 and 6 location and pcb hole size + 0,0,3.3,0,0,3.3, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 14.5,15.75,1.25,59,20,0,0,"top", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 47.5,13.7,0,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type + 45,0,0,"bottom","memory","emmc", // emmc location, rotation, side, class and type + 45.85,5,0,"top","storage","sdcard", // sdcard location, rotation, side, class and type + 79,7.15,0,"top","switch","slide_4x9", // switch location, rotation, side, class and type + 25.925,52.925,0,"top","button","momentary_6x6x9", // pwrbutton location, rotation, side, class and type + 34.5,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type + 26,0,0,"top","usb2","single_vert_a", // usb2 location, rotation, side, class and type + 7.55,41.6,180,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 7.4,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 60,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 0,37.8,90,"top","plug","uart_micro", // uart location, rotation, side, class and type + 0,25,270,"top","plug","rtc_micro", // rtc location, rotation, side, class and type + 27,22,90,"top","fan","micro", // fan location, rotation, side, class and type + 35.4,52.25,0,"top","gpio","encl_header_30", // gpio1 location, rotation, side, class and type + 76.25,32.5,270,"top","gpio","encl_header_12", // gpio2 location, rotation, side, class and type + 43.8,27.25,0,"top","ic","ic_5.75x5.75", // pmic location, rotation, side, class and type + 32.5,40.5,0,"top","ic","ic_7x7", // usbhum 7mm location, rotation, side, class and type + 11.7,22.8,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type + 28.39,42,0,"top","heatsink","xu4_oem"], // heatsink location, rotation, side, class and type - ["xu4q",83,59,1,3.5,27,6, // sbc model, pcb size and component height - 3.5,3.5,3,3.5,55.5,3, // pcb holes 1 and 2 location and pcb hole size - 79.5,3.5,3,79.5,55.5,3, // pcb holes 3 and 4 location and pcb hole size - 79.19,21.82,3,28.2,41.82,3, // pcb holes 5 and 6 location and pcb hole size - 0,0,3.3,0,0,3.3, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 14.5,15.75,1.25,59,20,0,0,"top", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 47.5,13.7,0,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type - 45,0,0,"bottom","memory","emmc", // emmc location, rotation, side, class and type - 45.85,5,0,"top","storage","sdcard", // sdcard location, rotation, side, class and type - 79,7.15,0,"top","switch","slide_4x9", // switch location, rotation, side, class and type - 25.925,52.925,0,"top","button","momentary_6x6x9", // pwrbutton location, rotation, side, class and type - 34.85,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type - 26,0,0,"top","usb2","single_vert_a", // usb2 location, rotation, side, class and type - 7.55,41.6,180,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 7.4,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 60,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type - 0,37.8,90,"top","plug","uart_micro", // uart location, rotation, side, class and type - 0,25,270,"top","plug","rtc_micro", // rtc location, rotation, side, class and type - 27,22,90,"top","fan","micro", // fan location, rotation, side, class and type - 35.4,52.25,0,"top","gpio","encl_header_30", // gpio1 location, rotation, side, class and type - 76.25,32.5,270,"top","gpio","encl_header_12", // gpio2 location, rotation, side, class and type - 43.8,27.25,0,"top","ic","ic_5.75x5.75", // pmic location, rotation, side, class and type - 32.5,40.5,0,"top","ic","ic_7x7", // usbhum 7mm location, rotation, side, class and type - 11.7,22.8,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type - 28.39,42,0,"top","heatsink","xu4q_oem"], // heatsink location, rotation, side, class and type + ["xu4q",83,59,1,3.5,27,6, // sbc model, pcb size and component height + 3.5,3.5,3,3.5,55.5,3, // pcb holes 1 and 2 location and pcb hole size + 79.5,3.5,3,79.5,55.5,3, // pcb holes 3 and 4 location and pcb hole size + 79.19,21.82,3,28.2,41.82,3, // pcb holes 5 and 6 location and pcb hole size + 0,0,3.3,0,0,3.3, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 14.5,15.75,1.25,59,20,0,0,"top", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 47.5,13.7,0,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type + 45,0,0,"bottom","memory","emmc", // emmc location, rotation, side, class and type + 45.85,5,0,"top","storage","sdcard", // sdcard location, rotation, side, class and type + 79,7.15,0,"top","switch","slide_4x9", // switch location, rotation, side, class and type + 25.925,52.925,0,"top","button","momentary_6x6x9", // pwrbutton location, rotation, side, class and type + 34.85,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type + 26,0,0,"top","usb2","single_vert_a", // usb2 location, rotation, side, class and type + 7.55,41.6,180,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 7.4,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 60,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 0,37.8,90,"top","plug","uart_micro", // uart location, rotation, side, class and type + 0,25,270,"top","plug","rtc_micro", // rtc location, rotation, side, class and type + 27,22,90,"top","fan","micro", // fan location, rotation, side, class and type + 35.4,52.25,0,"top","gpio","encl_header_30", // gpio1 location, rotation, side, class and type + 76.25,32.5,270,"top","gpio","encl_header_12", // gpio2 location, rotation, side, class and type + 43.8,27.25,0,"top","ic","ic_5.75x5.75", // pmic location, rotation, side, class and type + 32.5,40.5,0,"top","ic","ic_7x7", // usbhum 7mm location, rotation, side, class and type + 11.7,22.8,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type + 28.39,42,0,"top","heatsink","xu4q_oem"], // heatsink location, rotation, side, class and type - ["mc1",55,47,1,3.5,16,10, // sbc model, pcb size and component height - 2.5,10.5,3,2.5,37,3, // pcb holes 1 and 2 location and pcb hole size - 52.5,32.5,3,0,0,3, // pcb holes 3 and 4 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 14.5,15.75,1.25,2,15,0,0,"bottom", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 5.5,3,0,"top","storage","sdcard", // sdcard location, rotation, side, class and type - 19,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type - 29.5,-1,0,"top","usb2","single_vert_a", // usb2 location, rotation, side, class and type - 37.7,-1,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 44.2,34.4,90,"top","plug","uart_micro", // uart location, rotation, side, class and type - 35,32.3,0,"top","plug","rtc_micro", // rtc location, rotation, side, class and type - 42.8,21.85,0,"top","ic","ic_6x6"], // nic location, rotation, side, class and type + ["mc1",55,47,1,3.5,16,10, // sbc model, pcb size and component height + 2.5,10.5,3,2.5,37,3, // pcb holes 1 and 2 location and pcb hole size + 52.5,32.5,3,0,0,3, // pcb holes 3 and 4 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 14.5,15.75,1.25,2,15,0,0,"bottom", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 5.5,3,0,"top","storage","sdcard", // sdcard location, rotation, side, class and type + 19,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type + 29.5,-1,0,"top","usb2","single_vert_a", // usb2 location, rotation, side, class and type + 37.7,-1,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 44.2,34.4,90,"top","plug","uart_micro", // uart location, rotation, side, class and type + 35,32.3,0,"top","plug","rtc_micro", // rtc location, rotation, side, class and type + 42.8,21.85,0,"top","ic","ic_6x6"], // nic location, rotation, side, class and type + + ["hc1",55,47,1,3.5,16,10, // sbc model, pcb size and component height + 2.5,10.5,3,2.5,37,3, // pcb holes 1 and 2 location and pcb hole size + 52.5,32.5,3,0,0,3, // pcb holes 3 and 4 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 14.5,15.75,1.25,2,15,0,0,"bottom", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 5.5,3,0,"top","storage","sdcard", // sdcard location, rotation, side, class and type + 19,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type + 29.5,-1,0,"top","usb2","single_vert_a", // usb2 location, rotation, side, class and type + 37.7,-1,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 44.2,34.4,90,"top","plug","uart_micro", // uart location, rotation, side, class and type + 35,32.3,0,"top","plug","rtc_micro", // rtc location, rotation, side, class and type + 42.8,21.85,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type + 2,41,0,"top","storage","sata_encl_power"], // sata location, rotation, side, class and type + + ["n1",90,90,1.5,3.5,16,6, // sbc model, pcb size and component height + 12,43,3,3.8,86.5,3, // pcb holes 1 and 2 location and pcb hole size + 86.5,28,3,86.5,86.5,3, // pcb holes 3 and 4 location and pcb hole size + 24.5,42,3,0,0,3, // pcb holes 5 and 6 location and pcb hole size + 75,64.5,3,0,0,3, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 21,21,1.51,48.5,37.5,0,-45,"top", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 78.7,50,270,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type + 65,48,270,"bottom","memory","emmc", // emmc location, rotation, side, class and type + 75,36,90,"bottom","storage","sdcard", // sdcard location, rotation, side, class and type + 3,0,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type + 17,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 36,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 54,0,0,"top","usb2","double_stacked_a", // usb2 location, rotation, side, class and type + 72,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 83,32,270,"top","gpio","header_40", // gpio location, rotation, side, class and type + 7.5,80,0,"top","button","tall_6x6", // reset button location, rotation, side, class and type + 15,80,0,"top","button","tall_6x6", // power button location, rotation, side, class and type + 0,24,270,"top","storage","sata_header", // sata location, rotation, side, class and type + 0,42.5,270,"top","storage","sata_header", // sata location, rotation, side, class and type + 0,59,270,"top","plug","uart_micro", // uart location, rotation, side, class and type + 0,74,270,"top","plug","rtc_micro", // rtc location, rotation, side, class and type + 20,54,-45,"top","fan","micro", // fan location, rotation, side, class and type + 5.5,52,270,"top","plug","molex_4x1", // pwrplug location, rotation, side, class and type + 15,31,0,"top","ic","ic_7x7", // sata ic 7mm location, rotation, side, class and type + 74.5,24.5,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type + 50,25,90,"top","ic","ic_7x7", // usb hum 7mm location, rotation, side, class and type + 24,69,90,"top","ic","ic_13x8", // memory location, rotation, side, class and type + 38.5,69,90,"top","ic","ic_13x8", // memory location, rotation, side, class and type + 50.5,69,90,"top","ic","ic_13x8", // memory location, rotation, side, class and type + 65,69,90,"top","ic","ic_13x8", // memory location, rotation, side, class and type + 3.5,17.5,90,"top","ic","ic_6x6", // memory location, rotation, side, class and type + 12.5,17.5,90,"top","ic","ic_6x6", // memory location, rotation, side, class and type +// 24.5,42,45,"top","heatsink","n1_oem"], // heatsink location, rotation, side, class and type + -15.5,42.5,-45,"top","heatsink","n1_oem"], // heatsink location, rotation, side, class and type + + ["n2",90,90,1.7,.2,17,20, // sbc model, pcb size and component height + 3,28.5,3.3,86.5,28.5,3.3, // pcb holes 1 and 2 location and pcb hole size + 3,86.5,3.3,86.5,86.5,3.3, // pcb holes 3 and 4 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 14.5,16.25,1.51,37.78,50.88,0,0,"bottom", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type + 16.55,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 34.8,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 83.96,32.1,90,"top","gpio","header_40", // gpio location, rotation, side, class and type + 17.61,39.73,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type + .2,69.05,270,"top","plug","uart_micro", // uart location, rotation, side, class and type + 75.05,42.44,180,"top","plug","rtc_micro", // rtc location, rotation, side, class and type + 68.5,68.8,90,"top","fan","micro", // fan location, rotation, side, class and type + 7.2,76.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type + 59.35,85.4,180,"top","usb2","micro", // usb2 otg location, rotation, side, class and type + 35.85,85.62,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type + 33.5,72,0,"top","memory","emmc", // emmc location, rotation, side, class and type + 22.4,86.6,180,"top","misc","ir_1", // ir location, rotation, side, class and type + 48.45,86.7,270,"top","switch","slide_4x9", // switch location, rotation, side, class and type + 73.67,78.95,180,"top","audio","jack_3.5", // switch location, rotation, side, class and type + 18.95,46.23,0,"top","ic","ic_13x8", // memory top size, location, rotation and side + 19.04,64.24,0,"top","ic","ic_13x8", // memory top size, location, rotation and side + 18.95,46.23,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side + 19.04,64.24,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side + 45.74,27.51,0,"top","ic","ic_6.4x6.4", // component, location, rotation, side, class and type + 75.08,25,0,"top","ic","ic_3.7x3.7", // component, location, rotation, side, class and type + 74.3,69.54,0,"top","ic","ic_4.3x5.1", // component, location, rotation, side, class and type + 50.8,77.25,0,"top","ic","ic_5.4x5.3", // component, location, rotation, side, class and type + 77.03,51.92,0,"top","ic","ic_3x3", // component, location, rotation, side, class and type + -1,.5,180,"top","heatsink","n2_oem"], // heatsink location, rotation, side, class and type + + ["n2+",90,90,1.7,.2,17,14, // sbc model, pcb size and component height + 3,28.5,3.3,86.5,28.5,3.3, // pcb holes 1 and 2 location and pcb hole size + 3,86.5,3.3,86.5,86.5,3.3, // pcb holes 3 and 4 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 14.5,16.25,1.51,37.78,50.88,0,0,"bottom", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type + 18,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 36,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 83.96,32.1,90,"top","gpio","header_40", // gpio location, rotation, side, class and type + 17.61,39.73,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type + .2,69.05,270,"top","plug","uart_micro", // uart location, rotation, side, class and type + 53,35,0,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type + 68.5,68.8,90,"top","fan","micro", // fan location, rotation, side, class and type + 7.2,76.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type + 59.35,85.4,180,"top","usb2","micro", // usb2 otg location, rotation, side, class and type + 35.85,85.62,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type + 33.5,72,0,"top","memory","emmc", // emmc location, rotation, side, class and type + 22.4,86.6,180,"top","misc","ir_1", // ir location, rotation, side, class and type + 48.45,86.7,270,"top","switch","slide_4x9", // switch location, rotation, side, class and type + 73.67,78.95,180,"top","audio","jack_3.5", // switch location, rotation, side, class and type + 18.95,46.23,0,"top","ic","ic_13x8", // memory top size, location, rotation and side + 19.04,64.24,0,"top","ic","ic_13x8", // memory top size, location, rotation and side + 18.95,46.23,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side + 19.04,64.24,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side + 45.74,27.51,0,"top","ic","ic_6.4x6.4", // component, location, rotation, side, class and type + 75.08,25,0,"top","ic","ic_3.7x3.7", // component, location, rotation, side, class and type + 74.3,69.54,0,"top","ic","ic_4.3x5.1", // component, location, rotation, side, class and type + 50.8,77.25,0,"top","ic","ic_5.4x5.3", // component, location, rotation, side, class and type + 77.03,51.92,0,"top","ic","ic_3x3", // component, location, rotation, side, class and type + 1,-.5,0,"top","heatsink","n2+_oem"], // heatsink location, rotation, side, class and type + + ["n2+_noheatsink",90,90,1.7,.2,17,14, // sbc model, pcb size and component height + 3,28.5,3.3,86.5,28.5,3.3, // pcb holes 1 and 2 location and pcb hole size + 3,86.5,3.3,86.5,86.5,3.3, // pcb holes 3 and 4 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 14.5,16.25,1.51,37.78,50.88,0,0,"bottom", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type + 18,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 36,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 83.96,32.1,90,"top","gpio","header_40", // gpio location, rotation, side, class and type + 17.61,39.73,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type + .2,69.05,270,"top","plug","uart_micro", // uart location, rotation, side, class and type + 53,35,0,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type + 68.5,68.8,90,"top","fan","micro", // fan location, rotation, side, class and type + 7.2,76.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type + 59.35,85.4,180,"top","usb2","micro", // usb2 otg location, rotation, side, class and type + 35.85,85.62,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type + 33.5,72,0,"top","memory","emmc", // emmc location, rotation, side, class and type + 22.4,86.6,180,"top","misc","ir_1", // ir location, rotation, side, class and type + 48.45,86.7,270,"top","switch","slide_4x9", // switch location, rotation, side, class and type + 73.67,78.95,180,"top","audio","jack_3.5", // switch location, rotation, side, class and type + 18.95,46.23,0,"top","ic","ic_13x8", // memory top size, location, rotation and side + 19.04,64.24,0,"top","ic","ic_13x8", // memory top size, location, rotation and side + 18.95,46.23,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side + 19.04,64.24,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side + 45.74,27.51,0,"top","ic","ic_6.4x6.4", // component, location, rotation, side, class and type + 75.08,25,0,"top","ic","ic_3.7x3.7", // component, location, rotation, side, class and type + 74.3,69.54,0,"top","ic","ic_4.3x5.1", // component, location, rotation, side, class and type + 50.8,77.25,0,"top","ic","ic_5.4x5.3", // component, location, rotation, side, class and type + 77.03,51.92,0,"top","ic","ic_3x3"], // component, location, rotation, side, class and type + + ["m1",90,122,1.7,.2,17,14, // sbc model, pcb size and component height + 3,28.5,3,3,118.5,3, // pcb holes 1 and 2 location and pcb hole size + 86.5,118.5,3,,86.5,28.5,3, // pcb holes 3 and 4 location and pcb hole size + 3,67,3,66,25,3, // pcb holes 5 and 6 location and pcb hole size + 86.5,47,3,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 19,19,1.51,45,43.5,0,45,"bottom", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type + 18,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 36,0,0,"top","usb2","double_stacked_a", // usb3 location, rotation, side, class and type + 54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 84.375,62.25,90,"top","gpio","header_40", // gpio location, rotation, side, class and type + .2,101,270,"top","plug","uart_micro", // uart location, rotation, side, class and type + 21,88,120,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type + 61,118,0,"top","plug","audio_micro", // micro location, rotation, side, class and type + 7.2,108.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type + 20,0,0,"bottom","usb2","micro", // usb2 otg location, rotation, side, class and type + 35.85,117,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type + 33.5,103,0,"top","memory","emmc", // emmc location, rotation, side, class and type + 22.4,118.58,180,"top","misc","ir_1", // ir location, rotation, side, class and type + 73.73,111.5,180,"top","audio","jack_3.5", // audio jack location, rotation, side, class and type + 0,88.2,270,"top","plug","small_encl_satapwr", // pwrplug location, rotation, side, class and type + .25,72,270,"top","storage","sata_header", // sata location, rotation, side, class and type + 50,115.65,0,"top","button","momentary_6x6x4", // spi button location, rotation, side, class and type + 7,101,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + 7,103.5,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + 3.5,35.87,270,"top","storage","m.2_header", // m2 socket location, rotation, side, class and type + 36.28,73,0,"bottom","ic","ic_16x10", // memory bottom size, location, rotation and side + 75.75,25,0,"top","ic","ic_5x5", // ic bottom size, location, rotation and side + 50.5,109.22,0,"top","ic","ic_5x5", // ic bottom size, location, rotation and side + 58,72,0,"top","video","mipi_csi", // mipi csi size, location, rotation and side + 65,93,0,"top","video","mipi_dsi", // mipi dsi size, location, rotation and side + .5,0,0,"top","heatsink","m1_oem", // heatsink location, rotation, side, class and type + 86.5,47,0,"top","storage","m.2_stud"], // m2 stud location, rotation, side, class and type + + ["m1_noheatsink",90,122,1.7,.2,17,14, // sbc model, pcb size and component height + 3,28.5,3,3,118.5,3, // pcb holes 1 and 2 location and pcb hole size + 86.5,118.5,3,,86.5,28.5,3, // pcb holes 3 and 4 location and pcb hole size + 3,67,3,66,25,3, // pcb holes 5 and 6 location and pcb hole size + 86.5,47,3,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 19,19,1.51,45,43.5,0,45,"bottom", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type + 18,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 36,0,0,"top","usb2","double_stacked_a", // usb3 location, rotation, side, class and type + 54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type + 71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 84.375,62.25,90,"top","gpio","header_40", // gpio location, rotation, side, class and type + .2,101,270,"top","plug","uart_micro", // uart location, rotation, side, class and type + 21,88,120,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type + 61,118,0,"top","plug","audio_micro", // micro location, rotation, side, class and type + 7.2,108.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type + 20,0,0,"bottom","usb2","micro", // usb2 otg location, rotation, side, class and type + 35.85,117,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type + 33.5,103,0,"top","memory","emmc", // emmc location, rotation, side, class and type + 22.4,118.58,180,"top","misc","ir_1", // ir location, rotation, side, class and type + 73.73,111.5,180,"top","audio","jack_3.5", // audio jack location, rotation, side, class and type + 0,88.2,270,"top","plug","small_encl_satapwr", // pwrplug location, rotation, side, class and type + .25,72,270,"top","storage","sata_header", // sata location, rotation, side, class and type + 50,115.65,0,"top","button","momentary_6x6x4", // spi button location, rotation, side, class and type + 7,101,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + 7,103.5,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + 3.5,35.87,270,"top","storage","m.2_header", // m2 socket location, rotation, side, class and type + 36.28,73,0,"bottom","ic","ic_16x10", // memory bottom size, location, rotation and side + 75.75,25,0,"top","ic","ic_5x5", // ic bottom size, location, rotation and side + 50.5,109.22,0,"top","ic","ic_5x5", // ic bottom size, location, rotation and side + 58,72,0,"top","video","mipi_csi", // mipi csi size, location, rotation and side + 65,93,0,"top","video","mipi_dsi", // mipi dsi size, location, rotation and side + 86.5,47,0,"top","storage","m.2_stud"], // m2 stud location, rotation, side, class and type - ["hc1",55,47,1,3.5,16,10, // sbc model, pcb size and component height - 2.5,10.5,3,2.5,37,3, // pcb holes 1 and 2 location and pcb hole size - 52.5,32.5,3,0,0,3, // pcb holes 3 and 4 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 14.5,15.75,1.25,2,15,0,0,"bottom", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 5.5,3,0,"top","storage","sdcard", // sdcard location, rotation, side, class and type - 19,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type - 29.5,-1,0,"top","usb2","single_vert_a", // usb2 location, rotation, side, class and type - 37.7,-1,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 44.2,34.4,90,"top","plug","uart_micro", // uart location, rotation, side, class and type - 35,32.3,0,"top","plug","rtc_micro", // rtc location, rotation, side, class and type - 42.8,21.85,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type - 2,41,0,"top","storage","sata_encl_power"], // sata location, rotation, side, class and type + ["h2",110,110,2,3.5,38,11, // sbc model, pcb size and component height + 3.81,17.78,3.5,3.81,106.19,3.5, // pcb holes 1 and 2 location and pcb hole size + 106.04,24.77,3.5,106.04,106.2,3.5, // pcb holes 3 and 4 location and pcb hole size + 20.17,43.82,3,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 32,40,2.5,82,40,2.5, // pcb holes 7 and 8 location and pcb hole size + 32,75,2.5,82,75,2.5, // pcb holes 9 and 10 location and pcb hole size + 25,24,1.344,45.29,48.95,0,0,"top", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 88.72,58.04,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type + 86.87,43.84,0,"top","-memory","emmc", // emmc location, rotation, side, class and type + 9.34,103.43,0,"top","button","momentary_6x6x4", // power button location, rotation, side, class and type + 20.77,103.43,0,"top","button","momentary_6x6x4", // reset button location, rotation, side, class and type + 1.27,76.76,90,"top","gpio","header_20", // gpio location, rotation, side, class and type + 1.98,-1.73,0,"top","plug","pwr5.5_10x10", // pwrplug location, rotation, side, class and type + 20.49,-.71,0,"top","combo","rj45-usb2_double", // rj45 and double usb2 ports location, rotation, side class and type + 45.26,-.71,0,"top","combo","rj45-usb3_double", // rj45 and double usb3 ports location, rotation, side class and type + 68.81,-.57,0,"top","video","dp-hdmi_a", // display port and hdmi location, rotation, side, class and type + 95.25,-1.37,0,"top","audio","out-in-spdif", // audio out, in and spdif location, rotation, side, class and type + 103.11,65.85,270,"top","storage","sata_encl_header", // sata location, rotation, side, class and type + 103.11,83.62,270,"top","storage","sata_encl_header", // sata location, rotation, side, class and type + 103,38.74,90,"top","plug","small_encl_satapwr", // sata power connector location, rotation, side, class and type + 103,52.07,90,"top","plug","small_encl_satapwr", // sata power connector location, rotation, side, class and type + 105.43,28.59,90,"top","plug","rtc_micro", // rtc location, rotation, side, class and type + 0,49.94,270,"top","fan","encl_pmw", // fan pwm connector location, rotation, side, class and type + 93.15,23.94,0,"top","ic","ic_6.75x6.75", // audio 6.75mm location, rotation, side, class and type + 17.97,53.53,0,"top","ic","ic_4.7x4.7", // ic 4.7mm location, rotation, side, class and type + 8.74,15.24,0,"top","ic","ic_6.7x8.4", // ic 6.7x8.4xmm location, rotation, side, class and type + 10.76,97.37,0,"bottom","ic","ic_7x7", // ic 7mm location, rotation, side, class and type + 29.08,30.99,0,"bottom","ic","ic_2.8x2.8", // ic 2.8mm location, rotation, side, class and type + 53.21,30.99,0,"bottom","ic","ic_2.8x2.8", // ic 2.8mm location, rotation, side, class and type + 96.32,32.87,270,"bottom","storage","m.2_header", // m2 socket location, rotation, side, class and type + 21.98,82.05,0,"bottom","memory","sodimm_5.2", // sodimm socket location, rotation, side, class and type + 21.98,98.6,0,"bottom","memory","sodimm_9.2", // sodimm socket location, rotation, side, class and type + 32,40,0,"top","heatsink","h2_oem"], // heatsink location, rotation, side, class and type - ["n1",90,90,1.5,3.5,16,6, // sbc model, pcb size and component height - 12,43,3,3.8,86.5,3, // pcb holes 1 and 2 location and pcb hole size - 86.5,28,3,86.5,86.5,3, // pcb holes 3 and 4 location and pcb hole size - 24.5,42,3,0,0,3, // pcb holes 5 and 6 location and pcb hole size - 75,64.5,3,0,0,3, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 21,21,1.51,48.5,37.5,0,-45,"top", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 78.7,50,270,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type - 65,48,270,"bottom","memory","emmc", // emmc location, rotation, side, class and type - 75,36,90,"bottom","storage","sdcard", // sdcard location, rotation, side, class and type - 3,0,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type - 17,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type - 36,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 54,0,0,"top","usb2","double_stacked_a", // usb2 location, rotation, side, class and type - 72,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 83,32,270,"top","gpio","header_40", // gpio location, rotation, side, class and type - 7.5,80,0,"top","button","tall_6x6", // reset button location, rotation, side, class and type - 15,80,0,"top","button","tall_6x6", // power button location, rotation, side, class and type - 0,24,270,"top","storage","sata_header", // sata location, rotation, side, class and type - 0,42.5,270,"top","storage","sata_header", // sata location, rotation, side, class and type - 0,59,270,"top","plug","uart_micro", // uart location, rotation, side, class and type - 0,74,270,"top","plug","rtc_micro", // rtc location, rotation, side, class and type - 20,54,-45,"top","fan","micro", // fan location, rotation, side, class and type - 5.5,52,270,"top","plug","molex_4x1", // pwrplug location, rotation, side, class and type - 15,31,0,"top","ic","ic_7x7", // sata ic 7mm location, rotation, side, class and type - 74.5,24.5,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type - 50,25,90,"top","ic","ic_7x7", // usb hum 7mm location, rotation, side, class and type - 24,69,90,"top","ic","ic_13x8", // memory location, rotation, side, class and type - 38.5,69,90,"top","ic","ic_13x8", // memory location, rotation, side, class and type - 50.5,69,90,"top","ic","ic_13x8", // memory location, rotation, side, class and type - 65,69,90,"top","ic","ic_13x8", // memory location, rotation, side, class and type - 3.5,17.5,90,"top","ic","ic_6x6", // memory location, rotation, side, class and type - 12.5,17.5,90,"top","ic","ic_6x6", // memory location, rotation, side, class and type -// 24.5,42,45,"top","heatsink","n1_oem"], // heatsink location, rotation, side, class and type - -15.5,42.5,-45,"top","heatsink","n1_oem"], // heatsink location, rotation, side, class and type + ["hc4",90.6,84,1.6,9,15,13, // sbc model, pcb size and component height + 4,5.5,3.5,4,58.5,3.5, // pcb holes 1 and 2 location and pcb hole size + 86.5,6,3.5,87,78.5,3.5, // pcb holes 3 and 4 location and pcb hole size + 87,15.5,3.5,16.91,44.52,3, // pcb holes 5 and 6 location and pcb hole size + 68.09,64.53,3,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 14.5,14.5,1.25,45.86,46,0,0,"bottom", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 19.2,2,0,"top","storage","sdcard", // sdcard location, rotation, side, class and type + 7.3,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type + 36,-1,0,"top","usb2","single_vert_a", // usb2 location, rotation, side, class and type + 67,-1,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 84.7,38.55,270,"top","plug","uart_micro", // uart location, rotation, side, class and type + 75.3,79.45,180,"top","misc","ir_1", // ir location, rotation, side, class and type + 85.25,53,90,"top","jumper","header_5x1", // jumper location, rotation, side, class and type + 34.65,74.85,0,"bottom","button","momentary_6x6x4", // boot button location, rotation, side, class and type + 10,80.70,0,"bottom","fan","encl_pmw_h", // fan pwm connector location, rotation, side, class and type + 47.38,-1,0,"bottom","video","hdmi_a", // hdmi location, rotation, side, class and type + 25.05,28.85,0,"top","storage","sata_power_vrec", // sata location, rotation, side, class and type + 25.05,69.55,0,"top","storage","sata_power_vrec", // sata location, rotation, side, class and type + 25.87,38.45,0,"top","ic","ic_13x9", // memory bottom size, location, rotation and side + 25.87,56.46,0,"top","ic","ic_13x9", // memory bottom size, location, rotation and side + 25.87,38.45,0,"bottom","ic","ic_13x9", // memory bottom size, location, rotation and side + 25.87,56.46,0,"bottom","ic","ic_13x9", // memory bottom size, location, rotation and side + 78.78,27.6,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type + 53.63,32.67,0,"bottom","ic","ic_7x7", // pcie bridge location, rotation, side, class and type + 10,59.53,0,"bottom","heatsink","hc4_oem"], // heatsink location, rotation, side, class and type - ["n2",90,90,1.7,.2,17,20, // sbc model, pcb size and component height - 3,28.5,3.3,86.5,28.5,3.3, // pcb holes 1 and 2 location and pcb hole size - 3,86.5,3.3,86.5,86.5,3.3, // pcb holes 3 and 4 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 14.5,16.25,1.51,37.78,50.88,0,0,"bottom", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type - 16.55,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 34.8,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type - 71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 83.96,32.1,90,"top","gpio","header_40", // gpio location, rotation, side, class and type - 17.61,39.73,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type - .2,69.05,270,"top","plug","uart_micro", // uart location, rotation, side, class and type - 75.05,42.44,180,"top","plug","rtc_micro", // rtc location, rotation, side, class and type - 68.5,68.8,90,"top","fan","micro", // fan location, rotation, side, class and type - 7.2,76.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type - 59.35,85.4,180,"top","usb2","micro", // usb2 otg location, rotation, side, class and type - 35.85,85.62,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type - 33.5,72,0,"top","memory","emmc", // emmc location, rotation, side, class and type - 22.4,86.6,180,"top","misc","ir_1", // ir location, rotation, side, class and type - 48.45,86.7,270,"top","switch","slide_4x9", // switch location, rotation, side, class and type - 73.67,78.95,180,"top","audio","jack_3.5", // switch location, rotation, side, class and type - 18.95,46.23,0,"top","ic","ic_13x8", // memory top size, location, rotation and side - 19.04,64.24,0,"top","ic","ic_13x8", // memory top size, location, rotation and side - 18.95,46.23,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side - 19.04,64.24,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side - 45.74,27.51,0,"top","ic","ic_6.4x6.4", // component, location, rotation, side, class and type - 75.08,25,0,"top","ic","ic_3.7x3.7", // component, location, rotation, side, class and type - 74.3,69.54,0,"top","ic","ic_4.3x5.1", // component, location, rotation, side, class and type - 50.8,77.25,0,"top","ic","ic_5.4x5.3", // component, location, rotation, side, class and type - 77.03,51.92,0,"top","ic","ic_3x3", // component, location, rotation, side, class and type - -1,.5,180,"top","heatsink","n2_oem"], // heatsink location, rotation, side, class and type + ["show2",83,48,1,3.5,7,3, // sbc model, pcb size and component height + 3.5,3.5,3.5,3.5,44.5,3.5, // pcb holes 1 and 2 location and pcb hole size + 79.5,3.5,3.5,79.5,44.5,3.5, // pcb holes 3 and 4 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 8,8,1.25,8,20,0,0,"top", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 7.5,44,180,"top","usb2","micro", // usb2 otg location, rotation, side, class and type + 2,8.83,270,"top","jumper","header_6x1", // jumper location, rotation, side, class and type + 15.5,42,270,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + 2,35,0,"top","jumper","header_3x2", // jumper location, rotation, side, class and type + 2,25.5,270,"top","plug","rtc_micro", // battery location, rotation, side, class and type + 7.65,2,90,"top","switch","slide_4x9", // switch location, rotation, side, class and type + 21.4,2,0,"top","button","momentary_6x6x4", // power button location, rotation, side, class and type + 29.8,3,0,"top","misc","led_3x1.5", // led location, rotation, side, class and type + 34,3,0,"top","misc","led_3x1.5", // led location, rotation, side, class and type + 38.2,3,0,"top","misc","led_3x1.5", // led location, rotation, side, class and type + 46.6,1,180,"top","button","momentary_4x2x1", // momentary button location, rotation, side, class and type + 55.2,1,180,"top","button","momentary_4x2x1", // momentary button location, rotation, side, class and type + 63.8,1,180,"top","button","momentary_4x2x1", // momentary button location, rotation, side, class and type + 19,9,0,"top","misc","lcd_2.2"], // lcd location, rotation, side, class and type - ["n2+",90,90,1.7,.2,17,14, // sbc model, pcb size and component height - 3,28.5,3.3,86.5,28.5,3.3, // pcb holes 1 and 2 location and pcb hole size - 3,86.5,3.3,86.5,86.5,3.3, // pcb holes 3 and 4 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 14.5,16.25,1.51,37.78,50.88,0,0,"bottom", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type - 18,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 36,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type - 71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 83.96,32.1,90,"top","gpio","header_40", // gpio location, rotation, side, class and type - 17.61,39.73,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type - .2,69.05,270,"top","plug","uart_micro", // uart location, rotation, side, class and type - 53,35,0,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type - 68.5,68.8,90,"top","fan","micro", // fan location, rotation, side, class and type - 7.2,76.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type - 59.35,85.4,180,"top","usb2","micro", // usb2 otg location, rotation, side, class and type - 35.85,85.62,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type - 33.5,72,0,"top","memory","emmc", // emmc location, rotation, side, class and type - 22.4,86.6,180,"top","misc","ir_1", // ir location, rotation, side, class and type - 48.45,86.7,270,"top","switch","slide_4x9", // switch location, rotation, side, class and type - 73.67,78.95,180,"top","audio","jack_3.5", // switch location, rotation, side, class and type - 18.95,46.23,0,"top","ic","ic_13x8", // memory top size, location, rotation and side - 19.04,64.24,0,"top","ic","ic_13x8", // memory top size, location, rotation and side - 18.95,46.23,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side - 19.04,64.24,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side - 45.74,27.51,0,"top","ic","ic_6.4x6.4", // component, location, rotation, side, class and type - 75.08,25,0,"top","ic","ic_3.7x3.7", // component, location, rotation, side, class and type - 74.3,69.54,0,"top","ic","ic_4.3x5.1", // component, location, rotation, side, class and type - 50.8,77.25,0,"top","ic","ic_5.4x5.3", // component, location, rotation, side, class and type - 77.03,51.92,0,"top","ic","ic_3x3", // component, location, rotation, side, class and type - 1,-.5,0,"top","heatsink","n2+_oem"], // heatsink location, rotation, side, class and type + // RasberryPi 3B+, 3B, 3A+, 2, 1B+ + ["rpi3b+",85.6,56.5,1,3,16,6, // sbc model, pcb size and component height + 3.5,3.5,2.75,3.5,52.5,2.75, // pcb holes 1 and 2 location and pcb hole size + 61.5,3.5,2.75,61.5,52.5,2.75, // pcb holes 3 and 4 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 14,14,1.5,19.975,24.525,0,0,"top", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,"","",""], // component location, rotation, side, class and type + + // Pine64 SBCs + ["a64",127,79,1.6,3.5,0,0, // sbc model, pcb size and component height + 4.5,4,3.3,122.5,4,3.3, // pcb holes 1 and 2 location and pcb hole size + 4.5,75,3.3,122.5,75,3.3, // pcb holes 3 and 4 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,"","",""], // component, location, rotation, side, class and type + + ["rock64",85,56,1.6,3.5,14.8,1.7, // sbc model, pcb size and component height + 3.5,3.5,2.8,3.5,52.5,2.8, // pcb holes 1 and 2 location and pcb hole size + 61.5,3.5,2.8,61.5,52.5,2.8, // pcb holes 3 and 4 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,"","",""], // component, location, rotation, side, class and type - ["m1",90,122,1.7,.2,17,14, // sbc model, pcb size and component height - 3,28.5,3,3,118.5,3, // pcb holes 1 and 2 location and pcb hole size - 86.5,118.5,3,,86.5,28.5,3, // pcb holes 3 and 4 location and pcb hole size - 3,67,3,66,25,3, // pcb holes 5 and 6 location and pcb hole size - 86.5,47,3,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 19,19,1.51,45,43.5,0,45,"bottom", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type - 18,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 36,0,0,"top","usb2","double_stacked_a", // usb3 location, rotation, side, class and type - 54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type - 71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 84.375,62.25,90,"top","gpio","header_40", // gpio location, rotation, side, class and type - .2,101,270,"top","plug","uart_micro", // uart location, rotation, side, class and type - 21,88,120,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type - 61,118,0,"top","plug","audio_micro", // micro location, rotation, side, class and type - 7.2,108.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type - 20,0,0,"bottom","usb2","micro", // usb2 otg location, rotation, side, class and type - 35.85,117,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type - 33.5,103,0,"top","memory","emmc", // emmc location, rotation, side, class and type - 22.4,118.58,180,"top","misc","ir_1", // ir location, rotation, side, class and type - 73.73,111.5,180,"top","audio","jack_3.5", // audio jack location, rotation, side, class and type - 0,88.2,270,"top","plug","small_encl_satapwr", // pwrplug location, rotation, side, class and type - .25,72,270,"top","storage","sata_header", // sata location, rotation, side, class and type - 50,115.65,0,"top","button","momentary_6x6x4", // spi button location, rotation, side, class and type - 7,101,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - 7,103.5,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - 3.5,35.87,270,"top","storage","m.2_header", // m2 socket location, rotation, side, class and type - 36.28,73,0,"bottom","ic","ic_16x10", // memory bottom size, location, rotation and side - 75.75,25,0,"top","ic","ic_5x5", // ic bottom size, location, rotation and side - 50.5,109.22,0,"top","ic","ic_5x5", // ic bottom size, location, rotation and side - 58,72,0,"top","video","mipi_csi", // mipi csi size, location, rotation and side - 65,93,0,"top","video","mipi_dsi", // mipi dsi size, location, rotation and side - .5,0,0,"top","heatsink","m1_oem", // heatsink location, rotation, side, class and type - 86.5,47,0,"top","storage","m.2_stud"], // m2 stud location, rotation, side, class and type - - ["h2",110,110,2,3.5,38,11, // sbc model, pcb size and component height - 3.81,17.78,3.5,3.81,106.19,3.5, // pcb holes 1 and 2 location and pcb hole size - 106.04,24.77,3.5,106.04,106.2,3.5, // pcb holes 3 and 4 location and pcb hole size - 20.17,43.82,3,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 32,40,2.5,82,40,2.5, // pcb holes 7 and 8 location and pcb hole size - 32,75,2.5,82,75,2.5, // pcb holes 9 and 10 location and pcb hole size - 25,24,1.344,45.29,48.95,0,0,"top", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 88.72,58.04,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type - 86.87,43.84,0,"top","-memory","emmc", // emmc location, rotation, side, class and type - 9.34,103.43,0,"top","button","momentary_6x6x4", // power button location, rotation, side, class and type - 20.77,103.43,0,"top","button","momentary_6x6x4", // reset button location, rotation, side, class and type - 1.27,76.76,90,"top","gpio","header_20", // gpio location, rotation, side, class and type - 1.98,-1.73,0,"top","plug","pwr5.5_10x10", // pwrplug location, rotation, side, class and type - 20.49,-.71,0,"top","combo","rj45-usb2_double", // rj45 and double usb2 ports location, rotation, side class and type - 45.26,-.71,0,"top","combo","rj45-usb3_double", // rj45 and double usb3 ports location, rotation, side class and type - 68.81,-.57,0,"top","video","dp-hdmi_a", // display port and hdmi location, rotation, side, class and type - 95.25,-1.37,0,"top","audio","out-in-spdif", // audio out, in and spdif location, rotation, side, class and type - 103.11,65.85,270,"top","storage","sata_encl_header", // sata location, rotation, side, class and type - 103.11,83.62,270,"top","storage","sata_encl_header", // sata location, rotation, side, class and type - 103,38.74,90,"top","plug","small_encl_satapwr", // sata power connector location, rotation, side, class and type - 103,52.07,90,"top","plug","small_encl_satapwr", // sata power connector location, rotation, side, class and type - 105.43,28.59,90,"top","plug","rtc_micro", // rtc location, rotation, side, class and type - 0,49.94,270,"top","fan","encl_pmw", // fan pwm connector location, rotation, side, class and type - 93.15,23.94,0,"top","ic","ic_6.75x6.75", // audio 6.75mm location, rotation, side, class and type - 17.97,53.53,0,"top","ic","ic_4.7x4.7", // ic 4.7mm location, rotation, side, class and type - 8.74,15.24,0,"top","ic","ic_6.7x8.4", // ic 6.7x8.4xmm location, rotation, side, class and type - 10.76,97.37,0,"bottom","ic","ic_7x7", // ic 7mm location, rotation, side, class and type - 29.08,30.99,0,"bottom","ic","ic_2.8x2.8", // ic 2.8mm location, rotation, side, class and type - 53.21,30.99,0,"bottom","ic","ic_2.8x2.8", // ic 2.8mm location, rotation, side, class and type - 96.32,32.87,270,"bottom","storage","m.2_header", // m2 socket location, rotation, side, class and type - 21.98,82.05,0,"bottom","memory","sodimm_5.2", // sodimm socket location, rotation, side, class and type - 21.98,98.6,0,"bottom","memory","sodimm_9.2", // sodimm socket location, rotation, side, class and type - 32,40,0,"top","heatsink","h2_oem"], // heatsink location, rotation, side, class and type + ["rockpro64",127,79.5,2,3.5,17,8, // sbc model, pcb size and component height + 4.5,4.25,3.25,4.5,75.25,3.25, // pcb holes 1 and 2 location and pcb hole size + 122.5,4.25,3.25,122.5,75.25,3.25, // pcb holes 3 and 4 location and pcb hole size + 45.5,67.4,3.25,87,25.6,3.25, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 21,21,1.5,48,47.3,0,45,"top", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + -1.5,12,90,"top","plug","pwr5.5_7.5x11.5", // component, location, rotation, side, class and type + -1.5, 32, 90, "top", "network", "rj45_single", // rj45 ethernet port + -1.5, 52.4, 90, "top", "video", "hdmi_a", // hdmi port + 114.4, 9.8, 270, "top", "audio", "jack_3.5", // audio jack + 118, 19.5, 270, "top", "button", "momentary_6x6x4_90", // Power button + 118, 28.5, 270, "top", "button", "momentary_6x6x4_90", // Reset button + 112, 38.7, 270, "top", "usb2", "double_stacked_a", // USB-2 stack + 112, 55, 270, "top", "usb3", "double_stacked_a", // USB-3 / USB-C stack + 13.6, 73.4, 0, "top", "button", "momentary_4x2x1", // recover button + 42.6, 73.4, 0, "top", "gpio", "header_40", // gpio + 43.5, 0, 0, "top", "pcie", "x4", // pcie x4 port + 98.9, 14.7, 0, "top", "memory", "emmc_plug", // mmc port + 97.2, 0, 0, "bottom", "storage", "sdcard", // micro sdcard + 94.6, 73.4, 0, "top", "jst_ph", 2, // fan header + 101.4, 73.4, 0, "top", "jst_ph", 3, // SPDIF header + 110.3, 73.4, 0, "top", "jst_ph", 2, // rtc header + 10.6, 13.2, 270, "top", "jst_ph", 4], // sata dc out - ["hc4",90.6,84,1.6,9,15,13, // sbc model, pcb size and component height - 4,5.5,3.5,4,58.5,3.5, // pcb holes 1 and 2 location and pcb hole size - 86.5,6,3.5,87,78.5,3.5, // pcb holes 3 and 4 location and pcb hole size - 87,15.5,3.5,16.91,44.52,3, // pcb holes 5 and 6 location and pcb hole size - 68.09,64.53,3,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 14.5,14.5,1.25,45.86,46,0,0,"bottom", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 19.2,2,0,"top","storage","sdcard", // sdcard location, rotation, side, class and type - 7.3,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type - 36,-1,0,"top","usb2","single_vert_a", // usb2 location, rotation, side, class and type - 67,-1,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 84.7,38.55,270,"top","plug","uart_micro", // uart location, rotation, side, class and type - 75.3,79.45,180,"top","misc","ir_1", // ir location, rotation, side, class and type - 85.25,53,90,"top","jumper","header_5x1", // jumper location, rotation, side, class and type - 34.65,74.85,0,"bottom","button","momentary_6x6x4", // boot button location, rotation, side, class and type - 10,80.70,0,"bottom","fan","encl_pmw_h", // fan pwm connector location, rotation, side, class and type - 47.38,-1,0,"bottom","video","hdmi_a", // hdmi location, rotation, side, class and type - 25.05,28.85,0,"top","storage","sata_power_vrec", // sata location, rotation, side, class and type - 25.05,69.55,0,"top","storage","sata_power_vrec", // sata location, rotation, side, class and type - 25.87,38.45,0,"top","ic","ic_13x9", // memory bottom size, location, rotation and side - 25.87,56.46,0,"top","ic","ic_13x9", // memory bottom size, location, rotation and side - 25.87,38.45,0,"bottom","ic","ic_13x9", // memory bottom size, location, rotation and side - 25.87,56.46,0,"bottom","ic","ic_13x9", // memory bottom size, location, rotation and side - 78.78,27.6,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type - 53.63,32.67,0,"bottom","ic","ic_7x7", // pcie bridge location, rotation, side, class and type - 10,59.53,0,"bottom","heatsink","hc4_oem"], // heatsink location, rotation, side, class and type + ["atomicpi",130.44,99.9,1.63,3,14,8, // sbc model, pcb size and component height + 4.22,3.95,3,126.22,3.95,3, // pcb holes 1 and 2 location and pcb hole size + 126.22,95.95,3,4.22,95.95,3, // pcb holes 3 and 4 location and pcb hole size + 64.67,95.95,3,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,"","",""], // component, location, rotation, side, class and type - ["show2",83,48,1,3.5,7,3, // sbc model, pcb size and component height - 3.5,3.5,3.5,3.5,44.5,3.5, // pcb holes 1 and 2 location and pcb hole size - 79.5,3.5,3.5,79.5,44.5,3.5, // pcb holes 3 and 4 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 8,8,1.25,8,20,0,0,"top", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 7.5,44,180,"top","usb2","micro", // usb2 otg location, rotation, side, class and type - 2,8.83,270,"top","jumper","header_6x1", // jumper location, rotation, side, class and type - 15.5,42,270,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - 2,35,0,"top","jumper","header_3x2", // jumper location, rotation, side, class and type - 2,25.5,270,"top","plug","rtc_micro", // battery location, rotation, side, class and type - 7.65,2,90,"top","switch","slide_4x9", // switch location, rotation, side, class and type - 21.4,2,0,"top","button","momentary_6x6x4", // power button location, rotation, side, class and type - 29.8,3,0,"top","misc","led_3x1.5", // led location, rotation, side, class and type - 34,3,0,"top","misc","led_3x1.5", // led location, rotation, side, class and type - 38.2,3,0,"top","misc","led_3x1.5", // led location, rotation, side, class and type - 46.6,1,180,"top","button","momentary_4x2x1", // momentary button location, rotation, side, class and type - 55.2,1,180,"top","button","momentary_4x2x1", // momentary button location, rotation, side, class and type - 63.8,1,180,"top","button","momentary_4x2x1", // momentary button location, rotation, side, class and type - 19,9,0,"top","misc","lcd_2.2"], // lcd location, rotation, side, class and type - - // RasberryPi 3B+, 3B, 3A+, 2, 1B+ - ["rpi3b+",85.6,56.5,1,3,16,6, // sbc model, pcb size and component height - 3.5,3.5,2.75,3.5,52.5,2.75, // pcb holes 1 and 2 location and pcb hole size - 61.5,3.5,2.75,61.5,52.5,2.75, // pcb holes 3 and 4 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 14,14,1.5,19.975,24.525,0,0,"top", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 0,0,0,"","",""], // component location, rotation, side, class and type - - // Pine64 SBCs - ["a64",127,79,1.6,3.5,0,0, // sbc model, pcb size and component height - 4.5,4,3.3,122.5,4,3.3, // pcb holes 1 and 2 location and pcb hole size - 4.5,75,3.3,122.5,75,3.3, // pcb holes 3 and 4 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 0,0,0,"","",""], // component, location, rotation, side, class and type - - ["rock64",85,56,1.6,3.5,14.8,1.7, // sbc model, pcb size and component height - 3.5,3.5,2.8,3.5,52.5,2.8, // pcb holes 1 and 2 location and pcb hole size - 61.5,3.5,2.8,61.5,52.5,2.8, // pcb holes 3 and 4 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 0,0,0,"","",""], // component, location, rotation, side, class and type - - ["rockpro64",127,79.5,2,3.5,17,8, // sbc model, pcb size and component height - 4.5,4.25,3.25,4.5,75.25,3.25, // pcb holes 1 and 2 location and pcb hole size - 122.5,4.25,3.25,122.5,75.25,3.25, // pcb holes 3 and 4 location and pcb hole size - 45.5,67.4,3.25,87,25.6,3.25, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 21,21,1.5,48,47.3,0,45,"top", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - -1.5,12,90,"top","plug","pwr5.5_7.5x11.5", // component, location, rotation, side, class and type - -1.5, 32, 90, "top", "network", "rj45_single", // rj45 ethernet port - -1.5, 52.4, 90, "top", "video", "hdmi_a", // hdmi port - 114.4, 9.8, 270, "top", "audio", "jack_3.5", // audio jack - 118, 19.5, 270, "top", "button", "momentary_6x6x4_90", // Power button - 118, 28.5, 270, "top", "button", "momentary_6x6x4_90", // Reset button - 112, 38.7, 270, "top", "usb2", "double_stacked_a", // USB-2 stack - 112, 55, 270, "top", "usb3", "double_stacked_a", // USB-3 / USB-C stack - 13.6, 73.4, 0, "top", "button", "momentary_4x2x1", // recover button - 42.6, 73.4, 0, "top", "gpio", "header_40", // gpio - 43.5, 0, 0, "top", "pcie", "x4", // pcie x4 port - 98.9, 14.7, 0, "top", "memory", "emmc_plug", // mmc port - 97.2, 0, 0, "bottom", "storage", "sdcard", // micro sdcard - 94.6, 73.4, 0, "top", "jst_ph", 2, // fan header - 101.4, 73.4, 0, "top", "jst_ph", 3, // SPDIF header - 110.3, 73.4, 0, "top", "jst_ph", 2, // rtc header - 10.6, 13.2, 270, "top", "jst_ph", 4], // sata dc out - - ["atomicpi",130.44,99.9,1.63,3,14,8, // sbc model, pcb size and component height - 4.22,3.95,3,126.22,3.95,3, // pcb holes 1 and 2 location and pcb hole size - 126.22,95.95,3,4.22,95.95,3, // pcb holes 3 and 4 location and pcb hole size - 64.67,95.95,3,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 0,0,0,"","",""], // component, location, rotation, side, class and type - - ["jetsonnano",100,80,1.63,.2,27,3, // sbc model, pcb size and component height - 4,17,3,4,75,3, // pcb holes 1 and 2 location and pcb hole size - 90,17,3,90,75,3, // pcb holes 3 and 4 location and pcb hole size - 16,75,3,80,75,3, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 2,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type - 14,-1,0,"top","video","dp-hdmi_a", // hdmi location, rotation, side, class and type - 36,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 53,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type - 68.5,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type - 88,-1,0,"top","usb2","micro", // otg location, rotation, side, class and type - 29,53,0,"top","ic","ic_9x9", // hub size, location, rotation and side - 2,36,90,"top","video","mipi_csi", // mipi_csi location, rotation, side, class and type - 72,45,90,"top","storage","m.2_header", // m.2 header location, rotation, side, class and type - 44,57,0,"top","storage","m.2_stud", // m.2 stud location, rotation, side, class and type - 11.5,30,180,"top","cm_holder","jetsonnano", // cm holder location, rotation, side, class and type - 13,33,0,"top","cm","jetsonnano", // cm location, rotation, side, class and type - 87.5,20,90,"top","gpio","header_40", // gpio location, rotation, side, class and type - 72,24,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - 77,24,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - .5,30,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - .5,68.25,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - .5,65.5,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - .5,62.75,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - .5,60,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - 93,72.5,90,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - 95.75,72.5,90,"top","jumper","header_2x1", // jumper location, rotation, side, class and type - 8,62,90,"top","jumper","header_6x1"], // jumper location, rotation, side, class and type + ["jetsonnano",100,80,1.63,.2,27,3, // sbc model, pcb size and component height + 4,17,3,4,75,3, // pcb holes 1 and 2 location and pcb hole size + 90,17,3,90,75,3, // pcb holes 3 and 4 location and pcb hole size + 16,75,3,80,75,3, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 2,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type + 14,-1,0,"top","video","dp-hdmi_a", // hdmi location, rotation, side, class and type + 36,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 53,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type + 68.5,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type + 88,-1,0,"top","usb2","micro", // otg location, rotation, side, class and type + 29,53,0,"top","ic","ic_9x9", // hub size, location, rotation and side + 2,36,90,"top","video","mipi_csi", // mipi_csi location, rotation, side, class and type + 72,45,90,"top","storage","m.2_header", // m.2 header location, rotation, side, class and type + 44,57,0,"top","storage","m.2_stud", // m.2 stud location, rotation, side, class and type + 11.5,30,180,"top","cm_holder","jetsonnano", // cm holder location, rotation, side, class and type + 13,33,0,"top","cm","jetsonnano", // cm location, rotation, side, class and type + 87.5,20,90,"top","gpio","header_40", // gpio location, rotation, side, class and type + 72,24,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + 77,24,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + .5,30,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + .5,68.25,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + .5,65.5,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + .5,62.75,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + .5,60,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + 93,72.5,90,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + 95.75,72.5,90,"top","jumper","header_2x1", // jumper location, rotation, side, class and type + 8,62,90,"top","jumper","header_6x1"], // jumper location, rotation, side, class and type - ["test",127,79,1.6,3.5,17,6, // sbc model, pcb size and component height - 4.5,4,3.3,122.5,4,3.3, // pcb holes 1 and 2 location and pcb hole size - 4.5,75,3.3,122.5,75,3.3, // pcb holes 3 and 4 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size - 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size - 0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side - 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side - 10, -1.5, 0, "top", "video", "hdmi_a", // hdmi port - -1.5, 30, 90, "top", "video", "hdmi_a", // hdmi port - 10, 69, 180, "top", "video", "hdmi_a", // hdmi port - 117, 30, 270, "top", "video", "hdmi_a", // hdmi port - - 30, -1, 0, "top", "usb2", "micro", // usb2 micro port - -1, 10, 90, "top", "usb2", "micro", // usb2 micro port - 30, 75.5, 180, "top", "usb2", "micro", // usb2 micro port - 123.5, 10, 270, "top", "usb2", "micro", // usb2 micro port - -// 50, -1, 0, "top", "plug", "pwr5.5_7.5x11.5", // pwr5.5_7.5x11.5 -// -1, 2, 90, "top", "plug", "pwr5.5_7.5x11.5", // pwr5.5_7.5x11.5 -// 50, 69, 180, "top", "plug", "pwr5.5_7.5x11.5", // pwr5.5_7.5x11.5 -// 116.5, 2, 270, "top", "plug", "pwr5.5_7.5x11.5", // pwr5.5_7.5x11.5 - -// 50, -1, 0, "top", "plug", "pwr2.5_5x7.5", // pwr5.5_7.5x11.5 -// -1, 2, 90, "top", "plug", "pwr2.5_5x7.5", // pwr5.5_7.5x11.5 -// 50, 72.5, 180, "top", "plug", "pwr2.5_5x7.5", // pwr5.5_7.5x11.5 -// 120.5, 2, 270, "top", "plug", "pwr2.5_5x7.5", // pwr5.5_7.5x11.5 - -// 50, -1, 0, "top", "plug", "pwr5.5_10x10", // pwr5.5_10x10 -// -1, 2, 90, "top", "plug", "pwr5.5_10x10", // pwr5.5_10x10 -// 50, 67, 180, "top", "plug", "pwr5.5_10x10", // pwr5.5_10x10 -// 114.5, 2, 270, "top", "plug", "pwr5.5_10x10", // pwr5.5_10x10 - -// 60, -1, 0, "top", "network", "rj45_single", // rj45_single -// -1, 47, 90, "top", "network", "rj45_single", // rj45_single -// 60, 59, 180, "top", "network", "rj45_single", // rj45_single -// 107, 50, 270, "top", "network", "rj45_single", // rj45_single - -// 80, -1, 0, "top", "usb2", "double_stacked_a", // double_stacked_a -// -1, 47, 90, "top", "usb2", "double_stacked_a", // double_stacked_a -// 80, 63, 180, "top", "usb2", "double_stacked_a", // double_stacked_a -// 110.5, 50, 270, "top", "usb2", "double_stacked_a", // double_stacked_a - - 100, -1, 0, "top", "usb2", "single_vert_a", // single_vert_a - -1, 67, 90, "top", "usb2", "single_vert_a", // single_vert_a - 60, 61, 180, "top", "usb2", "single_vert_a", // single_vert_a - 108.5, 67, 270, "top", "usb2", "single_vert_a", // single_vert_a - - 0,0,0,"","",""] // component, location, rotation, side, class and type + ["test",127,79,1.6,3.5,17,6, // sbc model, pcb size and component height + 4.5,4,3.3,122.5,4,3.3, // pcb holes 1 and 2 location and pcb hole size + 4.5,75,3.3,122.5,75,3.3, // pcb holes 3 and 4 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size + 0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size + 0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side + 0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side + 0,0,0,"","",""] // component, location, rotation, side, class and type ]; diff --git a/lib/sbc_models.scad b/lib/sbc_models.scad index 1ab8278..ea6ff6f 100755 --- a/lib/sbc_models.scad +++ b/lib/sbc_models.scad @@ -1,7 +1,6 @@ /* - SBC Models Copyright 2016,2017,2018,2019,2020 Edward A. Kisiel - hominoid @ www.forum.odroid.com - + SBC Models Copyright 2016,2017,2018,2019,2020,2021,2022 Edward A. Kisiel hominoid@cablemi.com + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -28,6 +27,8 @@ 20201021 Version 1.0.4 Added HK Odroid-HC4 as "hc4" 20220202 Version 1.0.5 Added HK Show2 as "show2" 20220413 Version 1.0.6 Added Odroid-M1 as "m1" + + see https://github.com/hominoids/SBC_Case_Builder USE: sbc(model) model = "c1+","c2","c4","xu4","xu4q","mc1","hc1","hc4","n1","n2","n2+","h2" diff --git a/sbc_case_builder.cfg b/sbc_case_builder.cfg index c36dd06..1f1a7fe 100644 --- a/sbc_case_builder.cfg +++ b/sbc_case_builder.cfg @@ -1,6 +1,5 @@ /* - SBC Case Builder Copyright 2022 Edward A. Kisiel - hominoid @ www.forum.odroid.com + SBC Case Builder Copyright 2022 Edward A. Kisiel hominoid@cablemi.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,8 +25,9 @@ 20220320 Version 1.2.1 added cases c1+_shell_boombox, c1+_panel_boombox, c1+_tray_boombox, c2_shell_boombox, c2_panel_boombox, c2_deskboom_lcd3.5, c2_tray_boombox, c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boombox - 20220406 Version 1.2.2 various case adjustments + 20220406 Version 1.2.2 various case adjustments + see https://github.com/hominoids/SBC_Case_Builder */ /* Instructions: All measurements from lower left corner of PCB to lower left @@ -1388,7 +1388,40 @@ case_data = [ [6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff [6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff [6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff - "sub","rectangle",17.5,36,28.5,"top",[0,0,0],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening + "sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening + + ["jetsonnano_panel","jetsonnano","panel","none", // case_name, sbc_model, case_design, case_style + 0,0,0,0,0,-5,3, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz, + 2,2,2,1.5,[3,0], // wallthick,floorthick,sidethick,gap,fillet + false,false,false,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs + false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode + [6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff + [6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff + [6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff + [6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff + "sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening + + ["jetsonnano_stacked","jetsonnano","stacked","none", // case_name, sbc_model, case_design, case_style + 0,0,0,0,0,-5,3, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz, + 2,2,2,1.5,[3,0], // wallthick,floorthick,sidethick,gap,fillet + false,false,true,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs + false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode + [6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff + [6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff + [6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff + [6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff + "sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,4,0,0,"",[1,1,1,1]], // sub heatsink opening + + ["jetsonnano_tray","jetsonnano","tray","none", // case_name, sbc_model, case_design, case_style + 0,0,0,0,0,-5,3, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz, + 2,2,2,1.5,[3,0], // wallthick,floorthick,sidethick,gap,fillet + false,false,false,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs + false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode + [6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff + [6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff + [6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff + [6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff + "sub","rectangle",17.5,36.375,28.5,"top",[0,0,0],62,43,8,0,0,"",[1,1,1,1]], // sub heatsink opening ["rockpro64_shell","rockpro64","shell","none", // case_name, sbc_model, case_design, case_style 0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz, @@ -1399,9 +1432,46 @@ case_data = [ [6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff [6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff [6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff + "sub","fan",43,26,25,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening + "sub","rectangle",43,0,25,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening + + ["rockpro64_panel","rockpro64","panel","none", // case_name, sbc_model, case_design, case_style + 0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz, + 2,2,2,1.5,[3,3], // wallthick,floorthick,sidethick,gap,fillet + false,false,false,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs + false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode + [6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff + [6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff + [6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff + [6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff + "sub","fan",43,26,24,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening "sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening - + ["rockpro64_stacked","rockpro64","stacked","none", // case_name, sbc_model, case_design, case_style + 0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz, + 2,2,2,1.5,[3,3], // wallthick,floorthick,sidethick,gap,fillet + false,true,true,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs + false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode + [6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff + [6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff + [6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff + [6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff + "sub","fan",43,26,24,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening + "sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,6,0,0,"",[1,1,1,1]], // sub pcie opening + + ["rockpro64_tray","rockpro64","tray","none", // case_name, sbc_model, case_design, case_style + 0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz, + 2,2,2,1.5,[3,3], // wallthick,floorthick,sidethick,gap,fillet + false,true,false,true,true, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs + false,"vent","fan","vent","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode + [6.75,15,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff + [6.75,11.4,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff + [6.75,15,2.5,10,4,4,0,1,1,4.5,5.1], // top_ext_standoff + [6.75,11.4,3.6,10,4,2,0,0,0,4.5,5.1], // bottom_ext_standoff + "sub","fan",43,26,25,"top",[0,0,0],40,0,6,2,0,"",0, // sub fan opening + "sub","rectangle",43,0,24.5,"top",[0,0,0],40,10,8,0,0,"",[1,1,1,1]], // sub pcie opening + + ["test","test","shell","none", // case_name, sbc_model, case_design, case_style 0,0,0,0,0,0,0, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz, 2,2,3,2,[3.5,3], // wallthick,floorthick,sidethick,gap,fillet diff --git a/sbc_case_builder.scad b/sbc_case_builder.scad index 7f5950d..0fb3183 100644 --- a/sbc_case_builder.scad +++ b/sbc_case_builder.scad @@ -1,6 +1,5 @@ /* - SBC Case Builder Copyright 2022 Edward A. Kisiel - hominoid @ www.forum.odroid.com + SBC Case Builder Copyright 2022 Edward A. Kisiel hominoid@cablemi.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,6 +32,7 @@ enabled pcb_z, added tabs and fixed tray case top, other fixes and maintenance 20220406 Version 1.2.2 added vu7c, vu8m and weatherboard2 models, other additions, fixes and maintenance + see https://github.com/hominoids/SBC_Case_Builder */ use <./lib/sbc_models.scad>; @@ -41,7 +41,7 @@ use <./lib/fillets.scad>; include <./lib/sbc_models.cfg>; include <./sbc_case_builder.cfg>; -case_name = "rockpro64_shell"; // case_name to load from sbc_case_builder.cfg +case_name = "rockpro64_shell"; // case_name to load from sbc_case_builder.cfg view = "model"; // viewing mode "platter", "model", "debug" highlight = false; // enable highlight for subtarctive geometry (true or false) diff --git a/sbc_case_builder_library.scad b/sbc_case_builder_library.scad index 6e48327..61c7a5e 100644 --- a/sbc_case_builder_library.scad +++ b/sbc_case_builder_library.scad @@ -1,5 +1,5 @@ /* - SBC Case Builder Library Copyright 2022 Edward A. Kisiel, hominoid @ www.forum.odroid.com + SBC Case Builder Library Copyright 2022 Edward A. Kisiel hominoid@cablemi.com Contributions: hk_vu8m(brackets),u_bracket(),screw(),m1_hdmount() Copyright 2022 Tomek Szczęsny, mctom @ www.forum.odroid.com @@ -41,11 +41,12 @@ embelished boom_speaker(), changed boom_speaker_holder(style, tolerance), added boom_speaker_strap(), adjusted access_port(), access_cover(), added @mctom's hk_vu8m(bracket), u_bracket(), spacer() 2022xxxx version 1.2.x removed spacer(); added screw(); modified hk_vu8m(); added m1_hdmount(); added hdd35_25holder(length) + + see https://github.com/hominoids/SBC_Case_Builder place(x,y,z,size_x,size_y,rotation,side) add(type,loc_x,loc_y,loc_z,size_x,size_y,size_z,rotation,face,side,case_z,data_1,data_2,data_3,data_4) sub(type,loc_x,loc_y,loc_z,size_x,size_y,size_z,rotation,face,side,case_z,data_1,data_2,data_3,data_4) - art(scale_d1,type,size_z) screw(screw[d, l, style]) slab(size, radius) @@ -110,7 +111,6 @@ mask(loc_x,loc_y,rotation,side,class,type,case_z,wallthick,gap,floorthick,pcb_z) punchout(width,depth,gap,thick,fillet,shape) - */ use <./lib/fillets.scad>; @@ -2541,42 +2541,70 @@ module mask(loc_x,loc_y,loc_z,rotation,side,class,type,wallthick,gap,floorthick, } // emmc storage if(type == "emmc" && side == "bottom" && rotation == 0) { - place(loc_x-.5,loc_y,floorthick+adjust,14.5,19,rotation,side) - cube([14.5,19,floorthick+(2*adjust)]); + place(loc_x-.5,loc_y-.5,floorthick+adjust,14.5,19.5,rotation,side) + cube([14.5,19.5,floorthick+(2*adjust)]); } if(type == "emmc" && side == "bottom" && rotation == 90) { - place(loc_x,loc_y-.5,floorthick+adjust,14.5,19,rotation,side) - cube([14.5,19,floorthick+(2*adjust)]); + place(loc_x-.5,loc_y-.5,floorthick+adjust,14.5,19.5,rotation,side) + cube([14.5,19.5,floorthick+(2*adjust)]); + } + if(type == "emmc" && side == "bottom" && rotation == 180) { + place(loc_x-.5,loc_y-.5,floorthick+adjust,14.5,19.5,rotation,side) + cube([14.5,19.5,floorthick+(2*adjust)]); + } + if(type == "emmc" && side == "bottom" && rotation == 270) { + place(loc_x-.5,loc_y-.5,floorthick+adjust,14.5,19.5,rotation,side) + cube([14.5,19.5,floorthick+(2*adjust)]); } // sd storage if(type == "sdcard" && side == "bottom" && rotation == 0) { - place(loc_x,loc_y,loc_z,12,15.5,rotation,side) + place(loc_x,loc_y-5,loc_z,12,15.5,rotation,side) translate([-1,-10,3.5]) cube([13,15.5,2]); } if(type == "sdcard" && side == "bottom" && rotation == 90) { - place(loc_x+(2*(wallthick+gap+adjust)),loc_y,loc_z-2.75,12,15.5,rotation,side) + place(loc_x+5,loc_y,loc_z-2.75,12,15.5,rotation,side) cube([12,15.5,2]); } if(type == "sdcard" && side == "bottom" && rotation == 180) { - place(loc_x,loc_y+(2*(wallthick+gap+adjust)),loc_z-2.75,12,15.5,rotation,side) + place(loc_x,loc_y+5,loc_z-2.75,12,15.5,rotation,side) cube([12,15.5,2]); } - if(type == "sdcard_i" && side == "bottom" && rotation == 180) { - place(loc_x,loc_y+(2*(wallthick+gap+adjust)),floorthick+adjust+4,12,18.5,rotation,side) - cube([12,18.5,floorthick+(2*adjust)+4]); - } if(type == "sdcard" && side == "bottom" && rotation == 270) { - place(loc_x,loc_y,loc_z,12,15.5,rotation,side) + place(loc_x+5,loc_y,loc_z,12,15.5,rotation,side) translate([0,-18,2.75]) cube([12,15.5,2]); } if(type == "sdcard" && side == "top" && rotation == 0) { - place(loc_x,loc_y-17,loc_z,12,15.5,rotation,side) + place(loc_x,loc_y-15,loc_z,12,15.5,rotation,side) + translate([0,0,1.75]) cube([12,15.5,2]); + } + if(type == "sdcard" && side == "top" && rotation == 90) { + place(loc_x-15,loc_y-.5,loc_z,12,15.5,rotation,side) translate([0,0,1.75]) cube([12,15.5,2]); } if(type == "sdcard" && side == "top" && rotation == 180) { - place(loc_x,loc_y+4,loc_z,12,15.5,rotation,side) + place(loc_x-.5,loc_y+5,loc_z,12,15.5,rotation,side) translate([0,0,1.75]) cube([12,15.5,2]); } + if(type == "sdcard" && side == "top" && rotation == 270) { + place(loc_x+5,loc_y,loc_z,12,15.5,rotation,side) + translate([0,0,1.75]) cube([12,15.5,2]); + } + if(type == "sdcard_i" && side == "bottom" && rotation == 0) { + place(loc_x,loc_y-18.5,floorthick+adjust+4,12,18.5,rotation,side) + cube([12,18.5,floorthick+(2*adjust)+4]); + } + if(type == "sdcard_i" && side == "bottom" && rotation == 90) { + place(loc_x+5.5,loc_y-.25,floorthick+adjust+4,12,18.5,rotation,side) + cube([12,18.5,floorthick+(2*adjust)+4]); + } + if(type == "sdcard_i" && side == "bottom" && rotation == 180) { + place(loc_x,loc_y+5.5,floorthick+adjust+4,12,18.5,rotation,side) + cube([12,18.5,floorthick+(2*adjust)+4]); + } + if(type == "sdcard_i" && side == "bottom" && rotation == 270) { + place(loc_x-18.5,loc_y-.25,floorthick+adjust+4,12,18.5,rotation,side) + cube([12,18.5,floorthick+(2*adjust)+4]); + } // rj45 opening if(type == "rj45_single" && rotation == 0) { place(loc_x,loc_y-6,loc_z,16,17.5,rotation,side) @@ -2629,61 +2657,185 @@ module mask(loc_x,loc_y,loc_z,rotation,side,class,type,wallthick,gap,floorthick, cube([6.5,8,15]); } // ir opening - if(type == "ir_1") { + if(type == "ir_1" && rotation == 0) { place(loc_x,loc_y,loc_z,6,6,rotation,side) - translate([2.5,wallthick+gap,7.5]) rotate([90,0,0]) cylinder(d=6, h=9); + translate([3.5,2,7.5]) rotate([90,0,0]) cylinder(d=6, h=9); + } + if(type == "ir_1" && rotation == 90) { + place(loc_x,loc_y,loc_z,6,6,rotation,side) + translate([2.5,2,7.5]) rotate([90,0,0]) cylinder(d=6, h=9); + } + if(type == "ir_1" && rotation == 180) { + place(loc_x,loc_y,loc_z,6,6,rotation,side) + translate([2.5,5,7.5]) rotate([90,0,0]) cylinder(d=6, h=9); + } + if(type == "ir_1" && rotation == 270) { + place(loc_x,loc_y,loc_z,6,6,rotation,side) + translate([3.375,5,7.5]) rotate([90,0,0]) cylinder(d=6, h=9); } // switch opening if(type == "slide_4x9" && rotation == 0) { - place(loc_x+(wallthick+gap+adjust),loc_y,loc_z,4,9.1,rotation,side) - translate([0,0,.5]) cube([15.75,9.1,4]); + place(loc_x,loc_y,loc_z,4,9,rotation,side) + translate([0,-6,.25]) cube([9,8,4]); + } + if(type == "slide_4x9" && rotation == 90) { + place(loc_x,loc_y,loc_z,4,9,rotation,side) + translate([-5,-6,.25]) cube([9,8,4]); + } + if(type == "slide_4x9" && rotation == 180) { + place(loc_x,loc_y,loc_z,4,9,rotation,side) + translate([-5,-.5,.25]) cube([9,8,4]); } if(type == "slide_4x9" && rotation == 270) { - place(loc_x,loc_y,loc_z,4,9.1,rotation,side) - translate([0,0,.5]) cube([15.75,9.1,4]); + place(loc_x,loc_y,loc_z,4,9,rotation,side) + translate([0,-.75,.25]) cube([9,8,4]); } // rj45-usb2_double opening if(type == "rj45-usb2_double" && rotation == 0) { - place(loc_x,loc_y-2*(wallthick+gap)-adjust,loc_z,19,28,rotation,side) - cube([19,28,31]); + place(loc_x,loc_y-6,loc_z,19,28,rotation,side) + cube([19,8,31]); + } + if(type == "rj45-usb2_double" && rotation == 90) { + place(loc_x-6,loc_y,loc_z,19,28,rotation,side) + cube([19,8,31]); + } + if(type == "rj45-usb2_double" && rotation == 180) { + place(loc_x,loc_y+6,loc_z,19,28,rotation,side) + cube([19,8,31]); + } + if(type == "rj45-usb2_double" && rotation == 270) { + place(loc_x+6,loc_y,loc_z,19,28,rotation,side) + cube([19,8,31]); } // rj45-usb3_double opening if(type == "rj45-usb3_double" && rotation == 0) { - place(loc_x,loc_y-2*(wallthick+gap)-adjust,loc_z,19.5,28,rotation,side) - cube([19.5,28,31]); + place(loc_x-.25,loc_y-6,loc_z,19.5,28,rotation,side) + cube([19.5,8,31.25]); + } + if(type == "rj45-usb3_double" && rotation == 90) { + place(loc_x-6,loc_y-.25,loc_z,19.5,28,rotation,side) + cube([19.5,8,31.25]); + } + if(type == "rj45-usb3_double" && rotation == 180) { + place(loc_x+.25,loc_y+6,loc_z,19.5,28,rotation,side) + cube([19.5,8,31.25]); + } + if(type == "rj45-usb3_double" && rotation == 270) { + place(loc_x+6,loc_y-.25,loc_z,19.5,28,rotation,side) + cube([19.5,8,31.25]); } // out-in-spdif opening if(type == "out-in-spdif" && rotation == 0) { - place(loc_x,loc_y-2*(wallthick+gap)-adjust,loc_z,13,21.65,rotation,side) - cube([13,21.65,35.5]); + place(loc_x-.1,loc_y-6,loc_z,13,21.65,rotation,side) + cube([13,8,35.5]); + } + if(type == "out-in-spdif" && rotation == 90) { + place(loc_x-6,loc_y-.1,loc_z,13,21.65,rotation,side) + cube([13,8,35.5]); + } + if(type == "out-in-spdif" && rotation == 180) { + place(loc_x-.2,loc_y+6,loc_z,13,21.65,rotation,side) + cube([13,8,35.5]); + } + if(type == "out-in-spdif" && rotation == 270) { + place(loc_x+6,loc_y-.1,loc_z,13,21.65,rotation,side) + cube([13,8,35.5]); } // dp-hdmi_a opening if(type == "dp-hdmi_a" && rotation == 0) { - place(loc_x-.5,loc_y-2*(wallthick+gap)-adjust,loc_z,19,18,rotation,side) - cube([19,18,19]); + place(loc_x-.5,loc_y-6,loc_z,19,18,rotation,side) + cube([19,8,19.25]); + } + if(type == "dp-hdmi_a" && rotation == 90) { + place(loc_x-6,loc_y-.5,loc_z,19,18,rotation,side) + cube([19,8,19.25]); + } + if(type == "dp-hdmi_a" && rotation == 180) { + place(loc_x-.5,loc_y+6,loc_z,19,18,rotation,side) + cube([19,8,19.25]); + } + if(type == "dp-hdmi_a" && rotation == 270) { + place(loc_x+6,loc_y-.5,loc_z,19,18,rotation,side) + cube([19,8,19.25]); } // sata_encl_power opening if(type == "sata_encl_power" && rotation == 0) { place(loc_x,loc_y,loc_z,38.5,7.5,rotation,side) - translate([1,9.5+adjust,3]) rotate([90,0,0]) slot(7.5,38.5,wallthick+2*adjust); + translate([1,14,3]) rotate([90,0,0]) slot(7.5,38.5,10); + } + if(type == "sata_encl_power" && rotation == 90) { + place(loc_x,loc_y,loc_z,38.5,7.5,rotation,side) + translate([-1,14,3]) rotate([90,0,0]) slot(7.5,38.5,10); + } + if(type == "sata_encl_power" && rotation == 180) { + place(loc_x,loc_y,loc_z,38.5,7.5,rotation,side) + translate([-1,8,3]) rotate([90,0,0]) slot(7.5,38.5,10); + } + if(type == "sata_encl_power" && rotation == 270) { + place(loc_x,loc_y,loc_z,38.5,7.5,rotation,side) + translate([1,8,3]) rotate([90,0,0]) slot(7.5,38.5,10); } // audio jack opening + if(type == "jack_3.5" && rotation == 0) { + place(loc_x,loc_y,loc_z,7.5,7.5,rotation,side) + union() { + translate([3.25,2,2]) rotate([90,0,0]) cylinder(d=5, h=8); + translate([-.5,-.5,0]) cube([7.5,2.5,4.5]); + } + } + if(type == "jack_3.5" && rotation == 90) { + place(loc_x,loc_y,loc_z,7.5,7.5,rotation,side) + union() { + translate([4.1,2,2]) rotate([90,0,0]) cylinder(d=5, h=8); + translate([.5,-.5,0]) cube([7.5,2.5,4.5]); + } + } if(type == "jack_3.5" && rotation == 180) { - place(loc_x,loc_y+wallthick+gap,loc_z,7.5,7.5,rotation,side) - translate([4,0,2.25]) rotate([90,0,0]) cylinder(d=5, h=9); + place(loc_x,loc_y,loc_z,7.5,7.5,rotation,side) + union() { + translate([4.1,-2.5,2]) rotate([90,0,0]) cylinder(d=5, h=8); + translate([.5,-5,0]) cube([7.5,2.5,4.5]); + } } if(type == "jack_3.5" && rotation == 270) { - place(loc_x,loc_y+wallthick+gap,loc_z,5,5,rotation,side) - translate([-.5,-6,2]) rotate([90,0,0]) cylinder(d=5, h=9); + place(loc_x,loc_y,loc_z,7.5,7.5,rotation,side) + union() { + translate([3,-2.5,2]) rotate([90,0,0]) cylinder(d=5, h=8); + translate([-.5,-5,0]) cube([7.5,2.5,4.5]); + } } // button opening if(type == "momentary_6x6x4") { place(loc_x,loc_y,loc_z,6,6,rotation,side) - translate([3,3,5]) rotate([0,0,0]) cylinder(d=5, h=50); + translate([3,3,4]) rotate([0,0,0]) cylinder(d=5, h=50); + } + if(type == "momentary_6x6x4_90" && rotation == 0) { + place(loc_x,loc_y,loc_z,6,6,rotation,side) + union() { + translate([3,-2.5,3]) rotate([90,0,0]) cylinder(d=5, h=8); + translate([-.5,-3.75,0]) cube([7,2.5,6.5]); + } + } + if(type == "momentary_6x6x4_90" && rotation == 90) { + place(loc_x,loc_y,loc_z,6,6,rotation,side) + union() { + translate([3,-2.5,3]) rotate([90,0,0]) cylinder(d=5, h=8); + translate([-.5,-3.75,0]) cube([7,2.5,6.5]); + } + } + if(type == "momentary_6x6x4_90" && rotation == 180) { + place(loc_x,loc_y,loc_z,6,6,rotation,side) + union() { + translate([3,-2.5,3]) rotate([90,0,0]) cylinder(d=5, h=8); + translate([-.5,-3.75,0]) cube([7,2.5,6.5]); + } } if(type == "momentary_6x6x4_90" && rotation == 270) { place(loc_x,loc_y,loc_z,6,6,rotation,side) - translate([3,-3,3]) rotate([90,0,0]) cylinder(d=5, h=10); + union() { + translate([3,-2.5,3]) rotate([90,0,0]) cylinder(d=5, h=8); + translate([-.5,-3.75,0]) cube([7,2.5,6.5]); + } } }