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!

Table of contents

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.

Basement window, seen from outside

Office window, seen from the outside.

Office window, seen from the inside

Office window, seen from the inside.

Basement window removed, looking into home office

Window removed, looking into the office from the outside.

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.

Film-coated plywood placed in basement window opening

Film-coated plywood cut to size.

Film-coated plywood screwed to the window-frame, acrylic sealant applied

Film-coated plywood screwed to the window-frame, acrylic sealant applied. Plenty of acrylic sealant around the edges and over the screws.

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 after mounting film-coated

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.

Styrofoam insulation in window opening

The first layer of styrofoam, with acrylic sealant around the edges.

Styrofoam insulation cut to size to fit window opening

The second layer of styrofoam cut to fit window-frame.

Styrofoam insulation in window opening

The second layer of styrofoam press-fitted into the window-frame.

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

Window opening covered with pre-painted plywood, inside view

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.

Hole drilled through plywood and two layers of styrofoam

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.

Two ventilation holes drilled through plywood and styrofoam

Both holes cut using hole-saw.

Spiral duct pressed into ventilation hole

Spiral duct pressed through from the inside.

Two ventilation holes with spiral ducts

Both spiral ducts pressed through, and acrylic sealant applied.

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.

Exhaust and intake ventilation vents mounted

Outside vents installed, intake on the left, exhaust on the right.

Spiral ducts sticking out of ventilation holes

Inside view, spiral ducts sticking out.

Spiral duct going through wall, secured with angle bracket

Spiral duct secured with angle bracket.

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…

Insulated duct suspended from ceiling

The first length of insulated duct installed, suspended from the ceiling.

Insulated duct suspended from ceiling, second duct being mounted

Installing the second length of the insulated duct.

Two insulated duct suspended from ceiling

Both insulated ducts installed, suspended from the ceiling.

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 valve

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.

Spiral duct mounted vertically on wall

Uninsulated spiral duct for portable AC exhaust.

Two pieces of wood mounted on wall, used has hose-clamp holder

DIY hose-clamp holder, for securing vertical spiral duct.

Portable AC exhaust connected to insulated duct

Portable AC exhaust connected to insulated duct.

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.

Portable AC exhaust connected to insulated duct with flexible hose

Uninsulated flexible duct connecting portable AC to exhaust ventilation.

Hose-clamp securing insulated ventilation duct to wall

Hose-clamp is securing vertical duct to the wall and preventing insulation for sliding off.

So here it is, all finished!

Home office with server rack, portable AC and insulated ventilation ducts

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

The AC lowers 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

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

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

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

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

Last commit 2022-08-06, with message: add summary and emojies to older posts