Devlog #4: Iterating CAD for component assembly and adding necessary detail
With the hardware flow open, I received feedback on my hardware project. A reviewer returned my funding request and advised me to work on adding more detail to my CAD model, since it’s important for actually putting the hardware together and makes CAD your best wingman.
Detailed Assembly
The detailed assembly would be close to the concept from Devlog #2, but:
- Instead of blocks for every hardware component, I’ll use open-source
.stepfiles as 1:1 reference models. If the model accurately represents the real part and tolerances are accounted for, Onshape fits should represent reality. (Attribution is given indocs/ATTRIBUTIONS.mdin my GitHub repository.) - Fasteners mattered now, so there was no more pairing of generic screws with generic nuts and calling it a day.
- The clearance holes from before weren’t as reliable as threaded bosses for mounting purposes, so I had to make replacements where necessary.
Hardware Modeling and Fit
Raspberry Pi 4B
Importing the model for the Raspberry Pi 4B revealed an incorrect assumption. I assumed its 4 mounting holes sat near the corners of the board, but they were actually positioned differently. I adjusted the gap between the mounting rails to allow the Pi to rest and moved the mounting holes to where the Pi could line up on top of them, resulting in a mounting-aware pair of rails that I fastened shortly after.
Elecrow RC070 7-inch Touchscreen Display
I took the given file from its product page and merged its individual parts into one composite part. After composing, I added mounting holes matching those of the real component. The screen’s width fit perfectly into the top enclosure’s cutout (same width dimension), and with that, I added 0.5mm clearance to all sides of the top enclosure half’s screen cutout in case tolerance reality decides to strike my hardware.
Anker Portable Charger/Power Bank
This was where it got tricky. There was no available CAD model for the battery pack online, so I had to reverse engineer it myself. Our more realistic battery model had a length of ~153mm, while our placeholder had a length of ~115mm. Since our battery tray was initially modeled to fit snugly around the placeholder model (back when we just needed everything to fit together), our actual battery wasn’t going to fit. Our much more realistic model won over, and I reworked the battery tray with a looser but not as risky fit, centered closer to the side opposite the mounting rails of the inner enclosure’s bottom half.
MicroCenter Flash Drive
This part required some more of the same principle - reverse engineering - and having the flash drive with me made it easier to create a reference model. Dimensions that are reasonably close to the real thing in Onshape allow us to achieve the same purpose: testing the spacing and enclosure considerations of Stardeck.
Challenges
Reverse engineering the battery and flash drive was where I learned the most during this revision. I implemented the dimensions that were most relevant to each part’s size and connectivity (since I didn’t need 10/10 looks here) to concoct replicas that came pretty close to the real thing. I also had to design holes that would work with a custom Featurescript for threading. I tried to increase the thickness of certain sides with mounting holes for ThreadCreator’s sake, but what ended up working was switching to a similar Featurescript called BoazThread.
What’s complete:
- Refined key details of the component assembly
- Related my enclosure hardware to 1:1 hardware models
- Reverse engineered parts without publicly available CAD models
Next up:
- Refine design further (if required for funding)
- Receive physical parts
- Assemble Stardeck IRL
- Get Stardeck to boot