I decided to put my XMR Mining jouney on a threat here, so others can comment, recommend and join the experience as I am building this low cost rig with an expandable unit size: I'm planning to have up to six (6) CPUs mining in one rig setup and optimized power supplies for this units as well as space and dimensions used in this threat.
For now, my hardware specs for two processing Units (two motherboards / CPUs hoocked up to one powersupply) looks like the below...
Hardware Specs
- 2 × AMD Ryzen 5 5600G (cheapest Ryzen with integrated graphics)
- 2 × AM4 Mini‑ITX motherboards (A320 or B450 ITX, whichever is cheapest)
- 2 × 8 GB DDR4 RAM sticks (one per unit, minimum stable size for Ryzen + OS)
- 2 × 64 GB NVMe SSDs (smallest practical size that is still widely available and cheaper than 32 GB)
- 1 × SFX PSU, 450–550 W (enough for both units combined)
- 1× ATX 24‑pin splitter
- 1 × CPU 8‑pin splitter
- 2 × Low‑profile AM4 coolers (70 mm class, any budget model)
The Rig
The rig itself will be a custom build with standard parts you can get in any home supply shop / depot in Switzerland / Europe / the US and looks like this (not sure SVGs are rendered here correctly so I'll give it a shot):
If it should not display, here's the code you can save and open either in the browser or in a vector editor software like Adobe Illustrator or Vector Works (1 unit = 1 mm):
<svg width="520" height="720" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
<!-- 2020 vertical profiles -->
<rect x="40" y="20" width="20" height="680" opacity="0.70"/>
<rect x="460" y="20" width="20" height="680" opacity="0.70"/>
<!-- CPU layers (6×) -->
<!-- Layer 1 -->
<rect x="40" y="120" width="440" height="20" opacity="0.70"/>
<rect x="80" y="100" width="360" height="20" opacity="0.55"/>
<rect x="110" y="60" width="300" height="40" opacity="0.40"/>
<!-- Layer 2 -->
<rect x="40" y="200" width="440" height="20" opacity="0.70"/>
<rect x="80" y="180" width="360" height="20" opacity="0.55"/>
<rect x="110" y="140" width="300" height="40" opacity="0.40"/>
<!-- Layer 3 -->
<rect x="40" y="280" width="440" height="20" opacity="0.70"/>
<rect x="80" y="260" width="360" height="20" opacity="0.55"/>
<rect x="110" y="220" width="300" height="40" opacity="0.40"/>
<!-- Layer 4 -->
<rect x="40" y="360" width="440" height="20" opacity="0.70"/>
<rect x="80" y="340" width="360" height="20" opacity="0.55"/>
<rect x="110" y="300" width="300" height="40" opacity="0.40"/>
<!-- Layer 5 -->
<rect x="40" y="440" width="440" height="20" opacity="0.70"/>
<rect x="80" y="420" width="360" height="20" opacity="0.55"/>
<rect x="110" y="380" width="300" height="40" opacity="0.40"/>
<!-- Layer 6 -->
<rect x="40" y="520" width="440" height="20" opacity="0.70"/>
<rect x="80" y="500" width="360" height="20" opacity="0.55"/>
<rect x="110" y="460" width="300" height="40" opacity="0.40"/>
<!-- PSU basement -->
<rect x="40" y="600" width="440" height="40" opacity="0.70"/>
<rect x="80" y="640" width="120" height="60" opacity="0.35"/>
<rect x="210" y="640" width="120" height="60" opacity="0.35"/>
<rect x="340" y="640" width="120" height="60" opacity="0.35"/>
<!-- Angles -->
<rect x="40" y="600" width="20" height="20" opacity="0.48"/>
<rect x="460" y="600" width="20" height="20" opacity="0.48"/>
<rect x="40" y="20" width="20" height="20" opacity="0.48"/>
<rect x="460" y="20" width="20" height="20" opacity="0.48"/>
</svg>
OS, Software & Network
Master Unit
OS: Ubuntu Server + XFCE
Remote control: xRDP or NoMachine
Tools: SSH, tmux, monitoring tools
Purpose: control panel for the whole rig
Worker Unit(s)
OS: Ubuntu Server (no GUI)
Remote control: SSH only
Purpose: pure compute/mining node
Network Setup
Both units connected via Ethernet
Static IPs or DHCP reservations
Master SSH → Worker
Master RDP → itself (GUI)
This will give me a clean, stable, minimal cluster.
Unit Responsibilities and Roles
Master Node Responsibilities
- Runs a GUI (lightweight, e.g., XFCE or LXQt)
- Runs remote desktop (xRDP or VNC)
- Controls the worker node via SSH
- Monitors temperatures, loads, mining status
- Stores logs
- Handles updates
- Can reboot the worker remotely
Worker Node Responsibilities
- No GUI
- No desktop environment
- Only the mining/compute software
- Controlled entirely by the master via SSH
→ This will keep the worker node as light and stable as possible.
