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.
|
License: GPLv3.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
### Notes
|
### Notes
|
||||||
|
|
||||||
More information can be found at this [Hard Kernel forum thread](https://forum.odroid.com/viewtopic.php?f=53&t=43948)
|
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