hominoids / SBC_Model_Framework

A framework for the generation of SBC and micro-controller models
GNU General Public License v3.0
102 stars 20 forks source link

Radxa Rock5B+ Support #18

Open hominoids opened 2 months ago

hominoids commented 2 months ago

There are significant layout differenced between the Rock5B and Rock5B+ so a new SBC model is needed. The known physical differences so far include:

  1. Mini-HDMI changed to full size HDMI and moved to right side.
  2. USB-C placed in old Mini-HDMI Input location at front.
  3. SDCard moved to right side below new HDMI input location.
  4. Original m.2 location moved and another m.2 socket added.

At a minimum measurements are needed for the HDMI input and SDCard location on the right side for an initial SBC model release.

f1vefour commented 2 months ago

Will the step file of the board work for measurements?

https://dl.radxa.com/rock5/5b+/docs/hw/radxa_rock5bp_v1.2_3d_stp.zip

hominoids commented 2 months ago

It might if it's accurate and I can convert it to a STL. I didn't know there was a STEP file available for the plus. I have had problems with both the STEP and DXF files from Radxa for other SBC. Some won't convert correctly and the NIO12L STEP file was not accurate and had the wrong PCB thickness, skewed hole locations and other component issues. In the end I had to revert to hand measurements to get an accurate model. I'll take a look at the STEP file and see if it's workable.

f1vefour commented 2 months ago

I can certainly understand that. When I converted the file I have to OBJ using Freecad and Prusaslicer the type C power jack is missing, probably other issues also but that was a glaring one. It was also missing in both applications and I don't have access to fusion 360 since I'm Linux only.

I believe this is a new step file versus the one I have, I'll take a look at it this evening. When I compared it to a case option available for the 5B key components and holes were lining up.

If not I can try to provide any needed measurements, I will also be printing a case to verify.

hominoids commented 2 months ago

The STEP file had some issues but was usable enough for the most part. I was able to use it to place the HDMI-A input, SDCard, M.2 connectors and studs. The USB-C ports were missing in the STEP model but I already have one located correctly from the rock5b model and left the other in the old Micro-HDMI port location as a start. I created a test case called rock5b+_shell that uses 3mm inserts and fasteners in a top down configuration that you can try. I expect some further tweaking will still be needed.

FYI, because of the large overhang of the vertical HDMI ports and the angle needed for assembly, I find it easier to insert the SBC into the top first and then put the bottom on. Also, don't forget to update the submodule SBC_Model_Framework, otherwise SBC Case Builder will throw errors when you select the test case. If some adjustments are needed, straight on pictures of the problem area work best.

f1vefour commented 2 months ago

I printed a case but it wasn't the shell case and I couldn't get the board in the case. I'm now printing the rock5b+_shell case and will see how it goes. The print had a lot of stringing and just looks awful, likely due to the fact the filament is old and needs a bit of drying. Regardless I don't trust the dimensional accuracy due to the print issues so it's of no use, I will update when the new print finishes.

I appreciate you adding the board so quickly and I'm trying to reciprocate by verifying, I got overly anxious looking at the various options and forgot to go back to the correct variant when exporting.

hominoids commented 2 months ago

This SBC can be tricky to assemble for some designs because of the component overhang. Increasing the gap usually can solve the problem. It seems more of the Chinese OEMs are doing that recently so I added a comment in the README.md file under Notes, Tips and Things to Check to make people aware so they consider that situation.

I appreciate your effort to produce a test print immediately but take your time, it's a no pressure situation and I'm in no hurry. I have plenty of other things that can keep me busy in the mean time.

f1vefour commented 2 months ago

Yeah I don't understand the mentality with the overhang, it's not an issue on something which has all connections on one side but with something like this Rock 5B/B+ it doesn't make sense.

When you say increasing the gap what do you mean? One of the parametric options?

hominoids commented 2 months ago

Yes, there is a gap adjustment under the 3D Case Adjustment Tab called gap. It adjusts the amount of space between the PCB and the sidewall of the case. If the gap is greater then any component overhang then the SBC will drop straight in vertically. If the gap is less on any side then the overhang then that component will extend into the sidewall and maybe thru it and have to be assembled by angling in the side that extends into the sidewall. If there are also components with large overhangs on the opposing side then that would require a larger gap to accommodate the overhang of both sides. So depending on component location and their overhang amounts, the gap needed will vary. This becomes especially apparent for the fitted and snap top case designs because the height of the bottom exaggerates the problem.

f1vefour commented 2 months ago

Thank you for the information, definitely will need to adjust that for the first case I printed.

Everything looks to fit correctly except the side HDMI, it's a little off.

Printing the bottom now.

PXL_20240818_225720133 PXL_20240818_225705767~2 PXL_20240818_225634624

I need to switch this 0.6 nozzle out for 0.4, not printing those small vents too neatly but it's still perfectly serviceable.

hominoids commented 2 months ago

That looks good overall. The STEP model must not be accurate then because the HDMI input is perfectly aligned with what the STEP model shows. I'll wait until you have the two halves together to get a more accurate reading on how much to move the HDMI input. If it stays where it is currently after assembly then it looks like maybe .25-.5mm might work to center it, but it's hard to judge the scale from a photo so please provide your thoughts.

f1vefour commented 2 months ago

Will do, my power is currently out from a storm so I will update later this evening or tomorrow.

f1vefour commented 2 months ago

I've got to reprint the whole case, I don't know if it's something I did or if the case is actually this way but the bottom is smaller than the top.

Everything lines up it's just the walls are about 2mm smaller all the way around, very strange.

hominoids commented 2 months ago

I was looking at the model today and it looks like the HDMI-A placement was out of alignment with the OEM STEP model. I made a .25mm adjustment which I believe should correct the alignment Issue. You'll need to update SBCMF and SBCCB again to get the correction but let me know how your print turns out when you get to it.

f1vefour commented 2 months ago

Will do, I plan on reprinting the case tonight.

Have you had time to unbox and play with the M2 yet? All I've done is had a quick look but haven't had time to boot it and give it a go.

hominoids commented 2 months ago

I have unboxed it and spent sometime getting the HK STEP file converted to use for a SBCMF model. I have been working on a significant Timber Framing construction project all this summer which is taking most my time. It is a carry over from last summer which is when I started on it. I'm hoping to get a rain/rest day this weekend to spend more time with the M2.

f1vefour commented 2 months ago

It's amazing how much time a project like this can take when doing it yourself. My brother's and I just finished remodeling my mother's entire home and it took over two years, just pulled all her extremely heavy oak furniture out of storage yesterday. While I enjoyed spending time with my brothers I'm so thankful it's done.

Best of luck with your endeavor, here's to a rainy day.

f1vefour commented 2 months ago

Something is off, if you change the fan slot on the shell case to be just an open square the top and bottom won't be the same size.

I've tried printing this three times and something has been wrong each time.

I'm going to give it one more shot and print the plater STL as it's exported instead of splitting the STLs in Prusaslicer and printing the top and bottom separately. Maybe this is a bug in Prusaslicer and not an issue with your project at all.

hominoids commented 2 months ago

Hmmm, I can't think of anything that could cause that and it seems to be ok here for me. Try this, open the saved design rock5b+_shell and change the fan opening as needed. Instead of splitting the Platter View just generate each half separately by selecting the Tab View->view->part, use _individualpart to select the part you want, render(F6) and then export STL (F7) for the top and then the bottom and print those STL. I think most likely there is a problem being injected thru the splitting process for some reason.

f1vefour commented 2 months ago

Okay I'll try that, thanks.

f1vefour commented 2 months ago

I've not had a chance to print the case again, the only roll of filament I have (not in storage) is old and began snapping constantly towards the last 15% of the spool.

Still on the to-do list.

There is a new step file which has been corrected and has the components which were missing, I'm attaching it and a STL I converted from it if you want to take a look.

radxa_rock5bp_v1.2_3d_stp_stl.zip

hominoids commented 2 months ago

Thanks for the info. I took a look at the new STEP file and adjusted the USB-C port so pull the latest SBCCB and update SBCMF again before you get to doing the test print. With a little luck you will be set to go.

suranyami commented 1 day ago

Just printed out a shell case of this. A couple of minor changes I would suggest:

  1. Front-side USB-C connector hole could move down by 0.5 mm.
  2. Bottom left standoff near the front SSD connector is too wide and would need to be shaved off to allow a full 2280 SSD to be connected. If the hex layout was rotated so the flat side was pointing towards the SSD instead of the vertex, that would help. A narrower diameter standoff would also help, and/or make it square with the SSD. In fact, even better: allow the standoffs to be square, as well as round or hex.
  3. Default standoff/screw arrangement is a bit whack… It’d be better if it defaulted to a nut recess on the bottom or a threaded m2.5 hole on the inside or something.

Nothing that can't be tweaked in OpenSCAD though. Gonna try re-printing it using the snap case design and the above adjustments, and see how that goes.

Apart from that, amazing tool! Kinda annoyed OpenSCAD doesn't work on MacOS any more, but hey, I've got a Rock 5B+ I can run it on… :-)

IMG_4465 IMG_4464 IMG_4466 IMG_4469

hominoids commented 15 hours ago

Thanks for the test print and feedback. I pushed a commit to lower the mask opening for the USBC and increased the case Gap for the rock5b+_shell test case. SBC Case Builder and the sub-module SBC _Model_Framework will need to be updated to see the change.

The Gap was increased because I can see the case top being pushed out by the double stacked USB3 ports and rj45 connector. Regarding standoff and hole size, this case is setup to use 3mm or 2.5mm inserts in the bottom. I used to do just a hole as you suggested but many thought that inserts are ubiquitous enough these days, so the default was changed to use inserts. It’s easy to change in the Standoff Tabs if you need something different and a note in the readme under Notes, Tips and Things to Check was made at the time to alert users. https://github.com/hominoids/SBC_Case_Builder#standoff-selection-inserts-and-clearance

NVME access is usually created using the Access Panel Tab in SBCCB were one can be created or resized. The reason one is not in the test case is that the position of the NVME drives and the close proximity of the mount screw and connector to the sides of the case prevent the NVME drive from being removed without removing the bottom of the case anyway. This usually can be remedied by over-sizing the case in one or more axis.

This is a common issue when NVME drives approach the physical dimension of the PCB, as in this SBC. An example of over sizing the case to fit a NVME Access Panel in this scenario can be seen in the test case m1s-nvme_shell. To address the Standoff interfering with a mounted NVME, decreasing the size of the top standoffs to 2.5mm should solve the problem. As you said, all of these issues can be solved and are typical things to adjust when a new SBC and cases are added to SBCCB. It’s why test prints are important.

If your going to try the Snap case, definitely read the section called Component Overhang and Case Gap if you haven’t already. The Gap may need to be increased little more to be able to install the SBC in the bottom. https://github.com/hominoids/SBC_Case_Builder#component-overhang-and-case-gap

I hold this open for any further feedback you might have. Thanks again.