This repo holds the CadQuery code for the fan duct I designed to stop waking up groggy. It attaches to a standard 120mm PC fan, sits on the floor, and pushes air out under the door.
The project started when I found out my sealed bedroom's CO₂ levels were hitting 1,700 ppm overnight. After a few experiments with pizza boxes and over-engineered prototypes, I landed on this simple, effective design.
I wrote the full story here: DIY Door Fan to Fix My Groggy Mornings.
-
Fully parametric. Tweak all the numbers in
constants.pyto fit your door and fan. -
Quiet & efficient. The smooth lofted transition minimizes air noise and friction.
-
Simple print, no supports needed.
- Python 3.11+
- uv, or any tool that can install dependencies from a
pyproject.tomlfile.
-
Clone the repo:
git clone https://github.com/andrey-lepekhin/diy-door-fan.git cd diy-door-fan -
Install the dependencies: This sets up a virtual environment and grabs everything you need.
uv sync
-
Tweak the model (optional): Open
constants.pyand change the numbers to fit your setup. -
Generate the STL:
uv run main.py
You'll find your file ready to slice in the
stl/directory. -
See a live 3D preview (optional):
uv run CQ-editor
Then, open
main.pyfrom inside the editor.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
