initial commit of remaining parts of sbccb
This commit is contained in:
@@ -8,6 +8,8 @@ to automatically generate cases based on the data for any given SBC contained wi
|
||||
|
||||
License: GPLv3.
|
||||
|
||||

|
||||
|
||||
### Notes
|
||||
|
||||
More information can be found at this [Hard Kernel forum thread](https://forum.odroid.com/viewtopic.php?f=53&t=43948)
|
||||
|
||||
BIN
SBC_Case_Builder_Cases.gif
Normal file
BIN
SBC_Case_Builder_Cases.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
11828
dxf/customart.dxf
Normal file
11828
dxf/customart.dxf
Normal file
File diff suppressed because it is too large
Load Diff
11828
dxf/customfan.dxf
Normal file
11828
dxf/customfan.dxf
Normal file
File diff suppressed because it is too large
Load Diff
7690
dxf/hk-network-card.dxf
Normal file
7690
dxf/hk-network-card.dxf
Normal file
File diff suppressed because it is too large
Load Diff
3524
dxf/hk_25mm.dxf
Normal file
3524
dxf/hk_25mm.dxf
Normal file
File diff suppressed because it is too large
Load Diff
3524
dxf/hk_50mm.dxf
Normal file
3524
dxf/hk_50mm.dxf
Normal file
File diff suppressed because it is too large
Load Diff
11828
dxf/odroid.dxf
Normal file
11828
dxf/odroid.dxf
Normal file
File diff suppressed because it is too large
Load Diff
62638
lib/Odroid-H2_Heatsink.stl
Normal file
62638
lib/Odroid-H2_Heatsink.stl
Normal file
File diff suppressed because it is too large
Load Diff
23956
lib/Odroid-N2+_Heatsink.stl
Normal file
23956
lib/Odroid-N2+_Heatsink.stl
Normal file
File diff suppressed because it is too large
Load Diff
BIN
lib/Odroid-N2_Heatsink.stl
Normal file
BIN
lib/Odroid-N2_Heatsink.stl
Normal file
Binary file not shown.
221
lib/fillets.scad
Normal file
221
lib/fillets.scad
Normal file
@@ -0,0 +1,221 @@
|
||||
// Stephanie Shaltes
|
||||
// https://github.com/StephS/i2_xends/blob/master/inc/fillets.scad
|
||||
//
|
||||
// 20200329 Additional maintenance and debug by hominoid @ www.forum.odroid.com
|
||||
|
||||
function poly_sides_r(r) = (max(round(4 * r),3)+1);
|
||||
|
||||
// 2d primitive for outside fillets.
|
||||
module fillet_2d_o(fillet_r, fillet_angle=90, fillet_fn=90) {
|
||||
add=0.01;
|
||||
f_fn=(fillet_fn>0) ? fillet_fn*4 : (ceil(poly_sides_r(fillet_r)/4)*4);
|
||||
if (fillet_r>0) {
|
||||
intersection() {
|
||||
circle(r=fillet_r, $fn=f_fn);
|
||||
polygon([
|
||||
[0-add, 0-add],
|
||||
[0-add, fillet_r],
|
||||
[fillet_r * tan(fillet_angle/2), fillet_r],
|
||||
[fillet_r * sin(fillet_angle), fillet_r * cos(fillet_angle)-add]
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 2d primitive for inside fillets.
|
||||
module fillet_2d_i(fillet_r, fillet_angle=90, fillet_fn=90) {
|
||||
add=0.01;
|
||||
f_fn=(fillet_fn>0) ? fillet_fn*4 : (ceil(poly_sides_r(fillet_r)/4)*4);
|
||||
if (fillet_r>0) {
|
||||
translate([fillet_r * tan(fillet_angle/2), fillet_r, 0])
|
||||
difference() {
|
||||
polygon([
|
||||
[0, 0],
|
||||
[0, -fillet_r-add],
|
||||
[-fillet_r * tan(fillet_angle/2)-add, -fillet_r-add],
|
||||
[-fillet_r * sin(fillet_angle)-add, -fillet_r * cos(fillet_angle)]
|
||||
]);
|
||||
circle(r=fillet_r, $fn=f_fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 3d rotated outside fillet.
|
||||
module fillet_polar_o(inner_r, fillet_r, fillet_angle=90, fillet_fn=90, rotate_fn=0) {
|
||||
if (fillet_r>0) {
|
||||
rotate_extrude(convexity=8, $fn=rotate_fn) {
|
||||
translate([inner_r, 0, 0]) {
|
||||
fillet_2d_o(fillet_r, fillet_angle, fillet_fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 3d rotated inside fillet.
|
||||
module fillet_polar_i(inner_r, fillet_r, fillet_angle=90, fillet_fn=90, rotate_fn=0) {
|
||||
if (fillet_r>0) {
|
||||
rotate_extrude(convexity=8, $fn=rotate_fn) {
|
||||
translate([inner_r, 0, 0]) {
|
||||
fillet_2d_i(fillet_r, fillet_angle, fillet_fn); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 3d rotated inside fillet negative.
|
||||
module fillet_polar_i_n(outer_r, fillet_r, fillet_angle=90, fillet_fn=90, rotate_fn=0) {
|
||||
if (fillet_r>0) {
|
||||
rotate_extrude(convexity=8, $fn=rotate_fn) {
|
||||
translate([outer_r, 0, 0]) {
|
||||
rotate(90) fillet_2d_i(fillet_r, fillet_angle, fillet_fn); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 3d linear outside fillet.
|
||||
module fillet_linear_o(l, fillet_r, fillet_angle=90, fillet_fn=90, add=0.02) {
|
||||
if (fillet_r>0) {
|
||||
translate([0,0,-add/2])
|
||||
linear_extrude(height=l+add, center=false) {
|
||||
fillet_2d_o(fillet_r, fillet_angle, fillet_fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 3d linear inside fillet.
|
||||
module fillet_linear_i(l, fillet_r, fillet_angle=90, fillet_fn=90, add=0.02) {
|
||||
if (fillet_r>0) {
|
||||
translate([0,0,-add/2])
|
||||
linear_extrude(height=l+add, center=false) {
|
||||
fillet_2d_i(fillet_r, fillet_angle, fillet_fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module cube_negative_fillet(size, radius=-1, vertical=[3,3,3,3], top=[0,0,0,0], bottom=[0,0,0,0], $fn=90, vertical_fn=[0,0,0,0], top_fn=[0,0,0,0], bottom_fn=[0,0,0,0]){
|
||||
|
||||
vertical_fn= ($fn>0) ? [$fn,$fn,$fn,$fn] : vertical_fn;
|
||||
top_fn= ($fn>0) ? [$fn,$fn,$fn,$fn] : top_fn;
|
||||
bottom_fn= ($fn>0) ? [$fn,$fn,$fn,$fn] : bottom_fn;
|
||||
|
||||
|
||||
j=[1,0,1,0];
|
||||
|
||||
for (i=[0:3]) {
|
||||
if (radius > -1) {
|
||||
rotate([0, 0, 90*i]) translate([size[1-j[i]]/2, size[j[i]]/2, 0]) translate([0, 0, -size[2]/2]) rotate([0,0,180]) fillet_linear_i(l=size[2], fillet_r=radius, fillet_angle=90, fillet_fn=$fn); //fillet(radius, size[2], $fn=$fn);
|
||||
} else {
|
||||
rotate([0, 0, 90*i]) translate([size[1-j[i]]/2, size[j[i]]/2, 0]) translate([0, 0, -size[2]/2]) rotate([0,0,180]) fillet_linear_i(l=size[2], fillet_r=vertical[i], fillet_angle=90, fillet_fn=vertical_fn[i]); //fillet(vertical[i], size[2], $fn=$fn);
|
||||
}
|
||||
rotate([90*i, -90, 0]) translate([size[2]/2, size[j[i]]/2, 0 ]) translate([0, 0, -size[1-j[(i)]]/2]) rotate([0,0,180]) fillet_linear_i(l=size[1-j[(i)]], fillet_r=top[(i)], fillet_angle=90, fillet_fn=top_fn[i]); // fillet(top[i], size[1-j[i]], $fn=$fn);
|
||||
rotate([90*(4-i), 90, 0]) translate([size[2]/2, size[j[i]]/2, 0]) translate([0, 0, -size[1-j[(i)]]/2]) rotate([0,0,180]) fillet_linear_i(l=size[1-j[(i)]], fillet_r=bottom[(i)], fillet_angle=90, fillet_fn=bottom_fn[i]); //fillet(bottom[i], size[1-j[i]], $fn=$fn);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
module cube_positive_fillet(size, radius=-1, vertical=[0,0,0,0], top=[0,0,0,0], bottom=[0,0,0,0], vertical_angle=[90,90,90,90], top_angle=[90,90,90,90], bottom_angle=[90,90,90,90], vertical_flip=[0,0,0,0], top_flip=[0,0,0,0], bottom_flip=[0,0,0,0], $fn=0){
|
||||
|
||||
j=[1,0,1,0];
|
||||
|
||||
for (i=[0:3]) {
|
||||
if (radius > -1) {
|
||||
rotate([0, 0, 90*i]) translate([size[1-j[i]]/2, size[j[i]]/2, 0]) translate([0, 0, -size[2]/2]) rotate([0,0,90]) fillet_linear_i(l=size[2], fillet_r=radius, fillet_angle=90, fillet_fn=$fn); //fillet(radius, size[2], $fn=$fn);
|
||||
} else {
|
||||
rotate([0, 0, 90*i]) translate([size[1-j[i]]/2, size[j[i]]/2, 0]) translate([0, 0, -size[2]/2]) rotate([0,0,180-vertical_angle[i]+(90+vertical_angle[i])*vertical_flip[i]]) fillet_linear_i(l=size[2], fillet_r=vertical[i], fillet_angle=vertical_angle[i], fillet_fn=$fn); //fillet(vertical[i], size[2], $fn=$fn);
|
||||
}
|
||||
rotate([90*i, -90, 0]) translate([size[2]/2, size[j[i]]/2, 0 ]) translate([0, 0, -size[1-j[(i)]]/2]) rotate([0,0,(180-top_angle[i])+(90+top_angle[i])*top_flip[i]]) fillet_linear_i(l=size[1-j[(i)]], fillet_r=top[(i)], fillet_angle=180-top_angle[i], fillet_fn=$fn); // fillet(top[i], size[1-j[i]], $fn=$fn);
|
||||
rotate([90*(4-i), 90, 0]) translate([size[2]/2, size[j[i]]/2, 0]) translate([0, 0, -size[1-j[(i)]]/2]) rotate([0,0,180-bottom_angle[i]+(90+bottom_angle[i])*bottom_flip[i]]) fillet_linear_i(l=size[1-j[(i)]], fillet_r=bottom[(i)], fillet_angle=bottom_angle[i], fillet_fn=$fn); //fillet(bottom[i], size[1-j[i]], $fn=$fn);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
module cube_positive_fillet_corners(size, radius=-1, vertical=[0,0,0,0], top=[0,0,0,0], bottom=[0,0,0,0], vertical_angle=[90,90,90,90], top_angle=[90,90,90,90], bottom_angle=[90,90,90,90], vertical_flip=[0,0,0,0], top_flip=[0,0,0,0], bottom_flip=[0,0,0,0], $fn=90){
|
||||
|
||||
j=[1,0,1,0];
|
||||
|
||||
//bottom
|
||||
for (i=[0:3]) {
|
||||
render(convexity=4) intersection() {
|
||||
/*
|
||||
if (radius > -1) {
|
||||
rotate([0, 0, 90*i]) translate([size[1-j[i]]/2, size[j[i]]/2, 0]) translate([0, 0, -size[2]/2-radius]) rotate([0,0,90]) fillet_linear_i(l=size[2]+radius*2, r=radius, fillet_angle=90, fillet_fn=$fn); //fillet(radius, size[2], $fn=$fn);
|
||||
} else {
|
||||
rotate([0, 0, 90*i]) translate([size[1-j[i]]/2, size[j[i]]/2, 0]) translate([0, 0, -size[2]/2-vertical[i]]) rotate([0,0,180-vertical_angle[i]+(90+vertical_angle[i])*vertical_flip[i]]) fillet_linear_i(l=size[2]+vertical[i]*2, r=vertical[i], fillet_angle=vertical_angle[i], fillet_fn=$fn); //fillet(vertical[i], size[2], $fn=$fn);
|
||||
}
|
||||
*/
|
||||
rotate([90*(4-i), 90, 0]) translate([size[2]/2, size[j[i]]/2, 0]) translate([0, 0, -size[1-j[(i)]]/2-bottom[(i)]]) rotate([0,0,180-bottom_angle[i]+(90+bottom_angle[i])*bottom_flip[i]]) fillet_linear_i(l=size[1-j[(i)]]+bottom[(i)]*4, fillet_r=bottom[(i)], fillet_angle=bottom_angle[i], fillet_fn=$fn); //fillet(bottom[i], size[1-j[i]], $fn=$fn);
|
||||
rotate([90*(4-((i+1)%4)), 90, 0]) translate([size[2]/2, size[j[((i+1)%4)]]/2, 0]) translate([0, 0, -size[1-j[((i+1)%4)]]/2-bottom[((i+1)%4)]]) rotate([0,0,180-bottom_angle[((i+1)%4)]+(90+bottom_angle[((i+1)%4)])*bottom_flip[((i+1)%4)]]) fillet_linear_i(l=size[1-j[(((i+1)%4))]]+bottom[(((i+1)%4))]*4, fillet_r=bottom[(((i+1)%4))], fillet_angle=bottom_angle[((i+1)%4)], fillet_fn=$fn); //fillet(bottom[i], size[1-j[i]], $fn=$fn);
|
||||
}
|
||||
}
|
||||
|
||||
// top
|
||||
for (i=[0:3]) {
|
||||
render(convexity=4) intersection() {
|
||||
rotate([90*i, -90, 0]) translate([size[2]/2, size[j[i]]/2, 0 ]) translate([0, 0, -size[1-j[(i)]]/2-top[(i)]]) rotate([0,0,(180-top_angle[i])+(90+top_angle[i])*top_flip[i]]) fillet_linear_i(l=size[1-j[(i)]]+top[(i)]*4, fillet_r=top[(i)], fillet_angle=180-top_angle[i], fillet_fn=$fn); // fillet(top[i], size[1-j[i]], $fn=$fn);
|
||||
rotate([90*((i+1)%4), -90, 0]) translate([size[2]/2, size[j[((i+1)%4)]]/2, 0 ]) translate([0, 0, -size[1-j[(((i+1)%4))]]/2-top[(((i+1)%4))]]) rotate([0,0,(180-top_angle[((i+1)%4)])+(90+top_angle[((i+1)%4)])*top_flip[((i+1)%4)]]) fillet_linear_i(l=size[1-j[(((i+1)%4))]]+top[(((i+1)%4))]*4, fillet_r=top[(((i+1)%4))], fillet_angle=180-top_angle[((i+1)%4)], fillet_fn=$fn); // fillet(top[i], size[1-j[i]], $fn=$fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module cube_fillet_inside(size, radius=-1, vertical=[0,0,0,0], top=[0,0,0,0], bottom=[0,0,0,0], $fn=90, vertical_fn=[0,0,0,0], top_fn=[0,0,0,0], bottom_fn=[0,0,0,0]){
|
||||
//makes CENTERED cube with round corners
|
||||
// if you give it radius, it will fillet vertical corners.
|
||||
//othervise use vertical, top, bottom arrays
|
||||
//when viewed from top, it starts in upper right corner (+x,+y quadrant) , goes counterclockwise
|
||||
//top/bottom fillet starts in direction of Y axis and goes CCW too
|
||||
|
||||
if (radius == 0) {
|
||||
cube(size, center=true);
|
||||
} else {
|
||||
difference() {
|
||||
cube(size, center=true);
|
||||
cube_negative_fillet(size, radius, vertical, top, bottom, $fn, vertical_fn, top_fn, bottom_fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module cylinder_fillet_inside(h=10, r=10, top=3, bottom=3, $fn=0, fillet_fn=90, center=false) {
|
||||
c_fn=($fn>0) ? $fn : poly_sides_r(r);
|
||||
rotfix=(($fn>0) ? 0 : 180/c_fn);
|
||||
cent=(center) ? -h/2 : 0;
|
||||
// echo (c_fn);
|
||||
translate([0,0,cent])
|
||||
difference() {
|
||||
cylinder(h=h,r=r,$fn=c_fn);
|
||||
rotate ([0,0,rotfix]) {
|
||||
fillet_polar_i_n(outer_r=r, fillet_r=bottom,
|
||||
fillet_angle=90, fillet_fn=fillet_fn, rotate_fn=c_fn);
|
||||
translate([0,0,h]) mirror ([0,0,1])
|
||||
fillet_polar_i_n(outer_r=r, fillet_r=top,
|
||||
fillet_angle=90, fillet_fn=fillet_fn, rotate_fn=c_fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module cylinder_fillet_outside(h=10, r=10, top=3, bottom=3, $fn=0, fillet_fn=90, center=false) {
|
||||
c_fn=($fn>0) ? $fn : poly_sides_r(r);
|
||||
rotfix=(($fn>0) ? 0 : 180/c_fn);
|
||||
cent=(center) ? -h/2 : 0;
|
||||
// echo (c_fn);
|
||||
translate([0,0,cent]) {
|
||||
cylinder(h=h,r=r,$fn=c_fn);
|
||||
rotate ([0,0,rotfix]) {
|
||||
fillet_polar_i(inner_r=r, fillet_r=bottom, fillet_angle=90,
|
||||
fillet_fn=fillet_fn, rotate_fn=c_fn);
|
||||
translate([0,0,h]) mirror ([0,0,1])
|
||||
fillet_polar_i(inner_r=r, fillet_r=top, fillet_angle=90,
|
||||
fillet_fn=fillet_fn, rotate_fn=c_fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//cube([20,20,20], center=true);
|
||||
//cube_positive_fillet_corners([20,20,20], radius=-1, vertical=[0,0,0,0], top=[3,3,3,3], bottom=[3,3,3,3], top_angle=[90,90,90,90], top_flip=[0,0,0,0], $fn=10);
|
||||
//cube_positive_fillet([20,20,20], radius=-1, vertical=[0,0,0,0], top=[3,3,3,3], bottom=[3,3,3,3], top_angle=[90,90,90,90], top_flip=[0,0,0,0], $fn=10);
|
||||
|
||||
//translate([-12,23,0]) cube_fillet_inside([20,20,20], vertical=[0,0,0,0], top=[3,3,3,3], bottom=[3,3,3,3], $fn=10);
|
||||
|
||||
//translate([23,-12,0]) cylinder_fillet_inside(h=20, r=10, top=3, bottom=3, $fn=0, fillet_fn=10, center=true);
|
||||
|
||||
//translate([0,0,23]) cylinder_fillet_outside(h=20, r=10, top=3, bottom=3, $fn=0, fillet_fn=10, center=true);
|
||||
|
||||
1482
lib/sbc_library.scad
Normal file
1482
lib/sbc_library.scad
Normal file
File diff suppressed because it is too large
Load Diff
586
lib/sbc_models.cfg
Normal file
586
lib/sbc_models.cfg
Normal file
@@ -0,0 +1,586 @@
|
||||
/*
|
||||
SBC Data Library Copyright 2018,2019,2020 Edward A. Kisiel
|
||||
hominoid @ www.forum.odroid.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
|
||||
(at your option) any later version.
|
||||
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
Code released under GPLv3: http://www.gnu.org/licenses/gpl.html
|
||||
|
||||
20190214 Version 1.0.0 sbc data set models "xu4","c2","n1","mc1","hc1","c1+","h2","rpi3b+","a64","rock64","rockpro64"
|
||||
20190218 Version 1.0.1 Added HK Odroid N2 as "n2"
|
||||
20200425 Version 1.0.2 Added AtomicPi as "atomicpi"
|
||||
Updated Odroid n2 sbc data
|
||||
Added Nvidia Jetson Nano as "jetsonnano"
|
||||
Updated Odroid h2 sbc data
|
||||
Added Odroid-C4 as "c4"
|
||||
Added Odroid-XU4Q as "xu4q"
|
||||
20200725 Version 1.03 Added Odroid-N2+ as "n2+"
|
||||
20201021 Version 1.04 Added Odroid-HC4 as "hc4"
|
||||
20220202 Version 1.05 Added HK Show2
|
||||
Updated Odroid-HC4 sbc data
|
||||
raised C4 hdmi, updated Odroid-XU4Q, add type sdcard_i, adjusted C2 usb
|
||||
20220406 Version 1.06 Added Odroid-M1 as m1, adjustments h2, c4 gpio
|
||||
|
||||
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.
|
||||
Bottom components measured from top left corner to top left corner
|
||||
of component or opening with the PCB rotated around the x axis.
|
||||
|
||||
schema:
|
||||
"model",pcbsize_x, pcbsize_y, pcbsize_z, pcbcorner_radius, topmax_component_z, bottommax_component_z
|
||||
pcb_hole1_x, pcb_hole1_y, pcb1_hole_size, pcb_hole2_x, pcb_hole2_y, pcb2_hole_size
|
||||
pcb_hole3_x, pcb_hole3_y, pcb3_hole_size, pcb_hole4_x, pcb_hole4_y, pcb4_hole_size
|
||||
pcb_hole5_x, pcb_hole5_y, pcb5_hole_size, pcb_hole6_x, pcb_hole6_y, pcb6_hole_size
|
||||
pcb_hole7_x, pcb_hole7_y, pcb7_hole_size, pcb_hole8_x, pcb_hole8_y, pcb8_hole_size
|
||||
pcb_hole9_x, pcb_hole9_y, pcb9_hole_size, pcb_hole10_x, pcb_hole10_y, pcb10_hole_size
|
||||
soc1size_x, soc1size_y, soc1size_z, soc1loc_x, soc1loc_y, soc1loc_z, soc1_rotation, "soc1_side",
|
||||
soc2size_x, soc2size_y, soc2size_z, soc2loc_x, soc2loc_y, soc2loc_z, soc2_rotation, "soc2_side",
|
||||
soc3size_x, soc3size_y, soc3size_z, soc3loc_x, soc3loc_y, soc3loc_z, soc3_rotation, "soc3_side",
|
||||
soc4size_x, soc4size_y, soc4size_z, soc4loc_x, soc4loc_y, soc4loc_z, soc4_rotation, "soc4_side",
|
||||
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
|
||||
switch - slide_4x9
|
||||
button - momentary_6x6x9, momentary_6x6x4
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
["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,1,"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
|
||||
|
||||
["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
|
||||
|
||||
["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
|
||||
|
||||
["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.46,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
|
||||
63.2,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
|
||||
|
||||
["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
|
||||
|
||||
["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,-90,"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
|
||||
|
||||
["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,-90,"top","jumper","header_6x1", // jumper location, rotation, side, class and type
|
||||
15.5,42,-90,"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 SBC's
|
||||
["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,0,0, // sbc model, pcb size and component height
|
||||
4.5,4.25,3.25,122.5,4.25,3.25, // pcb holes 1 and 2 location and pcb hole size
|
||||
4.5,75.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
|
||||
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
|
||||
|
||||
["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,19,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
|
||||
0,0,0,"","",""] // component, location, rotation, side, class and type
|
||||
];
|
||||
191
lib/sbc_models.scad
Normal file
191
lib/sbc_models.scad
Normal file
@@ -0,0 +1,191 @@
|
||||
/*
|
||||
SBC Models Copyright 2016,2017,2018,2019,2020 Edward A. Kisiel
|
||||
hominoid @ www.forum.odroid.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
|
||||
(at your option) any later version.
|
||||
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
Code released under GPLv3: http://www.gnu.org/licenses/gpl.html
|
||||
|
||||
20190214 Version 1.0.0 SBC Model Framework
|
||||
20190218 Version 1.0.1 Added HK Odroid n2 as "n2"
|
||||
20200425 Version 1.0.2 Added AtomicPi as "atomicpi"
|
||||
Added Nvidia JetsonNano as "jetsonnano"
|
||||
Updated Odroid n2 sbc data
|
||||
Updated Odroid h2 sbc data
|
||||
Added Odroid c4 as"c4"
|
||||
Added oem heatsinks
|
||||
Added Odroid xu4q as "xu4q"
|
||||
20200725 Version 1.0.3 Added Odroid n2+ and heatsink
|
||||
20201021 Version 1.0.4 Added HK Odroid hc4 as "hc4"
|
||||
20220202 Version 1.0.5 Added HK Show2 as "show2"
|
||||
|
||||
USE: sbc(model)
|
||||
model = "c1+","c2","c4","xu4","xu4q","mc1","hc1","hc4","n1","n2","n2+","h2"
|
||||
"rpi3b+","a64","rock64","rockpro64","atomicpi","jetsonnano","show2"
|
||||
|
||||
*/
|
||||
|
||||
include <./sbc_models.cfg>
|
||||
use <./sbc_library.scad>
|
||||
|
||||
module sbc(model) {
|
||||
sbc_model = [model];
|
||||
s = search(sbc_model,sbc_data);
|
||||
|
||||
$fn=60;
|
||||
|
||||
// pcb and holes
|
||||
// pcbsize_x, pcbsize_y, pcbsize_z, pcbcorner_radius, topmax_component_z, bottommax_component_z
|
||||
pcbsize_x = sbc_data[s[0]][1];
|
||||
pcbsize_y = sbc_data[s[0]][2];
|
||||
pcbsize_z = sbc_data[s[0]][3];
|
||||
pcbcorner_radius = sbc_data[s[0]][4];
|
||||
difference() {
|
||||
color("tan") pcb([pcbsize_x,pcbsize_y,pcbsize_z], pcbcorner_radius);
|
||||
// pcb mounting holes
|
||||
for (i=[7:3:36]) {
|
||||
pcb_hole_x = sbc_data[s[0]][i];
|
||||
pcb_hole_y = sbc_data[s[0]][i+1];
|
||||
pcb_hole_size = sbc_data[s[0]][i+2];
|
||||
|
||||
if (pcb_hole_x!=0 && pcb_hole_y!=0) {
|
||||
translate([pcb_hole_x,pcb_hole_y,-1])
|
||||
cylinder(d=pcb_hole_size, h=5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// soc placement
|
||||
// soc1size_x, soc1size_y, soc1size_z, soc1loc_x, soc1loc_y, soc1loc_z, soc1_rotation, "soc1_side"
|
||||
for (i=[37:8:68]) {
|
||||
soc1size_x = sbc_data[s[0]][i];
|
||||
soc1size_y = sbc_data[s[0]][i+1];
|
||||
soc1size_z = sbc_data[s[0]][i+2];
|
||||
soc1loc_x = sbc_data[s[0]][i+3];
|
||||
soc1loc_y = sbc_data[s[0]][i+4];
|
||||
soc1loc_z = sbc_data[s[0]][i+5];
|
||||
soc1_rotation = sbc_data[s[0]][i+6];
|
||||
soc1_side = sbc_data[s[0]][i+7];
|
||||
|
||||
if (soc1size_x!=0 && soc1size_y!=0) {
|
||||
if (soc1_side == "top" ) {
|
||||
color("dimgray",1)
|
||||
translate([soc1loc_x,soc1loc_y,pcbsize_z])
|
||||
rotate([0,0,-soc1_rotation])
|
||||
cube([soc1size_x,soc1size_y,soc1size_z]);
|
||||
}
|
||||
if (soc1_side == "bottom") {
|
||||
color("dimgray",1)
|
||||
translate([soc1loc_x,soc1loc_y,-pcbsize_z])
|
||||
rotate([0,0,soc1_rotation])
|
||||
cube([soc1size_x,soc1size_y,soc1size_z]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// component placement loc_x, loc_y, rotation, "side", "type"
|
||||
for (i=[69:6:len(sbc_data[s[0]])]) {
|
||||
loc_x = sbc_data[s[0]][i];
|
||||
loc_y = sbc_data[s[0]][i+1];
|
||||
rotation = sbc_data[s[0]][i+2];
|
||||
side = sbc_data[s[0]][i+3];
|
||||
class = sbc_data[s[0]][i+4];
|
||||
type = sbc_data[s[0]][i+5];
|
||||
|
||||
if (class == "memory") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
memory(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "switch") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
switch(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "button") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
button(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "plug") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
plug(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "usb2") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
usb2(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "usb3") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
usb3(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "network") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
network(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "video") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
video(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "fan") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
fan(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "gpio") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
gpio(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "audio") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
audio(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "storage") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
storage(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "combo") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
combo(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "jumper") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
jumper(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "ic") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
ic(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "misc") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
misc(loc_x,loc_y,rotation,side,type,pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "heatsink") {
|
||||
if (loc_x!=0 || loc_y!=0) {
|
||||
heatsink(loc_x,loc_y,rotation,side,type,pcbsize_z,sbc_data[s[0]][39]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1405
sbc_case_builder.cfg
Normal file
1405
sbc_case_builder.cfg
Normal file
File diff suppressed because it is too large
Load Diff
1736
sbc_case_builder.scad
Normal file
1736
sbc_case_builder.scad
Normal file
File diff suppressed because it is too large
Load Diff
163242
stl/Vu5_Case.stl
Normal file
163242
stl/Vu5_Case.stl
Normal file
File diff suppressed because it is too large
Load Diff
16746
stl/Vu5_Speaker_Bracket_Left.stl
Normal file
16746
stl/Vu5_Speaker_Bracket_Left.stl
Normal file
File diff suppressed because it is too large
Load Diff
16746
stl/Vu5_Speaker_Bracket_Right.stl
Normal file
16746
stl/Vu5_Speaker_Bracket_Right.stl
Normal file
File diff suppressed because it is too large
Load Diff
297838
stl/Vu5a_Case.stl
Normal file
297838
stl/Vu5a_Case.stl
Normal file
File diff suppressed because it is too large
Load Diff
187686
stl/Vu7_Case.stl
Normal file
187686
stl/Vu7_Case.stl
Normal file
File diff suppressed because it is too large
Load Diff
15990
stl/Vu7_Speaker_Bracket_Left.stl
Normal file
15990
stl/Vu7_Speaker_Bracket_Left.stl
Normal file
File diff suppressed because it is too large
Load Diff
15430
stl/Vu7_Speaker_Bracket_Right.stl
Normal file
15430
stl/Vu7_Speaker_Bracket_Right.stl
Normal file
File diff suppressed because it is too large
Load Diff
313658
stl/Vu7a_Case.stl
Normal file
313658
stl/Vu7a_Case.stl
Normal file
File diff suppressed because it is too large
Load Diff
7562
stl/Vu_Speaker_Bracket_Washer.stl
Normal file
7562
stl/Vu_Speaker_Bracket_Washer.stl
Normal file
File diff suppressed because it is too large
Load Diff
20
tolerance_check.scad
Normal file
20
tolerance_check.scad
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
/* find correct tolerance and use for respective entry's data_1 value within sbc_case_builder.cfg */
|
||||
|
||||
use <./sbc_case_builder_library.scad>;
|
||||
|
||||
battery_tolerance = 0;
|
||||
speaker_tolerance = 0;
|
||||
volume_tolerance = 0;
|
||||
|
||||
$fn = 90;
|
||||
|
||||
translate([-33,0,0]) batt_holder(battery_tolerance);
|
||||
difference() {
|
||||
translate([-17,-17,0]) cube([34,34,2]);
|
||||
translate([0,0,-1]) cylinder(d=24, h=4);
|
||||
}
|
||||
translate([0,0,1.99]) boom_speaker_holder("friction",speaker_tolerance);
|
||||
|
||||
translate([30,0,0]) boom_vring(volume_tolerance);
|
||||
|
||||
Reference in New Issue
Block a user