Why I put my home lab to sleep (and the week my cluster refused to wake)

How I cut my home lab's monthly electricity draw by roughly half with a schedule + a cheap always‑on relay — and the real failure that taught me where this setup breaks.

Written by: Arjun Malhotra

A small desk with a Raspberry Pi, cables, and a laptop showing terminal output
Photo by Franck V. on Unsplash

It was the first Bengaluru summer after we moved into a flat with real electricity bills. My home lab — an old desktop I use for CI, a NAS, and a router — was on 24/7. I started getting more worried when my partner showed me the last electricity bill: an extra ₹700–₹900 for “computer and other equipment.” I stared at my rack of blinking LEDs and realised I was trading a quiet conscience for convenience.

I don’t need my entire lab always on. I do need one small machine I can reach from outside when required. The compromise I landed on was simple: keep a tiny, always‑on relay (a Raspberry Pi on a small UPS), and put the power‑hungry machines to sleep on a schedule. They wake only when I actually need them — on weekdays evenings for development, and occasionally for remote CI. The result: roughly half the electricity bill for the lab. The week it failed, though, taught me the limits of “powering stuff off to save money.”

What I built (hardware + cost)

How it works (practical, not theoretical)

Why this saves real money My rough math: the desktop idles at ~40W but pulls 150W+ under load. Running 24/7 it was ~120–150 kWh/month at ₹7–₹8/kWh = ₹900–₹1,200. After scheduling it to be off 16 hours/day, the monthly energy use dropped to ~40–50 kWh and the bill to ~₹300–₹400. Add the NAS and router, and I saved about ₹500–₹700/month. For me the setup paid for itself in 2–3 months; your numbers will vary, but the pattern holds: long idle times + high wattage = easy wins.

The week it failed and what I learned A few weeks after I switched to this setup, an overnight CI run from a remote colleague failed because the machines never came back online. For 12 hours they were dark despite repeated wake attempts. Stressful, and embarrassing when a deadline was involved.

Root cause 1: the smart plug cuts mains; Wake‑on‑LAN doesn’t help with a dead NIC. Some devices’ NICs don’t get standby power when the whole PSU loses mains. Wake packets sent after the plug turned on were visible on the network, but the NICs were still initializing and ignored the packets.

Root cause 2: the Pi was on the same local UPS but got moved during a power outage. When mains returned the plug rebooted the NAS/desktop, but one machine’s BIOS had a long POST because of a flaky controller, so service checks timed out and my automation retried poorly — eventually tripping a watchdog that I hadn’t planned for.

Fixes I actually shipped

Tradeoffs I accepted

A few practical tips if you try this

One honest constraint This won’t work if you need instant, always‑reachable services (self‑hosted email, always‑on CI). I accepted that tradeoff. There were days I wished for instant access — and those are the days I used cloud runners. If your work depends on a home server being instantly available at any hour, don’t do this.

What I walked away with A small always‑on controller + scheduled sleep gave me a measurable, repeatable reduction in my home lab’s power use without changing how I work most days. The real lesson was operational: if you’re going to cut power to save money, design for the failure modes upfront — keep one tiny brain alive on a UPS, make your wake procedure forgiving, and accept the latency tradeoff. That one extra always‑on Pi is the difference between saving ₹700 a month and spending a stressful midnight troubleshooting session.