Homelab ventilation project

Homelab ventilation project

The homelab is in my home office, man-cave, workshop — which is in the basement. The room is pretty well insulated, and heat generated here, mostly by the homelab, stays here. I needed a way to keep the temperature down in the hot summer months and during the cold winters. Well — this is it!

Getting rid of the window

The outside wall is concrete and concrete blocks — pretty thick. I didn’t want to drill two 5” holes through that.

Luckily; there was a window in the room — it was small, rotten, and located in the corner of the porch on ground level. Not something I wanted to keep open — so I removed it instead.

I cut film-coated plywood to size — and used a generous amount of outdoor rated acrylic sealant, around the edges and covering the screws. Alright, so now it’s watertight, time to get started on the inside.

First I applied acrylic sealant around all edges on the inside. I figured this would prevent any cold air getting in, possibly causing condensation between the inner and outer boards.

Inside view of film-coated plywood, acrylic sealant applied.
Inside view of film-coated plywood, acrylic sealant applied.

Next, I cut two pieces of styrofoam to shape and press-fitted them in the window frame. On the first foam layer I, again, applied acrylic sealant around the edges. I was pretty lucky with the depth of the styrofoam and the window-frame, it lined up quite well, leaving a small air gap between the inner and outer foam sections.

Lastly, I cut out a piece of pre-painted plywood and mounted it with some angle brackets and a molding.

Pre-painted plywood cut and mounted.
Pre-painted plywood cut and mounted.

The vents

Next order of business was to drill two 125mm (5”) holes, for the intake and outlet. I measured a few dozen times and finally built up the courage to drill. I drilled through the plywood and both pieces of styrofoam from the inside, leaving a pilot hole going all the way through.

Drilled through plywood and both layers of styrofoam, seen from inside.
Drilled through plywood and both layers of styrofoam, seen from inside.

I went outside and drilled through the film-coated plywood, so now I had two openings. Next, I pushed two spiral ducts through the newly made holes and applied acrylic sealant between the pipes and the plywood.

Finishing up the outside — I installed vents; intake on the left and exhaust on the right. The intake has a mesh, to prevent bugs from getting in. The exhaust has self-closing louvers. On the inside I secured the spiral ducts with angle brackets, preventing them from accidentally being pulled out or moved.

Ducts and AC

Time to get the ductwork going! I suspended about 2.5-3 meters (8-10 feet) of insulated 125 mm (5”) pipe from both vents. For mounting, I used perforated bands. The AC exhaust is closest to the wall; it has to go the furthest. I had to take down the exhaust ventilation I had previously rebuilt, so I guess I need to fix that again — later…

The air intake duct makes a 90º bend into the room, while the exhaust continues towards the portable AC. I added a valve on the intake, that way I can close it; if it’s subzero temperatures outside. I also added a downward bend and a vent.

Fresh air intake, with a valve, bend, and vent.
Fresh air intake, with a valve, bend, and vent.
I ended up removing the downward bend and vent, as it was restricting the airflow. I found that just having the open intake point into the room gave a much better distribution of the fresh air.
Fresh air intake, with a valve. Bend and vent removed to improve airflow.
Fresh air intake, with a valve. Bend and vent removed to improve airflow.

To the exhaust, I cut and connected a spiral duct that I also suspended from the ceiling. A 90º bend takes the pipe down towards the AC. I made a DIY hose clamp holder to secure it to the wall and prevent the duct from sliding down. I made sure to insulate this duct as well, as the exhaust from the portable AC will heat the pipe. I want that heat outside, not back into the room.

At the end of the pipe, I mounted a 45º bend and a flexible duct attaching to the portable AC itself. I left the last stretch of flexible pipe uninsulated; I might add some in the future. The hose clamp keeps the duct secure, and the insulation from sliding further down.

So here it is, all finished!

Finished intake and exhaust ventilation in the home office, homelab rack visible.
Finished intake and exhaust ventilation in the home office, homelab rack visible.

The AC lovers the temperature in the room from 23ºC to 18ºC (73.5ºF to 64.5ºF) in about 10 minutes. It pushes a lot of air through the outside vent, so seems like the exhaust fan is powerful enough to handle the distance.

AC results

June 2018 in Norway was unusually warm, an excellent chance to test the homelab AC setup. I measure the indoor temperatures using four DS18B20 probes, connected to a Raspberry Pi running a Python script. Home Assistant fetches the outside temperature from a local weather service; yr.no.

My portable AC plugs into a TP-Link HS110 smart plug, which measures its power consumption. All data is fed into Home Assistant, and written back to InfluxDB where Grafana is used to make the pretty graphs.

The figure below shows four temperature sensors placed around the homelab rack; the red graph shows the outside temperature. We can see the indoor temperatures being pretty stable even though the outside temperature varies quite a lot — between almost 30ºC and 10ºC.

Grafana temperature graph, showing office and outdoor temperatures.
Grafana temperature graph, showing office and outdoor temperatures.

Below is a 24-hour view of the temperatures around the homelab. The AC starts when the temperature reaches 23ºC. After about five minutes it has dropped 2-3ºC, and the AC turns off its compressor leaving the circulation fan running for another 30 minutes. This cycle repeats once the temperature reaches 23ºC again.

Grafana temperature graph, 24-hour window. Showing office and outdoor temperatures.
Grafana temperature graph, 24-hour window. Showing office and outdoor temperatures.

It’s even more visible when looking at a six-hour view; the annotations indicate when the AC turns on and back off.

Grafana temperature graph, six-hour window. Annotations for AC start and stop.
Grafana temperature graph, six-hour window. Annotations for AC start and stop.

Below is a six-hour view of the AC unit power draw. The peaks are when the compressor is running; actively cooling. The flat period after that is when only the circulation fan is running, mixing the air in the room. And the zero value at the end of the cycle is when the unit turns completely off.

Grafana AC power consumption graph, six-hour window.
Grafana AC power consumption graph, six-hour window.

The portable AC unit I have is overkill for the room size and heat generated by the homelab. As shown by the graphs above the temperature fluctuates about 2-3ºC constantly.

Running just for five minutes before turning off means it never gets a chance to cool down properly, and this might be damaging for the unit. Truth is I got it second-hand dirt cheap — if, or when, it breaks; I will get a smaller unit.

Initially, I was a bit concerned with condensation forming inside the vertical AC exhaust, but I’ve had zero issues with that. I haven’t noticed any condensation anywhere else in the system either, neither inside nor outside the ducts.

Below is the daily power consumption of the AC unit. With a maximum of 5.56 kWh, and the power price in June 2018 being 0.045 EUR/kWh — that is about 0.25 EUR for one day of AC cooling, definitely worth it.

Grafana graph, AC daily power consumption.
Grafana graph, AC daily power consumption.

See also