My sleep cooling unit died, and the replacement cost more than I'd pay for a pump pushing cold water through a mat. A current Chilipad runs from €1,600 to €1,800. An Eight Sleep Pod costs €2,500 to €2,850, and several models need an annual subscription to keep paid features working. I built the equivalent for well under €250 if you source the pad cheaply, and still far below the branded devices if you buy nicer parts. Everything else just makes cold water and moves it.
Why bother
To fall asleep your core temperature has to drop a degree or two, shedding heat through your skin. A mattress traps that heat, and cooling the surface fixes it. But more cooling isn't better: drive the surface too cold and skin vessels constrict, which cuts the heat loss that triggers sleep onset and wakes you cold. You have to find the right target by experiment. Mine is around 18 °C water.
The build
Instead of an aquarium chiller, the cooling source is a portable compressor cooling box, the camping kind. It both holds the water and cools it: the interior is a watertight shell, so you pour water straight in, and the wall sits against the evaporator as a large heat exchanger. A small pump circulates water out through a hose, into the pad, and back in a closed loop. The only modification is one drilled hole for the hoses and pump cable. I sealed it with silicone mainly to stop condensation. The thermal gain is negligible.
Mine uses an Alpicool C15 (15 L, up to 60 W in Max mode) and a 5 W USB pump. Direct contact between the water and the box gives you a large surface with no intermediate coil. If you own a dead branded unit, keep its pad and replace only the guts. From scratch, you also need a pad.
It's easy. Nothing soldered, no wiring beyond plugging in, one hole drilled. The only tool is a drill.
How it goes together
Drill one hole in the lid for the hoses and pump cable. Put the USB pump in the water and connect it to about 2 to 3 m of hose, then connect the hose to the mat. Run the return hose from the mat back into the box. Feed both hoses and the pump cable through the hole in the lid, then seal the remaining gap with silicone.
Fill the box with enough water to cover the pump. Start the pump and let it run until the air is out of the mat. Then turn on the cooling box and set the target temperature. That's it.
How much cooling reaches you
The C15 draws up to 60 W in Max mode. At a rough COP of 1.3, that means about 78 W of cooling before losses. Subtract a few watts through the walls, 5 W from the pump, and perhaps 5 to 15 W picked up by the hoses. That leaves roughly 55 to 65 W for the loop. A hotter room both raises the temperature lift and adds more heat through the hoses.
A single sleeper sheds roughly 30 to 60 W through the pad contact area. On paper, the C15 should therefore be enough for one person. In normal weather, it is. In my 34 °C attic during the heat wave, it wasn't. The water still rose to 20 to 22 °C by morning. In extreme heat, the total heat entering the loop exceeds the compressor's output. Heat transfer from the box to the water is already efficient. Insulating the hoses still helps. A larger box only helps sustained cooling if it actually has a stronger compressor.
Pump heat
A submersible pump releases almost all of its electrical draw into the water. My first one added roughly 20 W, which is absurd in a system this small. The 5 W USB replacement is rated for about 3 m of head and still moves enough water through the loop. At 5 W, I no longer care enough to complicate the plumbing with an external pump.
Cooling the water before bed
The water mass stores cold. Run the box for about 2 hours before bed and cool the water below your target. For example, use 14 °C when you want 18 °C at night. Through the night the compressor runs flat out, and any shortfall between demand and its output is drawn from the stored cold as the water warms. Cooling roughly 10 kg of water by 4 °C stores about 46 Wh. How long that lasts depends on the room, the hoses, and how much heat you put into the pad.
Three things line up. Most deep sleep happens in the first cycles, so the buffer covers the window that matters most. Room temperature usually falls overnight, so demand drops as the buffer empties. The gentle warming toward morning also makes sense because it eases you toward waking. The limit is how far you go. Stay within 3 to 5 °C below the setpoint or the pad is too cold when you get into bed.
What it costs
The second build cost roughly €140 for the C15, €30 for the AliExpress cooling mat, €10 for tubing, and €6 for the pump. Add a timer plug and silicone and the complete build comes to around €190 to €220. If you already own a pad, it's roughly €165 to €180. A nicer replacement pad raises the price and may be more comfortable, but it doesn't improve the cooling.
That's basically everything you need.
Addendum: a second build and a heat wave
I've now tested the system at 39 °C outside and about 34 °C inside my attic apartment. That was too much for the small box. Even when I started with colder water, it usually reached 20 to 22 °C by morning. In normal weather, it can still make the bed about as cold as I want.
I also built a second unit for my girlfriend. It works just as well, and sourcing it from scratch is what corrected my earlier price estimate.
The compressor box is quieter than my old Peltier unit, whose fan was surprisingly loud, and it uses less power overall.
During the heat wave it made otherwise awful nights tolerable. Outside those conditions, it cools as much as I need, and my sleep improved immediately.
Across multiple nights sleeping alone on the mat, my Apple Watch reports about 1 hour 15 minutes of deep sleep, up from a previous baseline of roughly 45 minutes.
Bluetooth control
The C15 has Bluetooth, so I had Codex write a small controller for it. It turns the box on at 17:00 and cools the water to 16 °C before bed. It raises the target to 18 °C at 23:00 and 20 °C at 02:00, then switches the box off at 04:00. That gives me the coldest water early in the night and lets it warm toward morning. It also records the current and target temperature every 15 minutes and corrects the box if it drifts from the schedule.
The graph uses one complete night from the production log. The terminal sequence is a privacy-safe rendering of real device responses from a recorded BLE session: 18 °C → 16 °C → 18 °C. Watch the higher-quality 9-second MP4.
A timer plug is the simpler fallback, but Bluetooth control is better here because it can change the target instead of only cutting power.
Try the controller on GitHub
The macOS controller is open source on GitHub. Its setup check is read-only: it installs the Python environment, scans for a compatible cooler, and requests the current status without changing anything. I've tested it with one C15-style unit so far; compatibility reports from other Alpicool models are the most useful next step.