Open-source project
JaredC01/LabStack avatar
JaredC01/LabStack

LabStack: 3D printed rackmount parts for single board computers and their accessories

Modular rackmount solutions for Raspberry Pi's and other SBC's and accessories.

1,184 stars45 forksUnknownGPL-3.0

At a glance

What is it?
LabStack is a set of printable 3D models that turn Raspberry Pi boards, drive bays, fan panels and small servers into rackmount equipment, released as STL files with the CAD to modify. It suits a home lab operator who wants a small computer in a 19 inch rack without a bespoke chassis, and it is a hardware project rather than a software one.
Who is it for?
LabStack fits a home lab operator who already owns a rack and wants a Raspberry Pi or a small server in it without buying a vendor enclosure, because the models are printed parts with the CAD published alongside them, so a different board or a different accessory can be accommodated.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 165 days ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A rack full of single board computers, printed rather than bought

LabStack is a set of modular rackmount solutions for Raspberry Pi boards, other single board computers and accessories.

The problem it solves is narrow and real. A Raspberry Pi is a bare board with no enclosure worth putting in a rack, and a small home lab usually has a mix of things that need to live in the same 19 inch rack: boards, drive bays, fans, and the small appliances around them. Buying a proper rackmount enclosure for each is expensive, and the enclosures on the market tend to be for a specific board revision. Printing your own is cheap and, if the CAD is published, adaptable.

That last point is the design commitment. The author says they are open to helping create mounts for specific models within reason, but will be releasing CAD for users to create their own mounts, and the possibilities are endless.

The repository structure reflects three product lines and a shared assets folder. There is a `LabStack 19/` directory for the full size 19 inch rack parts, a `LabStack Mini/` directory for a smaller variant, and a `LabStack Modules/` directory for the individual modules, plus a `CAD/` directory and an `Images/` directory holding the photographs.

The licence is GPL-3.0, the project is not archived, and the last push was on 2026-05-11. There are no GitHub releases, which is normal for a model collection where the files live in the repository rather than in a release artefact.

The fastener list is the actual specification

The most useful part of the documentation is the hardware list, and it is unusually precise in a way that tells you the models were actually built and tested rather than designed on paper.

The headline warning is that additional hardware IS required for most models. These are printed brackets and mounts, not complete assemblies.

The 2U printed bracket requires 16 M3x4x5mm brass heatset inserts and 4 M3x6mm screws per module, or other M3x6mm through M3x20mm screws. The screw type constraint is stated: BHCS or SHCS, no FHCS. That is a real constraint and it is the kind of detail that decides whether a print works. Heatset inserts are pressed into the plastic with heat and give a thread that survives repeated assembly, which is what a rack bracket that goes in and out of a rack needs. Flat head screws into a heatset insert are a poor combination because the flat head bottoms out and the insert cannot clamp properly, so the exclusion makes mechanical sense.

The 1U 5.25 inch drive bay mount was designed specifically for the Icy Dock ExpressCage MB324SP-B and requires 8 M3x6mm screws, again BHCS or SHCS, no FHCS.

The general Pi mounts, for 2x Pi, 1x Pi and so on, require 4 M2.5x5 SHCS screws, and if you are using a HAT, a PoE hat or otherwise, standoffs or other length M2.5 screws may be required. That last point is about clearance rather than strength, since a hat sits on top of the board and the standoffs determine whether the two fit.

The JetKVM modules take 2 M2x12 SHCS screws per JetKVM unit, and the 80mm fan panel requires the coarse-thread screws that the fans come with.

So before you print, you should count the hardware. Most models have a fastener bill, and the sizes and head types are not interchangeable across the range.

STLs to print now, CAD to modify later

The project is in a specific stage of completion, and the documentation says so directly.

The author writes that they will continue to work on uploading instructions and images as they have time, and that in the meantime all of the current STLs are available.

That sentence is the honest summary of the state. The printable files are there, so you can start making parts today. The written instructions and the photographs that would tell you which way a bracket goes and how the modules stack are still being added.

The distinction matters for a hardware project in a way it does not for a library. For software, a missing README is a documentation gap you can work around by reading the code. For a bracket, a missing image is a physical assembly you have to reverse engineer, and a photo of the finished product in the `Images/` directory is often the only reference for orientation and part order.

The three images shown in the documentation are the practical guide for now. They are photographs of the assembled units, which is the correct kind of reference for a printed part, since the shape tells you where the insert goes and how the module sits in the rails.

The CAD is the part that makes this more than a print file collection. The promise to release CAD for users to create their own mounts is the difference between a set of parts for the specific boards the author owns and a system. If you have a different SBC, or a different drive cage, or a device nobody has made a mount for yet, having the source geometry means you can modify it rather than starting from scratch.

The `CAD/` directory at the top of the repository is where that source lives, and the `LabStack Modules/` directory is the natural place to look for the individual printable pieces, with `LabStack 19/` and `LabStack Mini/` holding the rack specific assemblies.

Why rackmounting a Pi is a design problem at all

The engineering behind the parts is worth understanding, because it explains the shapes.

A 3D printed part in a rack has to do two jobs that conflict. It has to hold a board, which means a flat surface with a pattern of holes matching the board's mounting pattern, and it has to grip the rack rails, which means a structure that resists the pull of a cable being yanked. Printed plastic is stiff in compression and weak in tension along the layer lines, so the geometry has to be shaped so that the load runs through the layers rather than between them.

The heatset insert approach is a direct answer to the repeated-assembly problem. A self-tapping screw in printed plastic strips the hole after a few cycles, so a rack part that gets removed to swap a drive would be a consumable. A brass insert gives a metal thread in a plastic part, which is what makes the 2U bracket with 16 inserts per module sensible: the module is meant to come out of the rack regularly and go back in without degrading.

The choice of M3 for the 2U and 1U parts and M2.5 and M2 for the board-level mounts follows from what is being held. A 5.25 inch drive cage with drives in it is heavy and is carried by the rack ears, so it gets M3. A Pi board is light and the screws go into the board's own mounting holes, so smaller fasteners are appropriate, and the JetKVM's M2x12 screws reflect its own chassis.

The 80mm fan panel is the odd one out because it does not use a specified fastener at all. It takes the coarse-thread screws the fans come with, which is the pragmatic choice for a part that has to hold a fan the user has already bought, and it also implies the panel is designed around standard 80mm fan mounting holes.

Where a printed rack part stops being the right answer

There are honest reasons not to reach for a printed mount, and it is worth being clear about them.

The first is that printed parts are not certified for anything. A rack full of hot running compute is a heat environment, and a printed bracket has a lower temperature rating and a different creep behaviour than metal. It also will not survive being dropped with a load, and a rack that gets moved does get dropped. For a home lab this is an accepted trade, and for anything else it is not.

The second is the print time and the geometry. Printed parts with heatset inserts need enough wall thickness around the insert to hold it, which means a solid bracket rather than a thin one, and a rack module with several of them is a lot of plastic and a long print. The 2U bracket alone needs 16 inserts, which is 16 holes to clean and ream, and that preparation time is a real cost that the hardware list only hints at.

The third is the fit and clearance problem. The 5.25 inch bay mount was designed specifically for one Icy Dock model, the ExpressCage MB324SP-B, and the general Pi mounts come in 2x Pi and 1x Pi variants with a note that a HAT may need different standoffs. Anything outside the designed combination is a modification, which is exactly where the published CAD becomes useful, and exactly where a first attempt is likely to be wrong.

The alternative approach is a commercial rackmount enclosure or a generic DIN rail or 3D printed universal mount, and the difference in approach is fit versus universality. A commercial enclosure fits perfectly and costs more, and a universal mount fits several things approximately and needs per-device adapters anyway. A printed part that is designed for your exact board fits as well as the commercial one and costs filament.

There is also the option of doing nothing clever, which is to leave the board on a desk or in a small enclosure and run an Ethernet cable to the rack. For a home lab, the cable management is the real problem, and that is the problem this project is actually solving.

Editorial conclusion

LabStack fits a home lab operator who already owns a rack and wants a Raspberry Pi or a small server in it without buying a vendor enclosure, because the models are printed parts with the CAD published alongside them, so a different board or a different accessory can be accommodated. Skip it if you have no 3D printer, since every model is a print, and skip it if you need a finished product with a warranty, since this is a hobby hardware project with instruction images still being added. Before you print, work out the fastener bill for the specific model you want, because the parts use heatset inserts and specific screw types that are not interchangeable, and read the note that additional hardware is required for most models. The last push was on 2026-05-11.

Frequently asked questions

What is LabStack?

It is a set of modular rackmount solutions for Raspberry Pi boards, other single board computers and accessories, provided as printable 3D models with the CAD published so users can create their own mounts.

Do the LabStack models need extra hardware to assemble?

Yes. The 2U printed bracket needs 16 M3x4x5mm brass heatset inserts and 4 M3x6mm screws per module, the 1U drive bay mount needs 8 M3x6mm screws, the general Pi mounts need 4 M2.5x5 SHCS screws, and the JetKVM modules need 2 M2x12 SHCS screws each.

Why does the LabStack documentation exclude flat head screws?

The screws specified are BHCS or SHCS and explicitly not FHCS, which for a heatset insert means the head geometry has to let the insert clamp properly rather than bottoming out on it.

Can I modify the LabStack models for a device the author has not made a mount for?

Yes. The author says they are open to helping create mounts for specific models within reason, but will be releasing CAD for users to create their own mounts, and the repository has a CAD directory with the source geometry.

Is the LabStack documentation complete?

Not fully. The author notes they will continue uploading instructions and images over time, and that all of the current STLs are available in the meantime, so the printable files are there while some written guidance and photographs are still being added.

Official sources

  1. Issues
  2. JaredC01/LabStack on GitHub
  3. License: GPL-3.0
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/jaredc01-labstack.svg)](https://hysenlabs.com/projects/jaredc01-labstack)

Was this useful?