← Back to Projects Overview

Personal Homelab

A compact self-hosted server rack combining NAS storage, media services, network tools, custom cooling control, and PCB-based power distribution.

Project Overview

A custom 10-inch homelab rack inspired by the Lab Rax Mini, designed as a compact NAS, media server, and self-hosting platform. The system is built around a ZimaBoard 2 running as the main server, hosting Immich for photo management and Jellyfin for media streaming, with a secondary ZimaBlade handling Pi-hole and providing room for additional lightweight network services in the future.

The rack has been adapted to suit my own storage, cooling, and power requirements, with a custom PCB solution for HDD power delivery and thermal management. This includes automatic fan control using an STM-based controller to read temperature sensors and adjust cooling performance, alongside a manual fixed-speed mode using a 555 timer in astable operation. The project combines 3D-printed mechanical design, self-hosted services, custom PCB design, embedded control, and practical power distribution into a modular homelab system.

Completed Home Lab
Completed Home Lab

Key Features

Custom PCB Power and Cooling System

Custom PCB solution providing thermal control and SATA power delivery, designed to interface with a compact 250 W power supply and support multiple storage drives and cooling fans.

Fan control PCB render showing fan headers, RJ45 interfaces, controller circuitry, and power connections
Fan control PCB render showing fan headers, RJ45 interfaces, controller circuitry, and power connections.
Auxiliary fan and temperature board facilitating uppermost fan control
Auxiliary fan and temperature board facilitating uppermost fan control.
SATA power distribution PCB render showing SATA power connectors and board-to-board interface
SATA power distribution PCB render showing SATA power connectors and board-to-board interface.

Custom-designed NAS Rack Levels

Each rack level uses a custom-designed panel tailored to the hardware it supports, including fan panels, HDD bays, the network switch and ZimaBlade layer, the ZimaBoard server layer, and the power supply section. This keeps the compact rack organised, serviceable, and purpose-built around the final homelab layout.

Custom fan panel for the homelab rack
Custom fan panel designed for directed airflow through the compact rack. Fan auxillary PCB links to main fan control PCB via RJ45 ethernet connection (non-std use)
Custom HDD bay panel for the homelab rack
HDD bay panel designed to mount storage drives within the NAS layer.
Switch and ZimaBlade panel for the homelab rack
Switch and ZimaBlade panel for network services and future expansion.
ZimaBoard panel for the main homelab server
ZimaBoard panel supporting the main NAS and media server hardware.

Technical Development

Fan Control and Temperature Monitoring PCBs

A custom PCB solution was developed to manage the cooling system for the homelab rack. The fan control board is designed around two operating modes: an automatic temperature-controlled mode using an STM32 microcontroller, and a manual fixed-speed mode using a 555 timer configured in astable operation.

In automatic mode, the STM32 reads temperature sensor feedback and adjusts fan output based on the thermal conditions inside the rack. This allows the cooling system to respond to HDD and enclosure temperature changes without requiring constant manual adjustment. The board also includes programming access through an ST-Link connection, allowing the STM32 firmware to be flashed and debugged during development.

The manual mode provides a hardware fallback using a 555 timer PWM circuit. This allows the fans to run at a fixed speed even if the microcontroller is disabled, unprogrammed, or not required for a particular operating mode. This added redundancy was useful from both a design and troubleshooting perspective, as it separates basic fan operation from the embedded control system.

Fan control PCB render showing STM32 controller, 555 timer circuitry, fan headers, and board-to-board connectors
Main fan control PCB with STM32-based automatic control, 555 timer manual mode, and fan output connections.
Auxiliary fan and temperature monitoring PCB render
Auxiliary fan and temperature monitoring PCB used to extend cooling and sensor coverage within the rack.

Power Supply and SATA Power Distribution

The rack uses a compact power supply mounted with custom standoffs, with a dedicated SATA power distribution PCB mounted alongside it. The purpose of this board is to simplify internal power wiring by routing supply connections from Molex Mini-Fit style connectors to individual SATA power outputs for the hard drives.

Each branch from the input connectors is routed to a dedicated SATA connector, reducing loose wiring inside the enclosure and making the drive power layout easier to service. This also makes the power system more modular, as the board acts as a central distribution point between the power supply and the storage drives.

The SATA power PCB also includes a rear-accessible wakeup switch, allowing the system to be controlled from the rear panel without needing to open the enclosure. This was included to improve day-to-day usability once the rack is fully assembled.

Power supply PCB HAT trial assembly.
Power supply PCB HAT trial assembly.
Power Supply PCB HAT connectors soldered and ready to install.
Power Supply PCB HAT connectors soldered and ready to install.

3D Printing, Enclosure Design, and Assembly

The mechanical design was originally inspired by mklements' LabRax concept, but the final layout has been altered substantially to suit my own hardware, cooling, storage, and serviceability requirements. The project keeps the compact 10-inch rack concept, while adapting the internal layout around the ZimaBoard, ZimaBlade, HDDs, power supply, fan system, and custom PCB assemblies.

10 inch rack shell
10 inch rack shell.

The enclosure components are printed in black PETG to provide better temperature resistance than PLA, which is useful for a compact server rack containing hard drives, electronics, and active cooling. The side panels are laser cut from acrylic, giving the enclosure a cleaner finish while still allowing access and visibility into the internal layout.

This part of the project involved fitting together multiple disciplines: CAD layout, 3D printing, panel design, PCB mounting, cable routing, airflow planning, and practical assembly. A major goal was to keep the rack modular enough that individual boards, drives, or service nodes could be accessed and modified as the system evolves.

Overview of some of the components that made up the homelab system
Overview of some of the components that made up the homelab system.

Project Outcome

This project is being developed as a compact, modular homelab platform for managing personal media, self-hosted services, storage, and future network tools while also serving as a practical electronics and mechanical design project.

CAD Rendering of main system
CAD Rendering of major components.