04/2026 updates
This commit is contained in:
1 parent
2b662fb655
commit
5dced2efe0
62 files changed
+300061
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.1 KiB |
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="140.00024mm"
|
||||
height="100.0001mm"
|
||||
viewBox="0 0 140.00024 100.0001"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xml:space="preserve"
|
||||
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
|
||||
sodipodi:docname="zimablade_hdd_support_profile.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="1.4378367"
|
||||
inkscape:cx="301.4946"
|
||||
inkscape:cy="173.52457"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="36"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" /><defs
|
||||
id="defs1" /><g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-42.597919,-94.507942)"><path
|
||||
id="rect5"
|
||||
style="fill:#ff00ff;stroke:none;stroke-width:0.614558;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:0"
|
||||
d="m 45.345555,94.507942 c -1.522227,0 -2.747636,1.225409 -2.747636,2.747636 V 191.7604 c 0,1.52223 1.225409,2.74764 2.747636,2.74764 h 7.25227 v -8.3938 c 0,-3.53069 2.842566,-6.37274 6.373255,-6.37274 H 166.225 c 3.53069,0 6.37274,2.84205 6.37274,6.37274 v 8.3938 h 7.25227 c 1.52222,0 2.74815,-1.22541 2.74815,-2.74764 V 97.255578 c 0,-1.522227 -1.22593,-2.747636 -2.74815,-2.747636 h -7.25227 v 19.503198 c 0,0.87619 -0.70511,1.5813 -1.5813,1.5813 H 54.179641 c -0.876189,0 -1.581816,-0.70511 -1.581816,-1.5813 V 94.507942 Z m 7.502384,44.084648 H 168.34787 c 1.2465,0 2.24999,1.00349 2.24999,2.24999 0,1.2465 -1.00349,2.24999 -2.24999,2.24999 H 52.847939 c -1.2465,0 -2.249992,-1.00349 -2.249992,-2.24999 0,-1.2465 1.003492,-2.24999 2.249992,-2.24999 z m 0,30.00024 H 168.34787 c 1.2465,0 2.24999,1.00349 2.24999,2.24999 0,1.2465 -1.00349,2.24999 -2.24999,2.24999 H 52.847939 c -1.2465,0 -2.249992,-1.00349 -2.249992,-2.24999 0,-1.2465 1.003492,-2.24999 2.249992,-2.24999 z" /><image
|
||||
width="100.21448"
|
||||
height="60"
|
||||
preserveAspectRatio="none"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAm8AAAF1CAYAAAC+kw3oAAAY6klEQVR4nO3dS6jc130H8HMtNYr8 SOVXHig2rUVJSkhwqZOWBMlkkVYbBbIIxF64tTbZyaumIEODKRY0XVW7UrDBC9tgQmm0qKGLYqst TRtoaAnJpgrEiDTxQ3bs2JKt69vzv5orX13dmfnP/B9zHp8PHMa6mTt27Jnf+c7vnPP/7w0AmdjY OL8WH26IY08cvzEZ++LYH8eNcdx09tnD/3HkgXPhxWfuaX7lzOFvnP3L+PjrON6O4504LsXx3mSs x/H+2trBjQCQibUAMKJJANsbrgSum+O4NQauJmn9ZhwH4rgtjtsnjx+djE/E8bG2f49t4W0Rv4jj 53H8cjJei+PVyePrcbwRg+C5+HghjrfClSB4WfADxia8Ab2ahLOb4rgzhrI/jI93x/HbcXw6jt8N V8LYoJYMb8tqgt6P4/hJHD+N42cx5P17fHw5jl8Ld0DfhDdgKTtC2tH4+Pk4jsRxKKzYyOFtnv+N 48U4/jOGuueDUAd0JLwBM8WQ1ixxNsubd8SQ9pWQUEibJrHwNs32UPdP8fGVON6Koe5yAJhBeAM2 xZDWHAJoAtqx+PjZOO6L44thSU2AmmeogJVJeJvl3+L4QRz/E4Pdmfj4Sgx16wEgCG9QrW1h7Zvx 8Wtx3BtGNlTIKiC87eaHcfx9DHN/G4Q5qJrwBpVIIaztJLx1IsxBpYQ3KFgMbAdiWDsREglrOwlv vdoKc6djkHs9AMUS3qAg27prJ+PjiZA44W1Qp2OQOxV05aA4whtkLMWl0EUIb6OxxAoFEd4gI7mH tZ2Et5UR5iBjwhskLga2fTGs/XkoIKztJLwlYyvM/VUMcpcCkLQbApCk5rBBDCDfi8HtYvzjY6Gw 4EZSmvfWY817rXnPNe+9ACRLeIOENF22OHn+TRwbcSJtboB+LMC4jjXvveY92LwXm/dkAJIivEEC dnTZkj8lSjVO6MZBeoQ3WJFJYNNlIwc7u3GCHKyQAwswosnhg+8E3bVNDixkr7mW3LcccoBxCW8w gsmdDp4KFXXX2tyYvg+7hTThbXRnYoh7yJ0dYBzCGwxEl211hLeV0o2DgQlv0LMau2ypEd6SoBsH AxHeoAe6bGkR3pKjGwc9Et6gg0loey7osiVFeEtW0437uhAH3QhvsAShLW3CW/KEOOhAeIMFCG3t OW1KC0IcLEF4gxaEtsWMFZ6m/X2Et+wIcbAAd1iAGSb3Gt26bZXgBsM4tu02XO6lCnMIb7ALoQ1W QoiDFoQ32EZogyQIcTCD8AZBaINECXGwC+GNqgltkAUhDrbZG6BCW6dH4xDYCrXKS5UwmK0Q53Qq VRPeqIrQVg+hqmhCHFWzbEo1LI9Cca4upwaoiPBG8Sb72jaC0AalOtZ8xu2HoxbCG8XacRgBKJxD DdRCeKNIlkihWpZSKZ4DCxRlciBBpy0BY532hCk2l1IPf+Pshx1ooDRuTE8xJt+0ddpwY3p2OhPf E18NUAjLpmTPgQRgDgcaKIrwRtYcSADasheOUghvZEm3DViSLhzZE97Ijm4b0JUuHDkT3siGbhvQ M104suS0KVlwkpQ2nn/nrs3HU8dfCCefuP/qz4/ufynAHE6kkg3XeSNprtvGLFthbdHnCXPswnXh yIZlU5JlbxvTNGGsbXAb4vcpl71w5EB4Izn2tjFLn6FLgGMKe+FImvBGUnTbmGaobpkuHNPowpEq 4Y1k6LYxzRjhSoBjimOT2gTJEN5YuW3LpHCdMUOVAMc0llFJifDGSlkmZZZVhCkBjmkso5IK4Y2V sUwKZMgyKivnIr2shOLHPEt0wM48/vDTX59co6t5f23Wt7jUdeDRJx98Kiz4RcG14JjnyAPnzKGs hDceoxPcaGOB8LY9tG25Gt6u/mDj/L4Y4p4LLUOc8EYbAhyr4E3HaNwtgbbaBrcY2qZdDf+68Lbd ySfub/UFQoCjDXdlYGz2vDEKBxPo24zg1saZAD1xkIGxCW8MzsEEFtGy63amS6fj1PEXWt2A3MlT FuAgA6MR3hiUYsYQYtftodBRfI1bA/RMzWMMwhuDcOFdhhS7bq+Hjvp4DdiNC/oyNOGN3tnfxsBO h/70+VpwlX1wDMlpU3ql20ZX8/aZNcudLbpmM0+bXn3SlWvAXZj1HCdO6crlROibzhu9EdwYQ5/L nZZOGYPaSN+ENzqzv40xNd2y0JM+XwtmsQ+OPglvdGJ/G2OLy5yPhZ70+Vowj31w9EV4Y2mu38aK nAj96fO1oA3Xg6Mz4Y2lKD6sUh/LnZZMWSU1lC6ENxam6LBqcbnzqdDRvFOmMDS1lGUJbyxEsWFo LS/NcazL5u+TT9zfat+Ry4QwNDWVZQhvtKbIkJLYObvYIcDZq0ky1FYW5cKBtKK4MLYFbgp/5vGH n/76jhvVX3eR3iboxcD3XGgZ3HTdGJuL+dKWNwpzCW6swgLhbcv2EHc1vE3uotDskVuo2ya8sQoC HG14kzCT4MYqLRHgNp06/kKzry0sS3BjlQQ45rHnjakEN4Dxqb3MI7yxK8WDFKyiA6brRgrUYGYR 3riOokFKxgxTghspUYuZRnjjGooFKRojVAlupEhNZjfCG1cpEqRsqHDVvK7gRsrUZnYS3tikOJCD voOW0EYu1Gi2E95QFMhO1xCn20aO1Gq27A1UTTEgZzsD2LTrwglqlKKp2a4DhzdAxQQ3ShUnt+b9 HaBUAlzdLJtWKk5s3wsAZEkNr5vwVqHmBt1hwfs8ApCUY5NaToWEtwqdffbwxQBA1tTyeglvlbHP DaAcanqdhLeK+JADlEdtr4/wVgmbWwHKpcbXRXirgAMKAMVzgKEiwlsFbGoFKJ9aXw/hrXD2QgDU Q82vg/BWMB9igPqo/eUT3gpl8ypAvcwBZXNj+gI1m1bPPnvYAQWq1tzfdAzuoUqiNg8wrK0dvBQo jvBWIJtWQaiCyVzgBvYFsmxaGHsdANhiTiiT8FYQH1IAdjI3lEd4K4QPJwDTOMBQFuGtAD6UAMzh DgwFEd4y59ZXALThMFs5hLfM+TAC0JYtNmUQ3jLmQwjAoswd+RPeMmWfGwDLMofkTXjLkH1uAHTk AEPGhLcM2ecGQFfmknwJb5nR6gagL+aUPAlvGbFcCkDPLJ9mSHjLiBY3AH0zt+RHeMuE1jYAQzHH 5EV4y4DlUgAGZvk0I8JbBrS0ARiauSYfwlvitLIBGIs5Jw/CW8IslwIwMsunGRDeEqaFDcDYzD3p E94SpXUNwKqYg9ImvCXIcikAK2b5NGHCW4K0rAFYNXNRuoS3xGhVA5AKc1KahLeEWC4FIDGWTxMk vCUktqifCwCQEHNTeoS3ROi6AZAo3bfECG+JsDEUgFSZo9IivCXAhlAAUmeuSofwtmKWSwHIhOXT RAhvK6YVDUAuzFlpEN5WSAsagNyYu1ZPeFsRy6UAZMry6YoJbyviujkA5MoctlrC2wrougGQOd23 FdobGJ1vLHDFkQfOha5efOaeAIxvMpd9NTA64W1kzTeV+IbXdaNoTShrG6q6hK8+wh+wtM3u29ra wUuBUVk2HZmuGwClMKethvA2InvdACiMvW8rILyNyDcUAEpjbhuf8DYSXTcACqX7NjLhbSS+mQBQ KnPcuIS3Eei6AVA43bcRCW8j8I0EgNKZ68YjvA1M1w2ASui+jUR4G5hvIgDUwpw3DuFtQLpuAFRG 920EwtuAfAMBoDbmvuG5t+lA3MOU2rnvKFTLPU8HJrwNxDcPatblZvMp/n2AxUzmwK8GBmHZdAD2 ugFQOXvfBiS8DUDXDYDamQuHI7z1TNcNADbpvg1EeOuZbxoAcIU5cRjCW4903QDgGrpvA3DatEfx G8Z3AjDqZUKcOIW0TebGRwK9Ed76dSIAm8YIVa4lB1lo5kbhrUeWTXsS28IHAgBwHXNkv4S3nsS2 8FMBALiOObJfwlsPHFQAgJkcXOiR8NYDBxUAYDZzZX8cWOiHgwqQmLEOMzjtCq05uNAT4a2jZhNm /DYRgLQIVZCeZs5cWzv4eqATy6YdxeD2WAAA5jJn9kN4686SKQC0Y87sgfDWgevWAMBizJ3dCW8d uG4NACzG3Nmd8LYk13YDgKW45ltHTpsuyfVqYLrmpKf7jgLTuFl9N8Lb8my6hBlcqgOYwTXfOrBs ugSbLQGgG3Pp8oS3JdhsCQDduObb8oS3BTmoAAC9sP1oScLbghxUAIB+WDpdjvC2ON8UAKAHtiEt R3hbgG8IANAr13xbgvC2AJsrAaBftiMtTnhbjCVTAOiXuXVBwltLlkwBYBjm2MUIby3Ftq5vBgAw AHPsYoS39r4WAIAhmGMXILy1ENu5e+LDvQEAGMK9k7mWFoS3du4IAMCQzLUtCW8txLX4kwEAGIy5 tj3hrR0bKQFgWObaloS3ORxfBoBxmHPbEd7mcHwZAMZhzm1HeJvP8WUAGIc5twXhbQaXCAGAUblk SAvC22yOLQPAuMy9cwhvM8S1928GAGA05t75hLfZrL0DwLjMvXMIb1PY7wYAK2Hf2xzC23TW3AFg NczBMwhvU1hzB4DVMAfPJrxNZ80dAFbDHDyD8LYL+90AYKXse5tBeNudtXYAWC1z8RTC2y7iWvvJ AACsjLl4OuFtd26MCLine truncated
|
||||
id="image1"
|
||||
x="62.490803"
|
||||
y="131.56284" /></g></svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,36 @@
|
||||
$fn=60;
|
||||
|
||||
include <BOSL2/std.scad>
|
||||
|
||||
// Dimesions of the CM4-IO board and enclosure
|
||||
CM4_WIDTH = 152; // mm
|
||||
CM4_HEIGHT = 70; // mm
|
||||
CM4_DEPTH = 36; // mm
|
||||
ENclosure_WIDTH = CM4_WIDTH + 8; // mm
|
||||
ENclosure_HEIGHT = CM4_HEIGHT + 10; // mm
|
||||
ENclosure_DEPTH = CM4_DEPTH + 20; // mm
|
||||
// CM4-IO placement and hole
|
||||
cm4_io_offset = CM4_HEIGHT/2 + 5; // offset from bottom of enclosure
|
||||
|
||||
// Enclosure dimensions and hole positions
|
||||
enclosure = rect_tube(size=[ENclosure_WIDTH,ENclosure_DEPTH], h=ENclosure_HEIGHT, wall=5);
|
||||
|
||||
holes = [
|
||||
[[10, 10], [CM4_WIDTH-36, 10]], // Front holes for CM4-IO pins
|
||||
[[2, ENclosure_HEIGHT - CM4_HEIGHT - 20], [ENclosure_WIDTH - 2, ENclosure_HEIGHT - CM4_HEIGHT - 20]] // Bottom hole for mounting
|
||||
];
|
||||
|
||||
for (i = holes) {
|
||||
translate(i[0][0], i[0][1], ENclosure_DEPTH - 5)
|
||||
hole(r=3, d=5);
|
||||
}
|
||||
|
||||
* cm4_io_placement = translate([cm4_io_offset,cm4_io_offset,0]) scale(1, -1, 1) rotate([0, 0, 90]) cm4_io;
|
||||
|
||||
// Add CM4-IO and enclosure to the final model
|
||||
difference() {
|
||||
enclosure;
|
||||
for (i = cm4_io_placement.convex_hull.vertices) {
|
||||
sphere(r=1, center=i);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
include <BOSL2/std.scad>
|
||||
|
||||
module jetson() {
|
||||
color("green", alpha=.5) cuboid([104,91,10], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
|
||||
}
|
||||
|
||||
*jetson();
|
||||
@@ -0,0 +1,36 @@
|
||||
$fn=60;
|
||||
|
||||
include <BOSL2/std.scad>
|
||||
include <boltsos_0.4.1/BOLTS.scad>
|
||||
|
||||
include <jetson_nano_board.scad>
|
||||
|
||||
mini_l=180;
|
||||
nano_l=105;
|
||||
nano_w=92;
|
||||
frame_e=3;
|
||||
p_height=15;
|
||||
|
||||
// holes_positions
|
||||
color("orange") {
|
||||
translate([-51.5,-45,-frame_e]) zcyl(l=7, d=20, anchor=BOTTOM);
|
||||
translate([-51.5,45,-frame_e]) zcyl(l=7, d=20, anchor=BOTTOM);
|
||||
translate([51.5,45,-frame_e]) zcyl(l=7, d=20, anchor=BOTTOM);
|
||||
translate([51.5,-45,-frame_e]) zcyl(l=7, d=20, anchor=BOTTOM);
|
||||
}
|
||||
|
||||
// base_plate
|
||||
difference() {
|
||||
union() {
|
||||
cuboid([mini_l,mini_l,frame_e], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT], anchor=[0,0,1]);
|
||||
cuboid([nano_l+8,nano_w+8,frame_e+5], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT], anchor=[0,0,-1]);
|
||||
}
|
||||
cuboid([nano_l,nano_w,p_height*2], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);;
|
||||
*cuboid([nano_l+2,nano_w+2,frame_e+1], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT], anchor=[0,0,-1]);
|
||||
*cuboid([nano_l-8,nano_w-8,frame_e*3], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
|
||||
*cuboid([nano_l+12,nano_w-20,p_height], anchor=[0,0,-1]);
|
||||
*cuboid([nano_l-20,nano_w+12,p_height], anchor=[0,0,-1]);
|
||||
}
|
||||
|
||||
|
||||
translate([0,0,10]) jetson();
|
||||
@@ -0,0 +1,59 @@
|
||||
$fn=60;
|
||||
|
||||
include <BOSL2/std.scad>
|
||||
include <nutsnbolts/cyl_head_bolt.scad>;
|
||||
|
||||
base_length=100;
|
||||
base_width=20;
|
||||
base_height=15;
|
||||
|
||||
module screw() {
|
||||
nutcatch_parallel("M3", clh=0.1);
|
||||
translate([0,0,23]) hole_through(name="M3", l=16, cld=0.1, h=10, hcld=0.4);
|
||||
*nutcatch_sidecut("M3", l=20, clk=0.1, clh=0.1, clsl=0.1);
|
||||
}
|
||||
|
||||
module pcie_mount() {
|
||||
difference() {
|
||||
union() {
|
||||
// Base
|
||||
cuboid([base_length,base_width,base_height], rounding=2, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT], anchor=TOP);
|
||||
translate([0,-10,-5]) cuboid([80,4,50], rounding=40, edges=[TOP+RIGHT,TOP+LEFT,], anchor=BOT+FRONT);
|
||||
// Front support
|
||||
*translate([-65,0,0]) cuboid([10,20,80.5], rounding=2, edges=[FWD+LEFT,BACK+LEFT, TOP+RIGHT], anchor=BOT+RIGHT);
|
||||
}
|
||||
// riser_screwholes
|
||||
translate([29,-8,-7.25]) rotate([0,-90,-90]) screw();
|
||||
translate([-29,-8,-7.25]) rotate([0,-90,-90]) screw();
|
||||
// cage_screwholes
|
||||
translate([0,-20,35]) rotate([0,-90,-90]) screw();
|
||||
translate([0,-20,5]) rotate([0,-90,-90]) screw();
|
||||
// riser_nest
|
||||
cuboid([68,2,base_height], rounding=-1, edges=[TOP+RIGHT,TOP+LEFT,TOP+BACK,TOP+FRONT], anchor=TOP+FRONT);
|
||||
translate([0,-3,0]) cuboid([44,14,base_height], rounding=-1, edges=[TOP+RIGHT,TOP+LEFT,TOP+FRONT], anchor=TOP+FRONT);
|
||||
}
|
||||
}
|
||||
|
||||
module riser() {
|
||||
difference() {
|
||||
union() {
|
||||
cuboid([67.45,1.65,14.25], rounding=1, edges=[TOP+RIGHT,TOP+LEFT,BOT+RIGHT,BOT+LEFT], anchor=TOP);
|
||||
cuboid([39,7.125,10.55], rounding=.5, anchor=BOT);
|
||||
translate([0,0,-7.5]) cuboid([42,7,7.5], rounding=1, edges=[TOP+RIGHT,TOP+LEFT,BOT+RIGHT,BOT+LEFT], anchor=TOP);
|
||||
}
|
||||
translate([29,0,-7.25]) ycyl(l=5, d=3.25);
|
||||
translate([-29,0,-7.25]) ycyl(l=5, d=3.25);
|
||||
}
|
||||
}
|
||||
|
||||
color("grey") translate([-63.2,0.825,2]) difference() {
|
||||
cuboid([12.75,18.25,80], rounding=2, anchor=BOT+BACK+RIGHT);
|
||||
translate([-1,2,-1]) cuboid([15,25,80], rounding=2, anchor=BOT+BACK+RIGHT);
|
||||
}
|
||||
|
||||
!color("cyan") translate([0,-8,0]) {
|
||||
pcie_mount();
|
||||
|
||||
}
|
||||
|
||||
color("grey") translate([0,-7,0]) riser();
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in new issue
Block a user