Mini Rack: a modular SBC and network stack

A push-fit PLA rack that sits behind the TV and holds the Banana Pi R4, NBN HFC box, 2× Pi 400, Radxa Cubie and Pi Zero 2 W. Every part prints on a Bambu Lab P1S.

3D model

Drag to orbit · scroll to zoom · right-drag to pan · click a part

Drawings

Front elevation
Right elevation
Plan (top)
Isometric
ProjectMini Rack
Unitsmm
ProjectionOrthographic, 3rd angle
MaterialPLA
Sourcerack.scad (parametric)
Tolerance±0.2 sliding fits

OpenSCAD renders

Layout and elevation

 z=274 ┌───────────────────── TOP CAP · vented chimney ─────────────────┐
 z=260 ├────────────────────────────────────┬───────────────────────────┤
       │ LEFT BAY · 243 clear               ┃ RIGHT BAY · 160 clear     │
       │ ┌─A7Z────┐┌─zero───┐ ┌───────┐    ┃      ┌────────────────┐   │
       │ └────────┘└────────┘ │USB pwr│    ┃ coax │ NBN  (front)   │──►│ LEDs
 ONE   │ ─────── upper shelf ─┴───────┴─── ┃ gap  │ BPI-R4 "nana"  │──►│ ports
 TIER  │ ┌──── Pi 400 "made-this" ──────┐  ┃      │ (behind)       │   │ open
 215h  │ ─────────── mid shelf ─────────── ┃      │ both on edge,  │   │ frame
       │ ┌──── Pi 400 "Rpi" ────────────┐  ┃      │ facing RIGHT   │   │
 z=45  ├────────────────────────────────────┻──────┴────────────────┴───┤
 BASE  │  ballast chambers · steel shot / sand · 2 halves, bow-tied     │
 z=0   └────────────────────────────────────────────────────────────────┘
        ◄───────────────────── 435 (base 447) ─────────────────────────►
 Depth: frame 115 · base 135 · ≈183 overall with the power board
 Rear: 15 mm cable chase · tie loops (sides) + tie slots (divider)
       dovetail rail on every panel: 3 power-board brackets, 2 hold-downs,
       2 cable combs

Why each position

  • Ballast base. About 0.8 L of baffled chamber per half, filled through bottom ports. With steel shot that is roughly 3–4 kg per half, which keeps the centre of gravity low. The base also overhangs 10 mm front and back to resist tipping.
  • One tier. Everything fits in a single 215 mm tier, so the rack is only 274 mm tall and leaves about 325 mm of headroom under the 600 mm limit if you ever add a tier.
  • Pi 400 "Rpi" and "made-this", left bay. They are the heaviest, least-touched boxes, so they sit on the floor and mid shelves, set back against the rear cable channel with their ports facing back.
  • A7Z and zero, above "made-this". Both lie flat in a two-pocket drop-in dock on the upper shelf, with their ports facing back through the open rear of each pocket. A spring leaf grips each one, and you lift it straight out. About 70 mm behind them leaves room for the big USB-C dongles and the USB-Ethernet adapter.
  • USB power adapter beside the caddies. Its tray sits on the same upper shelf, so the leads to the A7Z and zero are short.
  • NBN and BPI-R4 "nana", right bay, both facing right. Both stand on edge, one behind the other: NBN in front, router behind. The NBN's LED edge and every RJ45 and SFP+ port on the router face right through the open frame. The NBN's power and right-angle coax leave its left end into a 25 mm gap by the divider. Together they need only about 90 mm of depth, which is what lets the frame shrink to 115 mm.
  • Passive cooling. Air enters under each shelf and through the slotted shelves and panels, then leaves through the cap's chimney pockets.

Parts and STL files

All STLs are already oriented for printing. Repo opens Gitea's built-in 3D preview, and Raw downloads the file straight from .

PartQtyPrint orientation and notesSettingsFiles

Bambu print plates

Every part, in the right quantity, packed onto 6 P1S plates (256 × 256) with conservative clearances: the P1S no-print corner plus an 8 mm buffer is kept clear, parts are at least 5 mm apart, and every part is 3 mm from the bed edges. Print plate 00 first to check the fits. Each plate is a standard 3MF with its parts already laid out. mini-rack_all_plates.3mf is a single Bambu Studio project holding every plate, with per-part infill and wall settings preset.

Bambu Lab P1S print settings (PLA)

PlateTextured PEI, no glue. Brim only on the bow-ties and keys if they lift.
Layer height0.20 mm standard. 0.16 mm for keys, bow-ties, dock and fit coupons, for more accurate fits.
Walls4 loops on structural parts (base, panels, shelves, cap). 3 on accessories.
Top / bottom5 / 4 layers. The cap's top skin is printed face-down for a clean finish.
Infill15% gyroid for base and cap, 20% gyroid for panels and shelves, 100% for keys and bow-ties.
SupportsNone needed. Every part is oriented to be support-free.
SeamAligned, placed at the rear. Turn on "Avoid crossing walls" for the vent slots.
Flow / XYRun Bambu's flow calibration once. Leave X-Y hole/contour compensation at 0, because clearance is built into tol.
Tolerance tuningPrint fit_test_panel and fit_test_shelf first. Too tight: raise tol by 0.05. Loose: lower it.

Assembly and non-destructive disassembly

Build (bottom up)

  1. Base. Push the two 45 mm bow-ties through the seam. Flip the base, fill the chambers through the four ports (tap to settle), then press in the plugs and stick on the feet.
  2. Keys. Press 6 stack keys into the base-top sockets with thumb pressure.
  3. Panels. Lower the left panel, divider and right open-frame panel onto the keys.
  4. Rear rail parts. From the top of each panel, slide down: the three power-board brackets (left, divider, right), the two cable combs, and the two hold-downs above where the board will sit.
  5. Shelves. Slide the floor shelves in from the front until they stop at the groove ends; the dovetail tongues lock the panels together. Then add the left mid and upper shelves.
  6. Devices. Seat the NBN cradle and the BPI-R4 cradle, and stand the router with its ports facing right. Put the Pi 400s against the rear. Drop the caddy dock's tabs into the upper-shelf vents, set the USB power tray beside it, then drop in the A7Z and zero.
  7. Power board. Lay it on the brackets, then push the two hold-downs down until they touch it and about 0.6 mm further, so the arms flex and wedge it in place.
  8. Cap. Add 6 keys, lower the two cap halves on, and drop in the 14 mm bow-ties.

Disassembly and expansion

  • Nothing is glued or screwed. Every joint is a sliding dovetail, a crush-rib key or a through bow-tie.
  • Bow-ties push out from below with a screwdriver handle.
  • Shelves slide out toward the front. Unload them first.
  • Panels lift straight off their keys. Rock them gently front to back. Keys left in a socket can be pulled out with pliers.
  • Ballast empties by prising out the plugs with a coin.
  • Power board. Slide the two hold-downs up the rail, then lift the board out.
  • Adding a tier. Lift off the cap, add six keys, a new set of panels (any height up to 240 mm) and shelves, then refit the cap. There is about 325 mm of headroom before the 600 mm limit.
  • Twist lugs. Every vent is a 4 mm slot. Push a lug through with its bar along the slot, then turn it 90° clockwise to lock; turn it back to release.
  • Daily access. Lift the A7Z or zero straight up out of its pocket on the upper shelf. The leaf springs release with no tools.

Verify before printing

The device sizes are parameters at the top of rack.scad: the Pi Zero aluminium case (16 × 33 × 70), NBN box (44 × 132 × 132), USB power adapter and power board. Measure yours and re-run ./build.sh.