Compare commits
152 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7cec418b69 | ||
|
|
59b894d738 | ||
|
|
2e7cd76f20 | ||
|
|
7eab4fe790 | ||
|
|
501da93cad | ||
|
|
c83301debf | ||
|
|
c2d7cc3352 | ||
|
|
20ab01b924 | ||
|
|
0770c17468 | ||
|
|
3a1ba0f811 | ||
|
|
572293170d | ||
|
|
b59f99c0b6 | ||
|
|
a6795b3383 | ||
|
|
00648a52e9 | ||
|
|
f24d3e918b | ||
|
|
b4189a6cee | ||
|
|
6aa68c568e | ||
|
|
efed91db76 | ||
|
|
30d709a00e | ||
|
|
bb5fb69cab | ||
|
|
f7d06bb311 | ||
|
|
2aad1fef87 | ||
|
|
adf4101e3c | ||
|
|
fa1d426130 | ||
|
|
3af7520d67 | ||
|
|
d5f718ca59 | ||
|
|
236be28bdd | ||
|
|
6ef186018f | ||
|
|
bf7377efbb | ||
|
|
addb512b7f | ||
|
|
6cb1ad2e5d | ||
|
|
eb01bb2829 | ||
|
|
8b11dea464 | ||
|
|
489e953d09 | ||
|
|
dca4858007 | ||
|
|
4b24af0f4b | ||
|
|
33e9c04da1 | ||
|
|
c0da9dc727 | ||
|
|
36e6538090 | ||
|
|
8d1d9bdaf0 | ||
|
|
17e4e9dd97 | ||
|
|
44a0697e2b | ||
|
|
a068940140 | ||
|
|
e109837ae7 | ||
|
|
51f453be04 | ||
|
|
c23033d819 | ||
|
|
c29341d1d6 | ||
|
|
61446a322f | ||
|
|
949af488aa | ||
|
|
d565be1614 | ||
|
|
000724340b | ||
|
|
79985241c0 | ||
|
|
d070e829f0 | ||
|
|
e9b5d5508e | ||
|
|
c330f3fcad | ||
|
|
610a432a86 | ||
|
|
7806e8d578 | ||
|
|
6c46501c69 | ||
|
|
7fbb5d5f12 | ||
|
|
2f32d3c3b5 | ||
|
|
2ed95c20d1 | ||
|
|
788c6568ed | ||
|
|
dd2162b480 | ||
|
|
934f88523a | ||
|
|
98b8baa08d | ||
|
|
1d2826d015 | ||
|
|
2ccca31882 | ||
|
|
3a757b95a4 | ||
|
|
d59191109e | ||
|
|
1cbc923d2c | ||
|
|
b0a82b3519 | ||
|
|
4ab67184aa | ||
|
|
98c3f02294 | ||
|
|
cfab47dd60 | ||
|
|
5f775d3f39 | ||
|
|
06516ff821 | ||
|
|
6e5842f8a8 | ||
|
|
e7fb885769 | ||
|
|
5fa96e3e32 | ||
|
|
af5bb195d5 | ||
|
|
fb0ee1f361 | ||
|
|
e0ae29f0fb | ||
|
|
33bace995f | ||
|
|
138171c638 | ||
|
|
9ca1c2d425 | ||
|
|
7051bf871d | ||
|
|
861c2231fc | ||
|
|
ac3d1b7993 | ||
|
|
a2fbf8d17b | ||
|
|
97f1c4c26e | ||
|
|
8b7092c859 | ||
|
|
363c9698d1 | ||
|
|
d0cd8f6c99 | ||
|
|
f0c5106801 | ||
|
|
a2e78bd4da | ||
|
|
057145e7e8 | ||
|
|
71702e2435 | ||
|
|
fb41a52214 | ||
|
|
d3b19d09ba | ||
|
|
1f154229c2 | ||
|
|
76fb895b64 | ||
|
|
73e70ccf6f | ||
|
|
acc6ef9d9a | ||
|
|
f589cc70c1 | ||
|
|
9238ca6d8c | ||
|
|
3357afbf86 | ||
|
|
3226156e13 | ||
|
|
0c7e482576 | ||
|
|
6c00bb37b4 | ||
|
|
63161e5145 | ||
|
|
c573e3e9f7 | ||
|
|
9fd72e357c | ||
|
|
3b0465bc73 | ||
|
|
7ae702fc6e | ||
|
|
884261a56c | ||
|
|
edfe3a4056 | ||
|
|
c607f1e094 | ||
|
|
bcda274cb4 | ||
|
|
dd71020fc6 | ||
|
|
1aa242375a | ||
|
|
7f09be5e0b | ||
|
|
34acbbd295 | ||
|
|
a49bb6473a | ||
|
|
f658b458ef | ||
|
|
2d5d3a7c31 | ||
|
|
82c1d908b6 | ||
|
|
51b6e7d141 | ||
|
|
a67c0ea64c | ||
|
|
44bf215ff6 | ||
|
|
3eb91c0b39 | ||
|
|
2e9f05f8bd | ||
|
|
3c8abbdcd8 | ||
|
|
0792cb7981 | ||
|
|
7307a131eb | ||
|
|
18ac05627d | ||
|
|
ba574aba8a | ||
|
|
f4c9078d85 | ||
|
|
ba027dbae4 | ||
|
|
b47cf5d845 | ||
|
|
03c60b8d1f | ||
|
|
6430829c9d | ||
|
|
5858340e51 | ||
|
|
11337b6a71 | ||
|
|
fa8c94c6e7 | ||
|
|
f4c2f765a1 | ||
|
|
086ff0766c | ||
|
|
e621df86af | ||
|
|
625050370f | ||
|
|
551c4736db | ||
|
|
97936f16a2 | ||
|
|
f80f4e9516 | ||
|
|
260752a32d |
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[submodule "SBC_Model_Framework"]
|
||||
path = SBC_Model_Framework
|
||||
url = https://github.com/hominoids/SBC_Model_Framework.git
|
||||
703
README.md
703
README.md
@@ -3,14 +3,711 @@
|
||||
|
||||
## Introduction
|
||||
|
||||
This project is about autonomous SBC case creation. It utilizes the SBC Model Framework project
|
||||
to automatically generate cases based on the data for any given SBC contained within the framework.
|
||||
This project is about autonomous SBC case creation. It utilizes the SBC Model Framework project to automatically generate cases based on the data for any of the 62 current SBC contained within the framework. This allows legacy, current and future SBC to have multiple cases available on day one of their inclusion in the framework. There are multiple base case designs(shell, panel, stacked, tray, tray-sides, round, hex, snap, fitted) available and each allows for different styles within the design.
|
||||
|
||||
All case openings are created automatically based on SBC data and the dimensions of any case design can be expanded in any axis allowing for the creation of larger cases. If you reposition the SBC in a case, you will see i/o openings created or removed appropriately based on it’s proximity to the case geometry. These cases might be useful for prototypes or other in house uses to quickly and easily create standard, specialized and custom SBC cases thru different case designs, styles and accessories.
|
||||
|
||||
License: GPLv3.
|
||||
|
||||

|
||||
|
||||
### Install
|
||||
```
|
||||
git clone https://github.com/hominoids/SBC_Case_Builder.git
|
||||
cd SBC_Case_Builder
|
||||
git submodule init
|
||||
git submodule update
|
||||
|
||||
```
|
||||
|
||||
### SBC Case Builder Features:
|
||||
- Autonomous Multi-SBC, Multi-Case Parametric Generation
|
||||
- Autonomous Case Standoffs with Variable Height
|
||||
- Extended Standoff SBC collision detection
|
||||
- Accessory Customization Framework
|
||||
- Accessory Multi-Associative Parametric Positioning
|
||||
- Absolute Location
|
||||
- Case Associations
|
||||
- SBC Associations
|
||||
- SBC_X,Y - Case_Z Association
|
||||
- SBC Model Framework Validation Tool
|
||||
|
||||
### Base Case Designs:
|
||||
- Shell - complete
|
||||
- Panel - complete
|
||||
- Stacked - complete
|
||||
- Tray - complete
|
||||
- Tray-Sides - complete
|
||||
- Tray-Vu5 - complete
|
||||
- Tray-Vu7 - complete
|
||||
- Round - complete
|
||||
- Hex - complete
|
||||
- Snap - complete
|
||||
- Fitted - complete
|
||||
- Sliding
|
||||
- Cylinder
|
||||
- Rack
|
||||
- Folded
|
||||
- CNC Cases
|
||||
|
||||
All case data is stored in the json file sbc_case_builder.json with the accessory data stored in a separate file structure in sbc_case_builder_accessories.cfg. An accessory group name for a given case is stored as part of the case data in the json file. This allows for the reuse or sharing of an accessory set by different cases and can be used to manage groups of accessories.
|
||||
|
||||
Variable height automated SBC standoffs, which can be individually adjusted, are also implemented to integrate add-on PCB, hats, heatsinks or other accessories that share SBC standoffs for mounting.
|
||||
|
||||
Multi-associative parametric positioning of accessories is implemented and allows each accessory to enable or disable parametric movement of the accessory for each axis. The XY and Z axis can be associated with the case offset (size), SBC positioning, multi-associated axises or absolute positioning. For instance, a SBC fan opening needs to follow the SBC in the X and Y axis but the case Z axis for the correct height.
|
||||
```
|
||||
p
|
||||
a
|
||||
r
|
||||
r a
|
||||
o m
|
||||
t e s s s d d d d
|
||||
c l l l a t i i i a a a a
|
||||
l t o o o f t r z z z t t t t
|
||||
a y c c c a i i e e e a a a a
|
||||
s p c o c
|
||||
s, e, x, y, z, e, n, s, x,y,z,1,2,3,4
|
||||
|
||||
`"sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0]`
|
||||
```
|
||||
|
||||
An array holds a string and 3 Boolean that represent which association and axis are enabled for parametric movement. In the accessory example above, the 8th parameter `["sbc-case_z",true,true,true]` means all axises are enabled for multi-associative movement with the X and Y accessory axis following the SBC X and Y axis and the accessory Z axis following the case Z axis. The other currently supported associations are “sbc” and “case”. If other associations of objects are needed or are of value, they can be added in the future. All of the existing cases have been made parametric and can serve as further working examples.
|
||||
|
||||
### Accuracy
|
||||
In the past there was been no way of validating whether a SBC Model Framework model and it’s components were dimensionaly accurate in their size and placement other then trial and error. Along with producing cases this project provides a much needed model validation tool to assure model accuracy thru the use of test cases. It works on the very simple premise that if the real SBC fits the test case then the virtual model is accurate or otherwise shows were corrections are needed. This will further increased the overall accuracy of models.
|
||||
|
||||
There are currently 58 SBC represented by 54 models, from 10 manufactures in SBC Model Framework. Some SBC in SBC Model Framework have not been validated or may be missing component data and may produce one or more aspects of a case incorrectly. SBC status is noted in sbc.png, the README.md file and at the beginning of the SBC entry defined in sbc_models.cfg, all a part of SBC Model Framework. The color coded indicator of an SBC’s verification and completion as indicated in sbc.png is as follows:
|
||||
|
||||
- GREEN = verified, complete and passes SBC Case Builder
|
||||
- YELLOW = unverified, mostlikely usable and/or missing minor information
|
||||
- ORANGE = unverified, may be usable but missing component data
|
||||
- RED = unverified, not usable due to incomplete component data
|
||||
|
||||
The SBC that I do not own have been created using manufacturer supplied mechanical drawings. Some of the drawings are missing information or have errors that effect all or part of the drawings and subsequent SBC models. If you own an SBC that is not represented or verified in SBC Model Framework, please consider adding it or helping to correct errors in existing SBC data. An SBC can be verified to be accurate if a printed shell case from SBC Case Builder fits. Any misalignment is corrected in the SBC Model Framework model data(sbc_models.cfg).
|
||||
|
||||
### Future Development
|
||||
|
||||
There are a few more ideas for base cases to be worked on as well as a host of supporting accessory models that need to be created. It would also be nice to have all of the OEM accessories for each SBC in the library as well. I’m still looking for a better way to create accessory entries and groups, and continue to expand and verify as many SBC as possible. With that and the obvious benefit of autonomously making SBC cases, this project has also been helping fulfill another personal goal.
|
||||
|
||||
Computer aided design(CAD) has been around along time but I have been interested in exploring approaches to the next step, computer autonomous design. Regardless of the current or future object creation method, whether it be manufactured or materialized, I believe a universal approach to autonomous design will be needed to advance the human condition. This application has helped me explore and think about practical approaches that might be possible right now in autonomous design and I hope to continue this work by developing new tools and techniques for the new CAD, Computer Autonomous Design.
|
||||
|
||||
### Notes
|
||||
|
||||
More information can be found at this [Hard Kernel forum thread](https://forum.odroid.com/viewtopic.php?f=53&t=43948)
|
||||
Due to the number of possibilities, no pre-compiled case stl’s are included.
|
||||
|
||||
“tol”, located at the bottom of the Adjustments Tab, is a tolerance fitment adjustment for the snap, fitted, round and hex tops. Adjust accordingly if the tops are too tight or loose.
|
||||
|
||||
Template creation and i/o panel layouts in a dxf format can be easily created and integrated into other designs or for hand fabrication by sectioning a case panel for the desired SBC. The case design “panel” will most likely work best.
|
||||
|
||||
|
||||
### Case Designs and Styles
|
||||
The case naming convention for standard cases in the configuration file follow the basic form of “sbc”_”design”_”style” e.g. c4_shell or c4_tray_vu5.
|
||||
|
||||
#### Current Case Count 454
|
||||
|
||||
##### Hardkernel - 191
|
||||
|
||||
**Odorid-C1+ cases** - 16 : c1+_shell, c1+_panel, c1+_panel_lcd3.5, c1+_desktop_lcd3.5, c1+_stacked, c1+_tray, c1+_tray_sides, c1+_tray_vu5,
|
||||
c1+_tray_vu7, c1+_shell_boombox, c1+_panel_boombox, c1+_tray_boombox, c1+_round, c1+_hex, c1+_snap, c1+_fitted
|
||||
|
||||
**Odorid-C2 cases** - 17 : c2_shell, c2_panel, c2_panel_lcd3.5, c2_desktop_lcd3.5, c2_stacked, c2_tray, c2_tray_sides, c2_tray_vu5,
|
||||
c2_tray_vu7, c2_shell_boombox, c2_panel_boombox, c2_deskboom_lcd3.5, c2_tray_boombox, c2_round, c2_hex, c2_snap, c2_fitted
|
||||
|
||||
**Odorid-C4 cases** - 17 : c4_shell, c4_panel, c4_panel_lcd3.5, c4_desktop_lcd3.5, c4_stacked, c4_tray, c4_tray_sides, c4_tray_vu5,
|
||||
c4_tray_vu7, c4_shell_boombox, c4_panel_boombox, c4_deskboom_lcd3.5, c4_tray_boombox, c4_round, c4_hex, c4_snap, c4_fitted
|
||||
|
||||
**Odorid-HC4 cases** - 15 : hc4_shell, hc4_shell_drivebox2.5, hc4_shell_drivebox2.5v, hc4_shell_drivebox3.5, hc4_panel, hc4_stacked
|
||||
, hc4_tray, hc4_tray_sides, hc4_tray_vu5, hc4_tray_vu7, hc4_tray_drivebox2.5, hc4_round, hc4_hex, hc4_snap, hc4_fitted
|
||||
|
||||
**Odorid-N1 cases** - 11 : n1_shell, n1_panel, n1_stacked, n1_tray, n1_tray_sides, n1_tray_vu5, n1_tray_vu7, n1_round, n1_hex, n1_snap, n1_fitted
|
||||
|
||||
**Odorid-N2 cases** - 9 : n2_panel, n2_tray, n2_tray_sides, n2_tray_vu5, n2_tray_vu7, n2_round, n2_hex, n2_snap, n2_fitted
|
||||
|
||||
**Odorid-N2+ cases** - 9 :n2+_panel, n2+_tray, n2+_tray_sides, n2+_tray_vu5, n2+_tray_vu7, n2+_round, n2+_hex, n2+_snap, n2+_fitted
|
||||
|
||||
**Odorid-N2L cases** - 9 :n2l_shell, n2l_panel, n2l_stacked, n2l_tray, n2l_tray_sides, n2l_tray_vu5, n2l_tray_vu7, n2l_snap, n2l_fitted
|
||||
|
||||
**Odorid-N2LQ cases** - 9 :n2lq_shell, n2lq_panel, n2lq_stacked, n2lq_tray, n2lq_tray_sides, n2lq_tray_vu5, n2lq_tray_vu7, n2lq_snap, n2lq_fitted
|
||||
|
||||
**Odorid-M1S cases** - 9 : m1s_shell, m1s_panel, m1s_stacked, m1s_tray, m1s_tray_vu5, m1s_tray_vu7, m1s_tray_sides, m1s_snap, m1s_fitted
|
||||
|
||||
**Odorid-M1 cases** - 12 : m1_panel, m1_tray, m1_tray_drive, m1_tray_sides, m1_tray_vu5, m1_tray_vu7, m1_snap, m1_fitted, m1_fitted_drivebox2.5, m1_fitted_drivebox3.5, m1_fitted_pizzabox, m1_fitted_drivebox3.5v
|
||||
|
||||
**Odorid-XU4 cases** - 11 : xu4_shell, xu4_panel, xu4_stacked, xu4_tray, xu4_tray_sides, xu4_tray_vu5, xu4_tray_vu7, xu4_round, xu4_hex, xu4_snap, xu4_fitted
|
||||
|
||||
**Odorid-XU4Q cases** - 11 : xu4q_shell, xu4q_panel, xu4q_stacked, xu4q_tray, xu4q_tray_sides, xu4q_tray_vu5, xu4q_tray_vu7, xu4q_round, xu4q_hex, xu4q_snap, xu4q_fitted
|
||||
|
||||
**Odroid-H2 cases** - 17 : h2_shell, h2_lowboy, h2_lowboy_router, h2_shell_router, h2_shell_router-ssd, h2_panel, h2_stacked, h2_tray, h2_tray_sides, h2_tray_vu5, h2_tray_vu7, h2_tray_router, h2_router_station, h2_round, h2_hex, h2_snap, h2_fitted
|
||||
|
||||
**Odroid-H3 cases** - 18 : h3_shell, h3_shell-internalfan, h3_lowboy, h3_lowboy_router, h3_shell_router, h3_shell_router-ssd, h3_panel, h3_stacked, h3_tray, h3_tray_sides, h3_tray_vu5, h3_tray_vu7, h3_tray_router, h3_router_station, h3_round, h3_hex, h3_snap, h3_fitted
|
||||
|
||||
**Odroid-Show2** cases - 1 : show2_shell
|
||||
|
||||
|
||||
##### Pine64 - 24
|
||||
|
||||
**Rock64** - 9 : rockp64_shell, rock64_panel, rock64_stacked, rock64_tray, rock64_tray_sides, rock64_round, rock64_hex, rock64_snap, rock64_fitted
|
||||
|
||||
**RockPro64** - 9 : rockpro64_shell, rockpro64_panel, rockpro64_stacked, rockpro64_tray, rockpro64_tray_sides, rockpro64_round, rockpro64_hex, rockpro64_snap, rockpro64_fitted
|
||||
|
||||
**Quartz64a** - 2 : quartz64a_shell, quartz64a_panel
|
||||
|
||||
**Quartz64b** - 2 : quartz64b_shell, quartz64b_panel
|
||||
|
||||
**h64b** - 2 : h64b_shell, h64b_panel
|
||||
|
||||
**star64** - 1 : star64_shell
|
||||
|
||||
|
||||
##### Raspberry PI - 72
|
||||
|
||||
**RPIzero** - 9 : rpizero_shell, rpizero_panel, rpizero_stacked, rpizero_tray, rpizero_tray_sides, rpizero_round, rpizero_hex, rpizero_snap, rpizero_fitted
|
||||
|
||||
**RPIzero2w+** - 9 : rpizero2w_shell, rpizero2w_panel, rpizero2w_stacked, rpizero2w_tray, rpizero2w_tray_sides, rpizero2w_round, rpizero2w_hex, rpizero2w_snap, rpizero2w_fitted
|
||||
|
||||
**RPI1a+** - 9 : rpi1a+_shell, rpi1a+_panel, rpi1a+_stacked, rpi1a+_tray, rpi1a+_tray_sides, rpi1a+_round, rpi1a+_hex, rpi1a+_snap, rpi1a+_fitted
|
||||
|
||||
**RPI1b+** - 9 : rpi1b+_shell, rpi1b+_panel, rpi1b+_stacked, rpi1b+_tray, rpi1b+_tray_sides, rpi1b+_round, rpi1b+_hex, rpi1b+_snap, rpi1b+_fitted
|
||||
|
||||
**RPI3a+** - 9 : rpi3a+_shell, rpi3a+_panel, rpi3a+_stacked, rpi3a+_tray, rpi3a+_tray_sides, rpi3a+_round, rpi3a+_hex, rpi3a+_snap, rpi3a+_fitted
|
||||
|
||||
**RPI3b** - 9 : rpi3b_shell, rpi3b_panel, rpi3b_stacked, rpi3b_tray, rpi3b_tray_sides, rpi3b_round, rpi3b_hex, rpi3b_snap, rpi3b_fitted
|
||||
|
||||
**RPI3b+** - 9 : rpi3b+_shell, rpi3b+_panel, rpi3b+_stacked, rpi3b+_tray, rpi3b+_tray_sides, rpi3b+_round, rpi3b+_hex, rpi3b+_snap, rpi3b+_fitted
|
||||
|
||||
**RPI4b** - 9 : rpi4b_shell, rpi4b_panel, rpi4b_stacked, rpi4b_tray, rpi4b_tray_sides, rpi4b_round, rpi4b_hex, rpi4b_snap, rpi4b_fitted
|
||||
|
||||
|
||||
##### Nivida - 1
|
||||
|
||||
**Jetson Nano** - 9 : jetsonnano_shell, jetsonnano_panel, jetsonnano_stacked, jetsonnano_tray, jetsonnano_tray_sides, jetsonnano_round, jetsonnano_hex, jetsonnano_snap, jetsonnano_fitted
|
||||
|
||||
|
||||
##### Radxa - 37
|
||||
|
||||
**ROCK 4b+** - 9 : rock4b+_shell, rock4b+_panel, rock4b+_stacked, rock4b+_tray, rock4b+_tray_sides, rock4b+_round, rock4b+_hex, rock4b+_snap, rock4b+_fitted
|
||||
|
||||
**ROCK 4c** - 9 : rock4c_shell, rock4c_panel, rock4c_stacked, rock4c_tray, rock4c_tray_sides, rock4c_round, rock4c_hex, rock4c_snap, rock4c_fitted
|
||||
|
||||
**ROCK 4c+** - 9 : rock4c+_shell, rock4c+_panel, rock4c+_stacked, rock4c+_tray, rock4c+_tray_sides, rock4c+_round, rock4c+_hex, rock4c+_snap, rock4c+_fitted
|
||||
|
||||
**ROCK 5b** - 10 : rock5b_shell,rock5b_shell-v1.3, rock5b_panel, rock5b_stacked, rock5b_tray, rock5b_tray_sides, rock5b_round, rock5b_hex, rock5b_snap, rock5b_fitted
|
||||
|
||||
|
||||
##### Khadas - 45
|
||||
|
||||
**Vim1** - 9 : vim1_shell, vim1_panel, vim1_stacked, vim1_tray, vim1_tray_sides, vim1_round, vim1_hex, vim1_snap, vim1_fitted
|
||||
|
||||
**Vim2** - 9 : vim2_shell, vim2_panel, vim2_stacked, vim2_tray, vim2_tray_sides, vim2_round, vim2_hex, vim2_snap, vim2_fitted
|
||||
|
||||
**Vim3** - 9 : vim3_shell, vim3_panel, vim3_stacked, vim3_tray, vim3_tray_sides, vim3_round, vim3_hex, vim3_snap, vim3_fitted
|
||||
|
||||
**Vim3l** - 9 : vim3l_shell, vim3l_panel, vim3l_stacked, vim3l_tray, vim3l_tray_sides, vim3l_round, vim3l_hex, vim3l_snap, vim3l_fitted
|
||||
|
||||
**Vim4** - 9 : vim4_shell, vim4_panel, vim4_stacked, vim4_tray, vim4_tray_sides, vim4_round, vim4_hex, vim4_snap, vim4_fitted
|
||||
|
||||
|
||||
##### Asus - 36
|
||||
|
||||
**Tinkerboard** - 9 : tinkerboard_shell, tinkerboard_panel, tinkerboard_stacked, tinkerboard_tray, tinkerboard_tray_sides, tinkerboard_round, tinkerboard_hex, tinkerboard_snap, tinkerboard_fitted
|
||||
|
||||
**Tinkerboard S** - 9 : tinkerboard-s_shell, tinkerboard_panel, tinkerboard-s_stacked, tinkerboard-s_tray, tinkerboard-s_tray_sides, tinkerboard-s_round, tinkerboard-s_hex, tinkerboard-s_snap, tinkerboard-s_fitted
|
||||
|
||||
**Tinkerboard 2/2S** - 9 : tinkerboard-2_shell, tinkerboard-2_panel, tinkerboard-2_stacked, tinkerboard-2_tray, tinkerboard-2_tray_sides, tinkerboard-2_round, tinkerboard-2_hex, tinkerboard-2_snap, tinkerboard-2_fitted
|
||||
|
||||
**Tinkerboard R2/R2S** - 9 : tinkerboard-r2_shell, tinkerboard-r2_panel, tinkerboard-r2_stacked, tinkerboard-r2_tray, tinkerboard-r2_tray_sides, tinkerboard-r2_round, tinkerboard-r2_hex, tinkerboard-r2_snap, tinkerboard-r2_fitted
|
||||
|
||||
|
||||
##### Orange PI - 34
|
||||
|
||||
**OPI 5** - 7 : opi5_shell, opi5_panel, opi5_stacked, opi5_tray, opi5_tray_sides, opi5_snap, opi5_fitted
|
||||
|
||||
**OPI Zero/ZeroPlus** - 9 : opizero_shell, opizero_panel, opizero_stacked, opizero_tray, opizero_tray_sides, opizero_round, opizero_hex, opizero_snap, opizero_fitted
|
||||
|
||||
**OPI Zero2** - 9 : opizero2_shell, opizero2_panel, opizero2_stacked, opizero2_tray, opizero2_tray_sides, opizero2_round, opizero2_hex, opizero2_snap, opizero2_fitted
|
||||
|
||||
**OPI R1** - 1 : opir1_shell
|
||||
|
||||
**OPI R1PlusLTS** - 9 : opir1plus_lts_shell, opir1plus_lts_panel, opir1plus_lts_stacked, opir1plus_lts_tray, opir1plus_lts_tray_sides, opir1plus_lts_round, opir1plus_lts_hex, opir1plus_lts_snap, opir1plus_lts_fitted
|
||||
|
||||
|
||||
##### Sipeed - 1
|
||||
|
||||
**licheerv+dock** - 0 :
|
||||
|
||||
|
||||
##### StarFive - 14
|
||||
|
||||
**visionfive2** - 7 : visionfive2_shell, visionfive2_panel, visionfive2_stacked, visionfive2_tray, visionfive2_tray_sides, visionfive2_snap, visionfive2_fitted
|
||||
|
||||
**visionfive2q** - 7 : visionfive2q_shell, visionfive2q_panel, visionfive2q_stacked, visionfive2q_tray, visionfive2q_tray_sides, visionfive2q_snap, visionfive2q_fitted
|
||||
|
||||
|
||||
### Accessory Schema
|
||||
The schema for case accessories is documented in the beginning of the file sbc_case_builder_accessories.cfg. There is one fixed entry that is the accessory set name followed by an unlimited number of accessory entries each containing 15 entries.
|
||||
```
|
||||
schema:
|
||||
|
||||
"accessory_name",
|
||||
"class","type",loc_x,loc_y,loc_z,face,rotation[x,y,z],parametrics[association,x,y,z],size_x,size_y,size_z,data_1,data_2,"data_3",data_4[]
|
||||
```
|
||||
|
||||
### Accessories Entries
|
||||
There are 6 classes, “add1”,“sub”,”suball”,”add2”,”model”,”platter” and all use the same command format for various “type”.
|
||||
```
|
||||
"class","type",loc_x,loc_y,loc_z,size_x,size_y,size_z,"face",rotation[],parametrics[],data_1,data_2,"data_3",data_4[]
|
||||
```
|
||||
e.g.
|
||||
```
|
||||
p
|
||||
a
|
||||
r
|
||||
r a
|
||||
o m
|
||||
t e s s s d d d d
|
||||
c l l l a t i i i a a a a
|
||||
l t o o o f t r z z z t t t t
|
||||
a y c c c a i i e e e a a a a
|
||||
s p c o c
|
||||
s, e, x, y, z, e, n, s, x,y,z,1,2,3,4
|
||||
|
||||
"sub","fan",10,10,24.5,"top",[0,0,0],["sbc-case_z",true,true,true],40,0,6,2,0,"",0]
|
||||
```
|
||||
|
||||
Every type, regardless of it’s class, uses a basic set of variables
|
||||
`(loc_x,loc_y,loc_z,”face”,rotation[],parametrics[])`
|
||||
but each type doesn’t necessarily use all available data fields
|
||||
`(size_x,size_y,size_z,data_1,data_2,”data_3”,data_4[])`
|
||||
|
||||
The parametric array specifies the axis to enable for associated parametric positoning. An accessory can be associated with the sbc position("sbc"), case offset("case"),multi-associated which use sbc xy postion and case z offset(sbc-case_z) or uses absolute values if all axises are false.
|
||||
|
||||
#### classes: add1, sub, suball, add2, model, platter
|
||||
|
||||
Class “add1” and “add2” are used to add geometry to the case. The difference is when the addition occurs. “add1” happens at the beginning when the core case geometry is created and add2 happens after all subtractions have occurred. “suball” is used to affect all faces of a case, not just “face”. The “face” is the case piece that will be effected by the addition or subtraction. The "model" class is for placing supporting accessories in the model view. e.g. hard drives, fans. The "platter" class is for adding supporting accessories to the print platter.
|
||||
|
||||
|
||||
**additive type:**
|
||||
|
||||
circle, rectangle, slot, text, art, standoff, batt_holder, uart_holder, hd_holder, hd_holes, hd_vertright_holes, hc4_oled_holder, access_port, button, pcb_holder, boom_grill, boom_speaker_holder
|
||||
|
||||
|
||||
**subtractive type:**
|
||||
|
||||
circle, rectangle, slot, text, art, punchout, vent, fan, hd_holes, hd_vertleft_holes, hd_vertright_holes, microusb, sphere
|
||||
|
||||
|
||||
**model type:**
|
||||
|
||||
uart_strap, fan_cover, hd25, hd35, hc4_oled, feet, access_cover, net_card, hk35_lcd, hk_boom, boom_speaker, boom_vring, hk_uart
|
||||
|
||||
|
||||
**platter type:**
|
||||
|
||||
uart_strap, fan_cover, access_cover, button_top, boom_vring
|
||||
|
||||
|
||||
#### Shared add and sub “type” commands
|
||||
|
||||
|
||||
**circle**
|
||||
|
||||
description: circlular geometry.
|
||||
|
||||
*uses:* size_x=dia, size_z=height
|
||||
|
||||
|
||||
**rectangle**
|
||||
|
||||
*description:* rectangular geometry with individual defined corner fillets. Radius1 is lower left corner then moves clockwise.
|
||||
|
||||
*uses:* size_x, size_y, size_z, data_4=[radius1, radius2, radius3, radius4]
|
||||
|
||||
|
||||
**slot**
|
||||
|
||||
*description:* slot geometry.
|
||||
|
||||
*uses:* size_x=diameter, size_y=length, size_z=height
|
||||
|
||||
|
||||
**text**
|
||||
|
||||
*description:* raised or sunk text
|
||||
|
||||
*uses:* data_1=size, data_3="text"
|
||||
|
||||
|
||||
**art**
|
||||
|
||||
*description:* art work in dxf or svg format
|
||||
|
||||
*uses:* data_1=scale, data_2=height, data_3=file
|
||||
|
||||
|
||||
**keyhole**
|
||||
|
||||
*description:* enclosed keyhole
|
||||
|
||||
*uses:* data4=[head_dia, slot_width, slot_length, floor_thick]
|
||||
|
||||
|
||||
|
||||
#### Add class only “types”
|
||||
|
||||
|
||||
**uart_holder**
|
||||
|
||||
*description:* console uart holder
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**batt_holder**
|
||||
|
||||
*description:* rtc battery holder
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**standoff**
|
||||
|
||||
*description:* user defined standoff
|
||||
|
||||
*uses:* data_4=
|
||||
|
||||
```
|
||||
[ 6.75, // radius
|
||||
5, // height
|
||||
3.6, // holesize
|
||||
10, // supportsize
|
||||
4, // supportheight
|
||||
1, // 0=none, 1=countersink, 2=recessed hole, 3=nut holder, 4=blind hole
|
||||
0, // standoff style 0=hex, 1=cylinder
|
||||
0, // enable reverse standoff
|
||||
0, // enable insert at top of standoff
|
||||
4.5, // insert hole dia. mm
|
||||
5.1] // insert depth mm
|
||||
```
|
||||
|
||||
**hd_holder**
|
||||
|
||||
*description:* double stacked holder for 2.5 and 3.5 drives
|
||||
|
||||
*uses:* data_1=2.5 or 3.5, data_3=”portrait” or “landscape”
|
||||
|
||||
|
||||
**hd_vertleft_holder**
|
||||
|
||||
*description:* vertical left side holder for 2.5 and 3.5 drives
|
||||
|
||||
*uses:* data_1=2.5 or 3.5, data_3=”portrait” or “landscape”
|
||||
|
||||
|
||||
**hd_vertright_holder**
|
||||
|
||||
*description:* vertical right side holder for 2.5 and 3.5 drives
|
||||
|
||||
*uses:* data_1=2.5 or 3.5, data_3=”portrait” or “landscape”
|
||||
|
||||
|
||||
**hc4_oled_holder**
|
||||
|
||||
*description:* hc4 oled holder
|
||||
|
||||
*uses:* size_z=floorthick
|
||||
|
||||
|
||||
**access_port**
|
||||
|
||||
*description:* bottom access for sd and emmc
|
||||
|
||||
*uses:* size_z=floorthick, data_3=”portrait” or “landscape”
|
||||
|
||||
|
||||
**button**
|
||||
|
||||
*description:* button top and plunger
|
||||
|
||||
*uses:* size_x=diameter,size_z=height, data_3=”reccess”
|
||||
|
||||
|
||||
**pcb_holder**
|
||||
|
||||
*description:* pcb bottom edge holder
|
||||
|
||||
*uses:* size_x=pcb_x,size_y=pcb_y,size_z=pcb_z, data_1=wall_thick
|
||||
|
||||
|
||||
**boom_grill**
|
||||
|
||||
*description:* hk boom bonnet grill covers
|
||||
|
||||
*uses:* data_3="flat", "dome", "frame"
|
||||
|
||||
|
||||
**boom_speaker_holder**
|
||||
|
||||
*description:* hk boom bonnet speaker friction holder
|
||||
|
||||
*uses:* data_1=tolorence
|
||||
|
||||
|
||||
**nut_holder**
|
||||
|
||||
*description:* nut holder
|
||||
|
||||
*uses:* size_x=top diameter or x size in mm, size_y=bottom diameter or y size in mm, size_z=holder height in mm, data_0="m2" or "m2.5" or "m3" or "m4", data_1="default" or "sloped" or "trap"
|
||||
|
||||
|
||||
#### Sub class only “types”
|
||||
|
||||
|
||||
**punchout**
|
||||
|
||||
*description:* punchout in rectangle, round or slot shape
|
||||
|
||||
*uses:* size_x=width, size_y=depth, data_1=gap, size_z=thick, data_2=fillet, data_3="rectangle","round" or "slot"
|
||||
|
||||
|
||||
**vent**
|
||||
|
||||
*description:* horizontal or vertical vent openings
|
||||
|
||||
*uses:* size_x=open_width, size_y=open_length, size_z=thick, data_1=rows, data_2=columns,
|
||||
data_3=orientation("vertical","horizontal"), data_4=gap
|
||||
|
||||
|
||||
**vent_hex**(cells_x, cells_y, cell_size, cell_spacing, orientation)
|
||||
|
||||
*description:* horizontal or vertical hex vent openings
|
||||
|
||||
*uses:* size_x=cells_x, size_y=cells_y, size_z=thick, data_1=cell_size, data_2=cell_spacing,
|
||||
data_3=orientation("vertical","horizontal")
|
||||
|
||||
|
||||
**fan**
|
||||
|
||||
*description:* fan opening
|
||||
|
||||
*uses:* size_x=size, size_z=thick, date_1=style(1=open,2=fan)
|
||||
|
||||
|
||||
**hd_holes**
|
||||
|
||||
*description:* bottom hole pattern for 2.5 or 3.5 drives
|
||||
|
||||
*uses:* data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape”
|
||||
|
||||
|
||||
**hd_vertleft_holes**
|
||||
|
||||
*description:* bottom hole pattern for 2.5 or 3.5 drives
|
||||
|
||||
*uses:* data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape”
|
||||
|
||||
|
||||
**hd_vertright_holes**
|
||||
|
||||
*description:* bottom hole pattern for 2.5 or 3.5 drives
|
||||
|
||||
*uses:* data_1=2.5 or 3.5, data_2=thick, data_3=”portrait” or “landscape”-component mask(incomplete)
|
||||
|
||||
|
||||
**microusb**
|
||||
|
||||
*description:* micro usb opening
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**sphere**
|
||||
|
||||
*description:* sphere subtraction
|
||||
|
||||
*uses:* size_x=diameter
|
||||
|
||||
|
||||
|
||||
#### Model class “types”
|
||||
|
||||
|
||||
**uart_strap**
|
||||
|
||||
*description:* console uart holder strap
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**fan_cover**
|
||||
|
||||
*description:* cover for fan hole opening
|
||||
|
||||
*uses:* size_x=40 or 80, size_z=thick
|
||||
|
||||
|
||||
**hd25**
|
||||
|
||||
*description:* 2.5 hard drive
|
||||
|
||||
*uses:* data_1=height
|
||||
|
||||
|
||||
**hd35**
|
||||
|
||||
*description:* 3.5 hard drive
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**hc4_oled**
|
||||
|
||||
*description:* hc4_oled model
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**feet**
|
||||
|
||||
*description:* case feet
|
||||
|
||||
*uses:* size_x=diameter, size_z=height
|
||||
|
||||
|
||||
**access_cover**
|
||||
|
||||
*description:* bottom access cover for sd and emmc
|
||||
|
||||
*uses:* size_z=floorthick, data_3=”portrait” or “landscape”
|
||||
|
||||
|
||||
**button_top**
|
||||
|
||||
*description:* button top and plunger
|
||||
|
||||
*uses:* size_x=diameter,size_z=height, data_3=”reccess”
|
||||
|
||||
|
||||
**h2_netcard**
|
||||
|
||||
*description:* h2 network card model
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**hk_lcd35**
|
||||
|
||||
*description:* hk 3.5 inch lcd model
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**hk_boom**
|
||||
|
||||
*description:* hk stereo boom bonnet model
|
||||
|
||||
*uses:* data_1=speakers(true or false), data_3=”front” or "rear"
|
||||
|
||||
|
||||
**boom_speaker**
|
||||
|
||||
*description:* hk stereo boom bonnet speaker
|
||||
|
||||
*uses:* data_1=pcb(true or false), data_3=”left” or "right"
|
||||
|
||||
|
||||
**hk_speaker**
|
||||
|
||||
*description:* hk speaker model
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**boom_vring**
|
||||
|
||||
*description:* hk stereo boom bonnet volume wheel extention
|
||||
|
||||
*uses:* data_1=tolerence
|
||||
|
||||
|
||||
**hk_uart**
|
||||
|
||||
*description:* hk console uart model
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**h3_port_extender**
|
||||
|
||||
*description:* h3 usb port extender model
|
||||
|
||||
*uses:* data_3="header" or "remote"
|
||||
|
||||
|
||||
**hk_pwr_button**
|
||||
|
||||
*description:* hk power button model
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**dsub**
|
||||
|
||||
*description:* d-sub connectors
|
||||
|
||||
*uses:* data4=[pin, type("male" or "female"), floor_thick]
|
||||
|
||||
|
||||
**vent_panel_hex**
|
||||
|
||||
*description:* cover for vent opening, honeycomb pattern
|
||||
|
||||
*uses:* size_x=x, size_y=y, size_z=thick,
|
||||
data1=cell_size, data2=cell_spacing,
|
||||
data3="x", "y", "none", or "default", data4=border
|
||||
|
||||
#### Platter class “types”
|
||||
|
||||
|
||||
**uart_strap**
|
||||
|
||||
*description:* console uart holder strap
|
||||
|
||||
*uses:* none
|
||||
|
||||
|
||||
**fan_cover**
|
||||
|
||||
*description:* cover for fan hole opening
|
||||
|
||||
*uses:* size_x=40 or 80, size_z=thick
|
||||
|
||||
|
||||
**access_cover**
|
||||
|
||||
*description:*bottom access cover for sd and emmc
|
||||
|
||||
*uses:* size_z=floorthick, data_3=”portrait” or “landscape”
|
||||
|
||||
|
||||
**button_top**
|
||||
|
||||
*description:* button top and plunger
|
||||
|
||||
*uses:* size_x=diameter,size_z=height, data_3=”reccess”
|
||||
|
||||
|
||||
**boom_vring**
|
||||
|
||||
*description:* hk stereo boom bonnet volume wheel extention
|
||||
|
||||
*uses:* data_1=tolerence
|
||||
|
||||
|
||||
**vent_panel_hex**
|
||||
|
||||
*description:* cover for vent opening, honeycomb pattern
|
||||
|
||||
*uses:* size_x=x, size_y=y, size_z=thick,
|
||||
data1=cell_size, data2=cell_spacing,
|
||||
data3="x", "y", "none", or "default", data4=border
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 3.8 MiB |
1
SBC_Model_Framework
Submodule
1
SBC_Model_Framework
Submodule
Submodule SBC_Model_Framework added at cca4d08395
17
get_customizer_values.scad
Normal file
17
get_customizer_values.scad
Normal file
@@ -0,0 +1,17 @@
|
||||
// Gets a list of SBCs from the SBC Model Framework and Accessory sets
|
||||
// for use with SBC Case Builder.
|
||||
// After running this script, copy the output from the first Echo command into the
|
||||
// list of SBC boards in `sbc_case_builder.scad:83`
|
||||
// Also copy the output from the second Echo command into the list of case acceessory
|
||||
// sets in `sbc_case_builder.scad:164`
|
||||
|
||||
include <./SBC_Model_Framework/sbc_models.cfg>;
|
||||
include <./sbc_case_builder_accessories.cfg>;
|
||||
|
||||
boards = [for(i=[0:1:len(sbc_data)-1]) sbc_data[i][0]];
|
||||
echo("Copy the following to `sbc_case_builder.scad` for the `sbc_model` variable");
|
||||
echo(boards);
|
||||
|
||||
accessory_sets = [for(i=[0:1:len(accessory_data)-1]) accessory_data[i][0]];
|
||||
echo("Copy the following to `sbc_case_builder.scad` for the `accessory_name` variable");
|
||||
echo(accessory_sets);
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -6,7 +6,7 @@
|
||||
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) {
|
||||
module fillet_2d_o(fillet_r, fillet_angle=90, fillet_fn=0) {
|
||||
add=0.01;
|
||||
f_fn=(fillet_fn>0) ? fillet_fn*4 : (ceil(poly_sides_r(fillet_r)/4)*4);
|
||||
if (fillet_r>0) {
|
||||
@@ -23,7 +23,7 @@ module fillet_2d_o(fillet_r, fillet_angle=90, fillet_fn=90) {
|
||||
}
|
||||
|
||||
// 2d primitive for inside fillets.
|
||||
module fillet_2d_i(fillet_r, fillet_angle=90, fillet_fn=90) {
|
||||
module fillet_2d_i(fillet_r, fillet_angle=90, fillet_fn=0) {
|
||||
add=0.01;
|
||||
f_fn=(fillet_fn>0) ? fillet_fn*4 : (ceil(poly_sides_r(fillet_r)/4)*4);
|
||||
if (fillet_r>0) {
|
||||
@@ -41,7 +41,7 @@ module fillet_2d_i(fillet_r, fillet_angle=90, fillet_fn=90) {
|
||||
}
|
||||
|
||||
// 3d rotated outside fillet.
|
||||
module fillet_polar_o(inner_r, fillet_r, fillet_angle=90, fillet_fn=90, rotate_fn=0) {
|
||||
module fillet_polar_o(inner_r, fillet_r, fillet_angle=90, fillet_fn=0, rotate_fn=0) {
|
||||
if (fillet_r>0) {
|
||||
rotate_extrude(convexity=8, $fn=rotate_fn) {
|
||||
translate([inner_r, 0, 0]) {
|
||||
@@ -52,7 +52,7 @@ module fillet_polar_o(inner_r, fillet_r, fillet_angle=90, fillet_fn=90, rotate_f
|
||||
}
|
||||
|
||||
// 3d rotated inside fillet.
|
||||
module fillet_polar_i(inner_r, fillet_r, fillet_angle=90, fillet_fn=90, rotate_fn=0) {
|
||||
module fillet_polar_i(inner_r, fillet_r, fillet_angle=90, fillet_fn=0, rotate_fn=0) {
|
||||
if (fillet_r>0) {
|
||||
rotate_extrude(convexity=8, $fn=rotate_fn) {
|
||||
translate([inner_r, 0, 0]) {
|
||||
@@ -62,7 +62,7 @@ module fillet_polar_i(inner_r, fillet_r, fillet_angle=90, fillet_fn=90, rotate_f
|
||||
}
|
||||
|
||||
// 3d rotated inside fillet negative.
|
||||
module fillet_polar_i_n(outer_r, fillet_r, fillet_angle=90, fillet_fn=90, rotate_fn=0) {
|
||||
module fillet_polar_i_n(outer_r, fillet_r, fillet_angle=90, fillet_fn=0, rotate_fn=0) {
|
||||
if (fillet_r>0) {
|
||||
rotate_extrude(convexity=8, $fn=rotate_fn) {
|
||||
translate([outer_r, 0, 0]) {
|
||||
@@ -72,7 +72,7 @@ module fillet_polar_i_n(outer_r, fillet_r, fillet_angle=90, fillet_fn=90, rotate
|
||||
}
|
||||
|
||||
// 3d linear outside fillet.
|
||||
module fillet_linear_o(l, fillet_r, fillet_angle=90, fillet_fn=90, add=0.02) {
|
||||
module fillet_linear_o(l, fillet_r, fillet_angle=90, fillet_fn=0, add=0.02) {
|
||||
if (fillet_r>0) {
|
||||
translate([0,0,-add/2])
|
||||
linear_extrude(height=l+add, center=false) {
|
||||
@@ -82,7 +82,7 @@ translate([0,0,-add/2])
|
||||
}
|
||||
|
||||
// 3d linear inside fillet.
|
||||
module fillet_linear_i(l, fillet_r, fillet_angle=90, fillet_fn=90, add=0.02) {
|
||||
module fillet_linear_i(l, fillet_r, fillet_angle=90, fillet_fn=0, add=0.02) {
|
||||
if (fillet_r>0) {
|
||||
translate([0,0,-add/2])
|
||||
linear_extrude(height=l+add, center=false) {
|
||||
@@ -173,7 +173,7 @@ module cube_fillet_inside(size, radius=-1, vertical=[0,0,0,0], top=[0,0,0,0], bo
|
||||
}
|
||||
}
|
||||
|
||||
module cylinder_fillet_inside(h=10, r=10, top=3, bottom=3, $fn=0, fillet_fn=90, center=false) {
|
||||
module cylinder_fillet_inside(h=10, r=10, top=3, bottom=3, $fn=0, fillet_fn=0, center=false) {
|
||||
c_fn=($fn>0) ? $fn : poly_sides_r(r);
|
||||
rotfix=(($fn>0) ? 0 : 180/c_fn);
|
||||
cent=(center) ? -h/2 : 0;
|
||||
@@ -191,7 +191,7 @@ module cylinder_fillet_inside(h=10, r=10, top=3, bottom=3, $fn=0, fillet_fn=90,
|
||||
}
|
||||
}
|
||||
|
||||
module cylinder_fillet_outside(h=10, r=10, top=3, bottom=3, $fn=0, fillet_fn=90, center=false) {
|
||||
module cylinder_fillet_outside(h=10, r=10, top=3, bottom=3, $fn=0, fillet_fn=0, center=false) {
|
||||
c_fn=($fn>0) ? $fn : poly_sides_r(r);
|
||||
rotfix=(($fn>0) ? 0 : 180/c_fn);
|
||||
cent=(center) ? -h/2 : 0;
|
||||
|
||||
1680
lib/sbc_library.scad
1680
lib/sbc_library.scad
File diff suppressed because it is too large
Load Diff
@@ -1,721 +0,0 @@
|
||||
/*
|
||||
SBC Data Library Copyright 2018,2019,2020,2021,2022 Edward A. Kisiel hominoid@cablemi.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
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.0.3 Added Odroid-N2+ as "n2+"
|
||||
20201021 Version 1.0.4 Added Odroid-HC4 as "hc4"
|
||||
20220202 Version 1.0.5 Added HK Show2
|
||||
Updated Odroid-HC4 sbc data
|
||||
raised C4 hdmi, updated Odroid-XU4Q, add type sdcard_i, adjusted C2 usb
|
||||
20220413 Version 1.0.6 Added Odroid-M1 as m1, adjustments h2, c4 gpio
|
||||
20220515 Version 1.0.7 Added rockpro64, jetsonnano and other fixes and adjustments
|
||||
|
||||
see https://github.com/hominoids/SBC_Case_Builder
|
||||
|
||||
Instructions: All measurements from lower left corner of PCB to lower left
|
||||
corner of component or opening, holes measured to center. All measurements in mm.
|
||||
PCB orientation is long side of board along the x axis.
|
||||
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","momentary_6x6x4_90","momentary_4x2x1"
|
||||
plug - "pwr2.5_5x7.5","pwr5.5_7.5x11.5","pwr5.5_10x10","rtc_micro","audio_micro","uart_micro","molex_4x1","small_encl_satapwr"
|
||||
usb2 - "single_vert_a","double_stacked_a","micro"
|
||||
usb3 - double_stacked_a
|
||||
network - rj45_single
|
||||
video - "hdmi_a","dp-hdmi_a","mipi_csi","mipi_dsi"
|
||||
fan - "micro","encl_pmw","encl_pmw_h"
|
||||
gpio - "encl_header_30","encl_header_12","header_40","header_20"
|
||||
ic - "ic_2.8x2.8","ic_3x3","ic_3.7x3.7","ic_4x4","ic_4.7x4.7","ic_5x5","ic_5.75x5.75","ic_6x6","ic_6.4x6.4",ic_6.75x6.75",
|
||||
"ic_7x7","ic_4.3x5.1","ic_5.4x5.3","ic_6.7x8.4","ic_9x9","ic_11x8","ic_13x8","ic_13x9","ic_16x10"
|
||||
audio - "out-in-spdif","jack_3.5"
|
||||
storage - "sdcard","sdcard_i","sata_header","sata_power_vrec","sata_encl_power","sata_encl_header","m.2_header","m.2_stud"
|
||||
combo - "rj45-usb2_double","rj45-usb3_double"
|
||||
jumper - "header_2x1","header_3x2","header_5x1","header_6x1","header_7x1"
|
||||
misc - "ir_1","led_3x1.5","lcd_2.2","bat_hold_1"
|
||||
heatsink - "hc4_oem","c4_oem","c2_oem","c1+_oem","xu4_oem","n1_oem","xu4q_oem","n2_oem","n2+_oem","m1_oem","h2_oem"
|
||||
pcie - "x4"
|
||||
jst_ph - number of pins from 2-16
|
||||
|
||||
sbc models "c1+","c2","c4","xu4","xu4q","mc1","hc1","hc4","n1","n2","n2+","h2","rpi3b+","a64","rock64","rockpro64","atomicpi","jetsonnano"
|
||||
*/
|
||||
|
||||
sbc_data = [
|
||||
|
||||
// Hard Kernel Odroids
|
||||
["c1+",85,56,1,3.5,17,6, // sbc model, pcb size and component height
|
||||
3.5,3.5,3,3.5,52.5,3, // pcb holes 1 and 2 location and pcb hole size
|
||||
61.5,3.5,3,61.5,52.5,3, // pcb holes 3 and 4 location and pcb hole size
|
||||
9.385,38,3,60.615,18,3, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
12,12,1.25,34.4,22,0,0,"top", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
42.28,27.6,90,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type
|
||||
40.62,25.25,90,"bottom","memory","emmc", // emmc location, rotation, side, class and type
|
||||
46.5,40.5,180,"bottom","storage","sdcard", // sdcard location, rotation, side, class and type
|
||||
6.8,-1,0,"top","usb2","micro", // usb2 otg location, rotation, side, class and type
|
||||
24.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type
|
||||
46.5,0,0,"top","plug","pwr2.5_5x7.5", // pwrplug location, rotation, side, class and type
|
||||
65,2.25,270,"top","network","rj45_single", // ethernet location, rotation, side, class and type
|
||||
69.61,39.4,270,"top","usb2","double_stacked_a", // usb2 location, rotation, side, class and type
|
||||
69.61,21.4,270,"top","usb2","double_stacked_a", // usb1 location, rotation, side, class and type
|
||||
7,50,0,"top","gpio","header_40", // gpio location, rotation, side, class and type
|
||||
2.5,40.7,90,"top","misc","ir_1", // ir location, rotation, side, class and type
|
||||
0,15.2,90,"top","plug","uart_micro", // uart location, rotation, side, class and type
|
||||
14.7,11.86,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type
|
||||
16.5,16,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type
|
||||
16.5,31,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type
|
||||
55,9,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type
|
||||
57.7,36,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type
|
||||
16.5,16,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type
|
||||
16.5,31,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type
|
||||
9.385,38,0,"top","heatsink","c1+_oem"], // heatsink location, rotation, side, class and type
|
||||
|
||||
["c2",85,56,1,3.5,17,6, // sbc model, pcb size and component height
|
||||
3.5,3.5,3,3.5,52.5,3, // pcb holes 1 and 2 location and pcb hole size
|
||||
61.5,3.5,3,61.5,52.5,3, // pcb holes 3 and 4 location and pcb hole size
|
||||
9.385,38,3,60.615,18,3, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
13,13,1.25,32.5,24,0,0,"top", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
47.09,26.35,90,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type
|
||||
45.5,24,90,"bottom","memory","emmc", // emmc location, rotation, side, class and type
|
||||
46.5,40.5,180,"bottom","storage","sdcard", // sdcard location, rotation, side, class and type
|
||||
6.8,-1,0,"top","usb2","micro", // usb2 otg location, rotation, side, class and type
|
||||
18.73,0,90,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
24.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type
|
||||
46.5,0,0,"top","plug","pwr2.5_5x7.5", // pwrplug location, rotation, side, class and type
|
||||
65,2.25,270,"top","network","rj45_single", // ethernet location, rotation, side, class and type
|
||||
69.61,39.6,270,"top","usb2","double_stacked_a", // usb2 location, rotation, side, class and type
|
||||
69.61,21.6,270,"top","usb2","double_stacked_a", // usb1 location, rotation, side, class and type
|
||||
7,50,0,"top","gpio","header_40", // gpio location, rotation, side, class and type
|
||||
2.5,40.7,90,"top","misc","ir_1", // ir location, rotation, side, class and type
|
||||
0,15.2,90,"top","plug","uart_micro", // uart location, rotation, side, class and type
|
||||
14.7,11.86,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type
|
||||
17,18.25,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type
|
||||
17,30,0,"top","ic","ic_11x8", // memory location, rotation, side, class and type
|
||||
55,9,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type
|
||||
57.7,36,0,"top","ic","ic_5x5", // usbhub 5mm location, rotation, side, class and type
|
||||
17,18.25,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type
|
||||
17,30,0,"bottom","ic","ic_11x8", // memory location, rotation, side, class and type
|
||||
9.385,38,0,"top","heatsink","c2_oem"], // heatsink location, rotation, side, class and type
|
||||
|
||||
["c4",85,56,1,3.5,18,6, // sbc model, pcb size and component height
|
||||
3.5,3.5,3,3.5,52.5,3, // pcb holes 1 and 2 location and pcb hole size
|
||||
61.5,3.5,3,61.5,52.5,3, // pcb holes 3 and 4 location and pcb hole size
|
||||
4.19,38.1,3,55.39,18.175,3, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
14.5,14.5,1.25,32.875,22.4,0,0,"top", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
39.23,15,0,"bottom","-memory","emmc_plug", // emmc plug location, rotation, side, class and type
|
||||
36.8,1.34,0,"bottom","memory","emmc", // emmc location, rotation, side, class and type
|
||||
39.5,39.8,180,"bottom","storage","sdcard_i", // sdcard location, rotation, side, class and type
|
||||
19.75,-1,0,"top","usb2","micro", // usb2 otg location, rotation, side, class and type
|
||||
38.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type
|
||||
6.75,-1,0,"top","plug","pwr5.5_7.5x11.5", // pwrplug location, rotation, side, class and type
|
||||
65.765,2,270,"top","network","rj45_single", // ethernet location, rotation, side, class and type
|
||||
70,40,270,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||
70,22,270,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||
8.15,49,0,"top","gpio","header_40", // gpio location, rotation, side, class and type
|
||||
2.5,41.25,90,"top","misc","ir_1", // ir location, rotation, side, class and type
|
||||
0,11.5,90,"top","plug","uart_micro", // uart location, rotation, side, class and type
|
||||
15.25,10.75,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type
|
||||
13.185,17.16,0,"top","ic","ic_13x9", // memory location, rotation, side, class and type
|
||||
13.185,35.174,0,"top","ic","ic_13x9", // memory location, rotation, side, class and type
|
||||
56.46,33.38,0,"top","ic","ic_9x9", // usbhub 5mm location, rotation, side, class and type
|
||||
57.6,9.3,0,"top","ic","ic_5x5", // ethernet 5mm location, rotation, side, class and type
|
||||
13.185,17.16,0,"bottom","ic","ic_13x9", // memory location, rotation, side, class and type
|
||||
13.185,35.174,0,"bottom","ic","ic_13x9", // memory location, rotation, side, class and type
|
||||
4.16,38.175,0,"top","heatsink","c4_oem"], // heatsink location, rotation, side, class and type
|
||||
|
||||
["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,270,"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,270,"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,180,"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,180,"top","switch","slide_4x9", // switch location, rotation, side, class and type
|
||||
73.67,78.95,180,"top","audio","jack_3.5", // switch location, rotation, side, class and type
|
||||
18.95,46.23,0,"top","ic","ic_13x8", // memory top size, location, rotation and side
|
||||
19.04,64.24,0,"top","ic","ic_13x8", // memory top size, location, rotation and side
|
||||
18.95,46.23,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side
|
||||
19.04,64.24,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side
|
||||
45.74,27.51,0,"top","ic","ic_6.4x6.4", // component, location, rotation, side, class and type
|
||||
75.08,25,0,"top","ic","ic_3.7x3.7", // component, location, rotation, side, class and type
|
||||
74.3,69.54,0,"top","ic","ic_4.3x5.1", // component, location, rotation, side, class and type
|
||||
50.8,77.25,0,"top","ic","ic_5.4x5.3", // component, location, rotation, side, class and type
|
||||
77.03,51.92,0,"top","ic","ic_3x3", // component, location, rotation, side, class and type
|
||||
1,-.5,0,"top","heatsink","n2+_oem"], // heatsink location, rotation, side, class and type
|
||||
|
||||
["n2+_noheatsink",90,90,1.7,.2,17,14, // sbc model, pcb size and component height
|
||||
3,28.5,3.3,86.5,28.5,3.3, // pcb holes 1 and 2 location and pcb hole size
|
||||
3,86.5,3.3,86.5,86.5,3.3, // pcb holes 3 and 4 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
14.5,16.25,1.51,37.78,50.88,0,0,"bottom", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type
|
||||
18,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||
36,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||
54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type
|
||||
71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type
|
||||
83.96,32.1,90,"top","gpio","header_40", // gpio location, rotation, side, class and type
|
||||
17.61,39.73,0,"top","jumper","header_7x1", // jumper location, rotation, side, class and type
|
||||
.2,69.05,270,"top","plug","uart_micro", // uart location, rotation, side, class and type
|
||||
53,35,0,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type
|
||||
68.5,68.8,90,"top","fan","micro", // fan location, rotation, side, class and type
|
||||
7.2,76.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type
|
||||
59.35,85.4,180,"top","usb2","micro", // usb2 otg location, rotation, side, class and type
|
||||
35.85,85.62,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type
|
||||
33.5,72,0,"top","memory","emmc", // emmc location, rotation, side, class and type
|
||||
22.4,86.6,180,"top","misc","ir_1", // ir location, rotation, side, class and type
|
||||
48.45,86.7,270,"top","switch","slide_4x9", // switch location, rotation, side, class and type
|
||||
73.67,78.95,180,"top","audio","jack_3.5", // switch location, rotation, side, class and type
|
||||
18.95,46.23,0,"top","ic","ic_13x8", // memory top size, location, rotation and side
|
||||
19.04,64.24,0,"top","ic","ic_13x8", // memory top size, location, rotation and side
|
||||
18.95,46.23,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side
|
||||
19.04,64.24,0,"bottom","ic","ic_13x8", // memory bottom size, location, rotation and side
|
||||
45.74,27.51,0,"top","ic","ic_6.4x6.4", // component, location, rotation, side, class and type
|
||||
75.08,25,0,"top","ic","ic_3.7x3.7", // component, location, rotation, side, class and type
|
||||
74.3,69.54,0,"top","ic","ic_4.3x5.1", // component, location, rotation, side, class and type
|
||||
50.8,77.25,0,"top","ic","ic_5.4x5.3", // component, location, rotation, side, class and type
|
||||
77.03,51.92,0,"top","ic","ic_3x3"], // component, location, rotation, side, class and type
|
||||
|
||||
["m1",90,122,1.7,.2,17,14, // sbc model, pcb size and component height
|
||||
3,28.5,3,3,118.5,3, // pcb holes 1 and 2 location and pcb hole size
|
||||
86.5,118.5,3,,86.5,28.5,3, // pcb holes 3 and 4 location and pcb hole size
|
||||
3,67,3,66,25,3, // pcb holes 5 and 6 location and pcb hole size
|
||||
86.5,47,3,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
19,19,1.51,45,43.5,0,45,"bottom", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type
|
||||
17,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||
35,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.25,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type
|
||||
84.375,62.25,90,"top","gpio","header_40", // gpio location, rotation, side, class and type
|
||||
.2,101,270,"top","plug","uart_micro", // uart location, rotation, side, class and type
|
||||
21,88,120,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type
|
||||
61,118,0,"top","plug","audio_micro", // micro location, rotation, side, class and type
|
||||
7.2,108.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type
|
||||
20,0,0,"bottom","usb2","micro", // usb2 otg location, rotation, side, class and type
|
||||
35.85,117,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type
|
||||
33.5,103,0,"top","memory","emmc", // emmc location, rotation, side, class and type
|
||||
22.4,118.58,180,"top","misc","ir_1", // ir location, rotation, side, class and type
|
||||
73.73,111.5,180,"top","audio","jack_3.5", // audio jack location, rotation, side, class and type
|
||||
0,88.2,270,"top","plug","small_encl_satapwr", // pwrplug location, rotation, side, class and type
|
||||
.25,72,270,"top","storage","sata_header", // sata location, rotation, side, class and type
|
||||
50,115.65,0,"top","button","momentary_6x6x4", // spi button location, rotation, side, class and type
|
||||
7,101,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
7,103.5,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
3.5,35.87,270,"top","storage","m.2_header", // m2 socket location, rotation, side, class and type
|
||||
36.28,73,0,"bottom","ic","ic_16x10", // memory bottom size, location, rotation and side
|
||||
75.75,25,0,"top","ic","ic_5x5", // ic bottom size, location, rotation and side
|
||||
50.5,109.22,0,"top","ic","ic_5x5", // ic bottom size, location, rotation and side
|
||||
58,72,0,"top","video","mipi_csi", // mipi csi size, location, rotation and side
|
||||
65,93,0,"top","video","mipi_dsi", // mipi dsi size, location, rotation and side
|
||||
.5,0,0,"top","heatsink","m1_oem", // heatsink location, rotation, side, class and type
|
||||
86.5,47,0,"top","storage","m.2_stud"], // m2 stud location, rotation, side, class and type
|
||||
|
||||
["m1_noheatsink",90,122,1.7,.2,17,1.6, // sbc model, pcb size and component height
|
||||
3,28.5,3,3,118.5,3, // pcb holes 1 and 2 location and pcb hole size
|
||||
86.5,118.5,3,,86.5,28.5,3, // pcb holes 3 and 4 location and pcb hole size
|
||||
3,67,3,66,25,3, // pcb holes 5 and 6 location and pcb hole size
|
||||
86.5,47,3,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
19,19,1.51,45,43.5,0,45,"bottom", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
2.35,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type
|
||||
18,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||
36,0,0,"top","usb2","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||
54.5,-1,0,"top","video","hdmi_a", // hdmi location, rotation, side, class and type
|
||||
71.75,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type
|
||||
84.375,62.25,90,"top","gpio","header_40", // gpio location, rotation, side, class and type
|
||||
.2,101,270,"top","plug","uart_micro", // uart location, rotation, side, class and type
|
||||
21,88,120,"top","misc","bat_hold_1", // battery holder, location, rotation, side, class and type
|
||||
61,118,0,"top","plug","audio_micro", // micro location, rotation, side, class and type
|
||||
7.2,108.82,180,"top","storage","sdcard", // sdcard location, rotation, side, class and type
|
||||
20,0,0,"bottom","usb2","micro", // usb2 otg location, rotation, side, class and type
|
||||
35.85,117,0,"top","memory","emmc_plug", // emmc plug location, rotation, side, class and type
|
||||
33.5,103,0,"top","memory","emmc", // emmc location, rotation, side, class and type
|
||||
22.4,118.58,180,"top","misc","ir_1", // ir location, rotation, side, class and type
|
||||
73.73,111.5,180,"top","audio","jack_3.5", // audio jack location, rotation, side, class and type
|
||||
0,88.2,270,"top","plug","small_encl_satapwr", // pwrplug location, rotation, side, class and type
|
||||
.25,72,270,"top","storage","sata_header", // sata location, rotation, side, class and type
|
||||
50,115.65,0,"top","button","momentary_6x6x4", // spi button location, rotation, side, class and type
|
||||
7,101,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
7,103.5,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
3.5,35.87,270,"top","storage","m.2_header", // m2 socket location, rotation, side, class and type
|
||||
36.28,73,0,"bottom","ic","ic_16x10", // memory bottom size, location, rotation and side
|
||||
75.75,25,0,"top","ic","ic_5x5", // ic bottom size, location, rotation and side
|
||||
50.5,109.22,0,"top","ic","ic_5x5", // ic bottom size, location, rotation and side
|
||||
58,72,0,"top","video","mipi_csi", // mipi csi size, location, rotation and side
|
||||
65,93,0,"top","video","mipi_dsi", // mipi dsi size, location, rotation and side
|
||||
86.5,47,0,"top","storage","m.2_stud"], // m2 stud location, rotation, side, class and type
|
||||
|
||||
["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,270,"top","plug","uart_micro", // uart location, rotation, side, class and type
|
||||
75.3,79.45,180,"top","misc","ir_1", // ir location, rotation, side, class and type
|
||||
85.25,53,90,"top","jumper","header_5x1", // jumper location, rotation, side, class and type
|
||||
34.65,74.85,0,"bottom","button","momentary_6x6x4", // boot button location, rotation, side, class and type
|
||||
10,80.70,0,"bottom","fan","encl_pmw_h", // fan pwm connector location, rotation, side, class and type
|
||||
47.38,-1,0,"bottom","video","hdmi_a", // hdmi location, rotation, side, class and type
|
||||
25.05,28.85,0,"top","storage","sata_power_vrec", // sata location, rotation, side, class and type
|
||||
25.05,69.55,0,"top","storage","sata_power_vrec", // sata location, rotation, side, class and type
|
||||
25.87,38.45,0,"top","ic","ic_13x9", // memory bottom size, location, rotation and side
|
||||
25.87,56.46,0,"top","ic","ic_13x9", // memory bottom size, location, rotation and side
|
||||
25.87,38.45,0,"bottom","ic","ic_13x9", // memory bottom size, location, rotation and side
|
||||
25.87,56.46,0,"bottom","ic","ic_13x9", // memory bottom size, location, rotation and side
|
||||
78.78,27.6,0,"top","ic","ic_6x6", // nic location, rotation, side, class and type
|
||||
53.63,32.67,0,"bottom","ic","ic_7x7", // pcie bridge location, rotation, side, class and type
|
||||
10,59.53,0,"bottom","heatsink","hc4_oem"], // heatsink location, rotation, side, class and type
|
||||
|
||||
["show2",83,48,1,3.5,7,3, // sbc model, pcb size and component height
|
||||
3.5,3.5,3.5,3.5,44.5,3.5, // pcb holes 1 and 2 location and pcb hole size
|
||||
79.5,3.5,3.5,79.5,44.5,3.5, // pcb holes 3 and 4 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
8,8,1.25,8,20,0,0,"top", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
7.5,44,180,"top","usb2","micro", // usb2 otg location, rotation, side, class and type
|
||||
2,8.83,270,"top","jumper","header_6x1", // jumper location, rotation, side, class and type
|
||||
15.5,42,270,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
2,35,0,"top","jumper","header_3x2", // jumper location, rotation, side, class and type
|
||||
2,25.5,270,"top","plug","rtc_micro", // battery location, rotation, side, class and type
|
||||
7.65,2,0,"top","switch","slide_4x9", // switch location, rotation, side, class and type
|
||||
21.4,2,0,"top","button","momentary_6x6x4", // power button location, rotation, side, class and type
|
||||
29.8,3,0,"top","misc","led_3x1.5", // led location, rotation, side, class and type
|
||||
34,3,0,"top","misc","led_3x1.5", // led location, rotation, side, class and type
|
||||
38.2,3,0,"top","misc","led_3x1.5", // led location, rotation, side, class and type
|
||||
46.6,1,180,"top","button","momentary_4x2x1", // momentary button location, rotation, side, class and type
|
||||
55.2,1,180,"top","button","momentary_4x2x1", // momentary button location, rotation, side, class and type
|
||||
63.8,1,180,"top","button","momentary_4x2x1", // momentary button location, rotation, side, class and type
|
||||
19,9,0,"top","misc","lcd_2.2"], // lcd location, rotation, side, class and type
|
||||
|
||||
// RasberryPi 3B+, 3B, 3A+, 2, 1B+
|
||||
["rpi3b+",85.6,56.5,1,3,16,6, // sbc model, pcb size and component height
|
||||
3.5,3.5,2.75,3.5,52.5,2.75, // pcb holes 1 and 2 location and pcb hole size
|
||||
61.5,3.5,2.75,61.5,52.5,2.75, // pcb holes 3 and 4 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
14,14,1.5,19.975,24.525,0,0,"top", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
0,0,0,"","",""], // component location, rotation, side, class and type
|
||||
|
||||
// Pine64 SBCs
|
||||
["a64",127,79,1.6,3.5,0,0, // sbc model, pcb size and component height
|
||||
4.5,4,3.3,122.5,4,3.3, // pcb holes 1 and 2 location and pcb hole size
|
||||
4.5,75,3.3,122.5,75,3.3, // pcb holes 3 and 4 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
0,0,0,"","",""], // component, location, rotation, side, class and type
|
||||
|
||||
["rock64",85,56,1.6,3.5,14.8,1.7, // sbc model, pcb size and component height
|
||||
3.5,3.5,2.8,3.5,52.5,2.8, // pcb holes 1 and 2 location and pcb hole size
|
||||
61.5,3.5,2.8,61.5,52.5,2.8, // pcb holes 3 and 4 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
0,0,0,"","",""], // component, location, rotation, side, class and type
|
||||
|
||||
["rockpro64",127,79.5,2,3.5,17,8, // sbc model, pcb size and component height
|
||||
4.5,4.25,3.25,4.5,75.25,3.25, // pcb holes 1 and 2 location and pcb hole size
|
||||
122.5,4.25,3.25,122.5,75.25,3.25, // pcb holes 3 and 4 location and pcb hole size
|
||||
45.5,67.4,3.25,87,25.6,3.25, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
21,21,1.5,48,47.3,0,45,"top", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
-1.5,12,90,"top","plug","pwr5.5_7.5x11.5", // component, location, rotation, side, class and type
|
||||
-1.5, 32, 90, "top", "network", "rj45_single", // rj45 ethernet port
|
||||
-1.5, 52.4, 90, "top", "video", "hdmi_a", // hdmi port
|
||||
114.4, 9.8, 270, "top", "audio", "jack_3.5", // audio jack
|
||||
118, 19.5, 270, "top", "button", "momentary_6x6x4_90", // Power button
|
||||
118, 28.5, 270, "top", "button", "momentary_6x6x4_90", // Reset button
|
||||
112, 38.7, 270, "top", "usb2", "double_stacked_a", // USB-2 stack
|
||||
112, 55, 270, "top", "usb3", "double_stacked_a", // USB-3 / USB-C stack
|
||||
13.6, 73.4, 0, "top", "button", "momentary_4x2x1", // recover button
|
||||
42.6, 73.4, 0, "top", "gpio", "header_40", // gpio
|
||||
43.5, 0, 0, "top", "pcie", "x4", // pcie x4 port
|
||||
98.9, 14.7, 0, "top", "memory", "emmc_plug", // mmc port
|
||||
97.2, 0, 0, "bottom", "storage", "sdcard", // micro sdcard
|
||||
94.6, 73.4, 0, "top", "jst_ph", 2, // fan header
|
||||
101.4, 73.4, 0, "top", "jst_ph", 3, // SPDIF header
|
||||
110.3, 73.4, 0, "top", "jst_ph", 2, // rtc header
|
||||
10.6, 13.2, 270, "top", "jst_ph", 4], // sata dc out
|
||||
|
||||
["atomicpi",130.44,99.9,1.63,3,14,8, // sbc model, pcb size and component height
|
||||
4.22,3.95,3,126.22,3.95,3, // pcb holes 1 and 2 location and pcb hole size
|
||||
126.22,95.95,3,4.22,95.95,3, // pcb holes 3 and 4 location and pcb hole size
|
||||
64.67,95.95,3,0,0,0, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
0,0,0,"","",""], // component, location, rotation, side, class and type
|
||||
|
||||
["jetsonnano",100,80,1.63,.2,27,3, // sbc model, pcb size and component height
|
||||
4,17,3,4,75,3, // pcb holes 1 and 2 location and pcb hole size
|
||||
90,17,3,90,75,3, // pcb holes 3 and 4 location and pcb hole size
|
||||
16,75,3,80,75,3, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
2,-1,0,"top","plug","pwr5.5_7.5x11.5", // power plug location, rotation, side, class and type
|
||||
14,-1,0,"top","video","dp-hdmi_a", // hdmi location, rotation, side, class and type
|
||||
36,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||
53,0,0,"top","usb3","double_stacked_a", // usb3 location, rotation, side, class and type
|
||||
68.5,0,0,"top","network","rj45_single", // ethernet location, rotation, side, class and type
|
||||
88,-1,0,"top","usb2","micro", // otg location, rotation, side, class and type
|
||||
29,53,0,"top","ic","ic_9x9", // hub size, location, rotation and side
|
||||
2,36,90,"top","video","mipi_csi", // mipi_csi location, rotation, side, class and type
|
||||
72,45,90,"top","storage","m.2_header", // m.2 header location, rotation, side, class and type
|
||||
44,57,0,"top","storage","m.2_stud", // m.2 stud location, rotation, side, class and type
|
||||
11.5,30,180,"top","cm_holder","jetsonnano", // cm holder location, rotation, side, class and type
|
||||
13,33,0,"top","cm","jetsonnano", // cm location, rotation, side, class and type
|
||||
87.5,20,90,"top","gpio","header_40", // gpio location, rotation, side, class and type
|
||||
72,24,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
77,24,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
.5,30,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
.5,68.25,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
.5,65.5,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
.5,62.75,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
.5,60,0,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
93,72.5,90,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
95.75,72.5,90,"top","jumper","header_2x1", // jumper location, rotation, side, class and type
|
||||
8,62,90,"top","jumper","header_6x1"], // jumper location, rotation, side, class and type
|
||||
|
||||
["test",127,79,1.6,3.5,17,6, // sbc model, pcb size and component height
|
||||
4.5,4,3.3,122.5,4,3.3, // pcb holes 1 and 2 location and pcb hole size
|
||||
4.5,75,3.3,122.5,75,3.3, // pcb holes 3 and 4 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 5 and 6 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 7 and 8 location and pcb hole size
|
||||
0,0,0,0,0,0, // pcb holes 9 and 10 location and pcb hole size
|
||||
0,0,0,0,0,0,0,"", // soc1 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc2 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc3 size, location, rotation and side
|
||||
0,0,0,0,0,0,0,"", // soc4 size, location, rotation and side
|
||||
100, -1, 0, "top", "misc", "ir_1", // ir_1
|
||||
-1, 67, 90, "top", "misc", "ir_1", // ir_1
|
||||
60, 61, 180, "top", "misc", "ir_1", // ir_1
|
||||
108.5, 67, 270, "top", "misc", "ir_1", // ir_1
|
||||
0,0,0,"","",""] // component, location, rotation, side, class and type
|
||||
];
|
||||
@@ -1,214 +0,0 @@
|
||||
/*
|
||||
SBC Models Copyright 2016,2017,2018,2019,2020,2021,2022 Edward A. Kisiel hominoid@cablemi.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(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"
|
||||
20220413 Version 1.0.6 Added Odroid-M1 as "m1"
|
||||
20220515 Version 1.0.7 Added rockpro64, jetsonnano, updated sbc_test.scad, sbc_test_components.scad and other fixes and adjustments
|
||||
|
||||
see https://github.com/hominoids/SBC_Case_Builder
|
||||
|
||||
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]);
|
||||
}
|
||||
}
|
||||
if (class == "pcie") {
|
||||
if(loc_x!=0 || loc_y!=0) {
|
||||
pcie(loc_x, loc_y, rotation, side, type, pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "jst_ph") {
|
||||
if(loc_x!=0 || loc_y!=0) {
|
||||
jst_ph(loc_x, loc_y, rotation, side, type, pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "cm_holder") {
|
||||
if(loc_x!=0 || loc_y!=0) {
|
||||
cm_holder(loc_x, loc_y, rotation, side, type, pcbsize_z);
|
||||
}
|
||||
}
|
||||
if (class == "cm") {
|
||||
if(loc_x!=0 || loc_y!=0) {
|
||||
cm(loc_x, loc_y, rotation, side, type, pcbsize_z);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1714
sbc_case_builder.cfg
1714
sbc_case_builder.cfg
File diff suppressed because it is too large
Load Diff
27161
sbc_case_builder.json
Normal file
27161
sbc_case_builder.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
1927
sbc_case_builder_accessories.cfg
Normal file
1927
sbc_case_builder_accessories.cfg
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
BIN
stl/db9_f.stl
Normal file
BIN
stl/db9_f.stl
Normal file
Binary file not shown.
BIN
stl/db9_m.stl
Normal file
BIN
stl/db9_m.stl
Normal file
Binary file not shown.
BIN
stl/h3_port_extender.stl
Normal file
BIN
stl/h3_port_extender.stl
Normal file
Binary file not shown.
BIN
stl/header_2x2_90.stl
Normal file
BIN
stl/header_2x2_90.stl
Normal file
Binary file not shown.
BIN
stl/header_2x5_90.stl
Normal file
BIN
stl/header_2x5_90.stl
Normal file
Binary file not shown.
BIN
stl/header_encl_2x5_90.stl
Normal file
BIN
stl/header_encl_2x5_90.stl
Normal file
Binary file not shown.
BIN
stl/header_f_2x12_90.stl
Normal file
BIN
stl/header_f_2x12_90.stl
Normal file
Binary file not shown.
Reference in New Issue
Block a user