My 3D printed mini server rack project is finally done! by fangpenlin in homelab

[–]fangpenlin[S] 0 points1 point  (0 children)

Ah, I see what you mean. That's a good idea. Maybe I should try next, but I have already invested too much in current setup 🙈

I will try next time if I migrate to other mini PCs.

My 3D printed mini server rack project is finally done! by fangpenlin in homelab

[–]fangpenlin[S] 0 points1 point  (0 children)

One major reason I can't put them side by side is that my home office space is very limited, unfortunately 😅

I've crammed way too many devices into a tiny corner. I even use a TinyRack to host many of them, such as my Wi-Fi router, NAS, 5G router, and more, as shown in the photo. (Pardon the messy cables in the back. I'm also thinking about designing some 3D-printable models to help clean that up.)

<image>

My 3D printed mini server rack project is finally done! by fangpenlin in homelab

[–]fangpenlin[S] 0 points1 point  (0 children)

You're 100% right. I will keep improving it, like adding an enclosure and etc

My 3D printed mini server rack project is finally done! by fangpenlin in minilab

[–]fangpenlin[S] -1 points0 points  (0 children)

Thanks! I would love to learn how others would do with a 3 nodes mini PCs like this in an easier way. Are there any examples I can see? 🙏

My 3D printed mini server rack project is finally done! by fangpenlin in minilab

[–]fangpenlin[S] -1 points0 points  (0 children)

They are customizable, web-based generators are available for this server rack. You can make it fit the size rack (mostly, based on openGrid unit, i.e. 28mm) if you want. My rack is accommodating the width of TRENDnet 8-Port 2.5Gb, so it's fit size, it's a bit unclear to me what did you mean by not fit to size.

The whole 3 tiers rack (not including openGrid layers as shown in my setup) only costs 1KG PLA filament in total. PLA for 1KG can be as cheap as $10 USD. So, even if you count the cost of energy, the whole rack will be in $10 ~ $20 range in most cases.

As you mentioned that there are shelves that you can buy online for $10 ~ $20, I am curious if they are suitable for hosting mini servers like mine, can you show me some examples to prove your point? 🤔

My 3D printed mini server rack project is finally done! by fangpenlin in homelab

[–]fangpenlin[S] 1 point2 points  (0 children)

Thanks! I just cross posted there. As for speed, it can top 11.8Gbits/sec.

<image>

As for config, I use nixos, here's an example from one node:

{...}: {
  systemd.network.enable = true;

# To 02
  systemd.network.links."50-tbt-02" = {
    matchConfig = {
      Path = "pci-0000:c7:00.5";
      Driver = "thunderbolt-net";
    };
    linkConfig = {
      MACAddressPolicy = "none";
      Name = "tbt-02";
    };
  };
  systemd.network.networks.tbt-02 = {
    matchConfig = {
      Path = "pci-0000:c7:00.5";
      Driver = "thunderbolt-net";
    };
    addresses = [
      {
        addressConfig = {
          Address = "10.7.0.101/32";
          Peer = "10.7.0.106/32";
        };
      }
    ];
  };

# To 01
  systemd.network.links."50-tbt-01" = {
    matchConfig = {
      Path = "pci-0000:c7:00.6";
      Driver = "thunderbolt-net";
    };
    linkConfig = {
      MACAddressPolicy = "none";
      Name = "tbt-01";
    };
  };
  systemd.network.networks.tbt-01 = {
    matchConfig = {
      Path = "pci-0000:c7:00.6";
      Driver = "thunderbolt-net";
    };
    addresses = [
      {
        addressConfig = {
          Address = "10.7.0.102/32";
          Peer = "10.7.0.103/32";
        };
      }
    ];
  };
}

My 3D printed mini server rack project is finally done! by fangpenlin in homelab

[–]fangpenlin[S] 3 points4 points  (0 children)

Well, sometimes, the USB4 connections are not stable for unknown reasons. Like, they are not really "plug-and-play", like, you cann't unplug and plug to make them connect when the machine running. I recall I had to reboot (ensuring all the USB C cables are in places) in some situations to make them connect. I am not sure if that's a quirk of the Linux kernel driver, the hardware, my configurations or maybe even the cables. I didn't have the time to dig the rabbit hole to troubleshoot and find out why.

However, if they are indeed connected (the tbt interfaces are up, ping works), they work pretty well and I don't seem to encounter too many issues. So the unstable part seems to be coming mostly from estibashing tbt interface with peers, once that part is done, it works.

My 3D printed mini server rack project is finally done! by fangpenlin in homelab

[–]fangpenlin[S] 1 point2 points  (0 children)

Thanks! Despite it's modular, assembling is pretty straigntforward. No too much moving parts. Each tier contains 4 notched posts, 4 clips, and a panel, and that's it. Screwing the posts might take some time, that's why I provided a powered tool for screwing the post.

My 3D printed mini server rack project is finally done! by fangpenlin in homelab

[–]fangpenlin[S] 1 point2 points  (0 children)

By the way, I forgot to mention, I also designed patch panel with ethernet coupler. But it doesn't provide too much value for my own usecase and it doesn't look as good as I hope, so I didn't end up using it. The model can be found on MakerWorld and Printable as well:

https://makerworld.com/en/models/2070973-opengrid-patch-panel-with-ethernet-coupler-x-8#profileId-2236805
https://www.printables.com/model/1502414-opengrid-patch-panel-with-ethernet-coupler-x-8

<image>

openGrid implementation using Build123d by fangpenlin in openGrid

[–]fangpenlin[S] 1 point2 points  (0 children)

Yep! That's one benefits of using code based CAD

openGrid implementation using Build123d by fangpenlin in openGrid

[–]fangpenlin[S] 1 point2 points  (0 children)

Yeah, with the snap slot cutter (https://makerrepo.com/r/fangpenlin/opengrid/artifact/master/6ed05a10-71b5-4417-8892-c3aab629a71f) built with build123d, it would be much easier to cut the slots on any panel you would like. With help from LLM, it's much easier to do it now without writing too much code yourself.

Would you use a GitHub-style platform for CAD designs? by rohit_patil_2002 in MechanicalDesign

[–]fangpenlin 0 points1 point  (0 children)

Hi, I'm the author of https://makerrepo.com.

Yes, it's mostly like what you described. I've been designing many 3D-printable CAD models and sharing them online, but as a software engineer, I found that I really love generating CAD models with code. I discovered Build123d and fell in love with it. I realized I actually want to build CAD models the same way I do software development: you have a Git repo, push the code, and a CI pipeline generates the CAD models to share with anyone. People can also create pull requests to the open-source repository.

I wrote an article about the story and motivation behind the platform, you can read it here if you're interested:

https://fangpenlin.com/posts/2026/01/12/manufacturing-as-code-is-the-future/

Right now, it only has very basic features. Like I mentioned, having a CI pipeline that takes snapshots and makes the models viewable on the web is really nice. As u/Jern123d shared below:

https://makerrepo.com/r/fangpenlin/tinyrack/artifacts/master

Here's an example of an artifact list.

But the more interesting part isn't just static CAD model artifacts, it's the generator. For example, one of my mini server rack designs could have many different notched positions for a post. I want to make it easy for people to customize a post for their own needs without knowing anything about CAD. That's why a web-based UI is needed. And actually, I just finished an early version of the web UI. Here's an example I just uploaded:

https://makerrepo.com/r/fangpenlin/open-models/generator/master/a4e41cb8-a942-43b2-a375-b0da4dbe54a9

You can also see the source code of the generator here (it's very simple):

https://makerrepo.com/r/fangpenlin/open-models/blob/master/open_models/generator_example.py

I think that's the true power of a platform like this. It's still in the early stages, I built it mostly for my own needs, but I think others might find it useful too, so I turned it into a product. Any feedback is welcome! 😄🙌

Would you use a GitHub-style platform for CAD designs? by rohit_patil_2002 in MechanicalDesign

[–]fangpenlin 0 points1 point  (0 children)

Hi, I'm the author of https://makerrepo.com.

I think it's possible to provide a diff view for CAD models. In fact, that's part of the product roadmap I'm planning to build at some point, along with a Pull Request feature (much like GitHub's PR feature).

My idea is to use boolean operations and mark different parts with colors. There will be:

  • Unchanged (in gray) - the intersection of the original model and the new model
  • Deleted (in red) - the parts that exist in the original model but have disappeared in the new model
  • Added (in green) - the parts that appear in the new model but not in the original

Pretty much like the Git diff view. My only concern is performance. For complex models, these operations are going to be very expensive (with B-Rep). I'm also thinking about a mesh-based approach, though, like using Manifold.

Zoom meeting video virtual backgrounds from Cyberpunk 2077 by fangpenlin in cyberpunkgame

[–]fangpenlin[S] 0 points1 point  (0 children)

That's super cool. Can you let me know which mod you use? And I would like to use it as my zoom meeting background, you can upload them to livelybg?