DIY: Smart Fan controlled by Heart Rate (ESP32) – game changer for my pain cave!

Hey Zwifters!

I wanted to share a project I’ve been working on recently. I’m super stoked with the results, so I thought some of you might find it useful for your own pain caves. I built Pulse Breeze – a smart controller that auto-adjusts your fan speed based on your Heart Rate (HR).

After testing it during several high-intensity sessions, I can honestly say it’s a massive upgrade. No more freezing during the warm-up or fumbling with fan buttons during an all-out sprint. The fan just ramps up as my HR climbs and settles down when I recover.

Why I love it:

  • Bluetooth Proxy Mode: It clones your HR signal, so you can connect to the fan and Zwift simultaneously.

  • Fully Customizable: You can set your own HR ranges and min/max fan power via a simple rotary encoder and OLED menu.

  • Budget Friendly: All the electronics cost less than $20.

If you are familiar with soldering and 3D printing, I highly recommend building one. It’s a fun weekend project that significantly boosts your training comfort.

How to find it:
Since I can’t post direct links here, just search for “Pulse Breeze” on MakerWorld. You will find the 3D files and a detailed guide there. My profile name is FlowState3D.

Let me know what you think! Happy to answer any questions if you decide to build your own.

Ride ON!

Adding the link: https://makerworld.com/en/models/2637607-pulse-breeze-auto-cooling-for-zwift-indoor

Some of these fans have a remote - however mine doesn’t, and this is a pretty neat upgrade.

For now I angle the fan slightly away from me, but it is very near the bike so I can quickly unclip with right foot, then reach over with that foot and angle it back towards me when I’ve warmed up.

Now things are cooling off in this part of the workouts this little kit would be very handy.

As the device’s designer, I have a natural tendency to ‘tinker’ with my invention. That’s why I was so surprised at how quickly I forgot it was even there and stopped worrying about my thermal comfort during training. I also noticed that the ‘puddle of sweat’ under my bike significantly shrank after threshold sessions. I used to use a remote-controlled fan, but automating the process—especially during short, high-intensity intervals—is a total game changer. The biggest surprise, however (I swapped my old fan for the one in the photo, which is much more powerful), was how much easier it is to tolerate high-intensity workouts with this new setup.

Sounds like a DIY version of the Wahoo Kickr Headwind. I agree that controlling the fan speed based on the HR is very nice, I would never go back to using a manually controlled fan.