Overview
Windtrax is a fan that tracks the closest person in the room and rotates to follow them while blowing cool air. It uses an IMX708 Arducam with a Raspberry Pi and YOLO for real-time person detection. Cooling is provided by a DURA-COOL evaporative pad: the pad is soaked in distilled water and frozen, so Windtrax blows cool air. The fan turns off when no one is detected, saving electricity. The system includes a 775 12V DC motor and NEMA 17 stepper motor, 3D-printed PLA parts, and a Bluetooth app.
- —Person tracking with YOLO and Arducam on Raspberry Pi
- —DURA-COOL evaporative cooling pad (frozen, distilled water)
- —Turns off when room is empty to save energy
- —Bluetooth app for on/off and speed
- —3D-printed PLA body, 775 DC + NEMA 17 stepper motors
Team

Software used
- —Python
- —YOLO (Ultralytics)
- —gpiozero
- —Raspberry Pi OS
- —Picamera2
- —Bluetooth app
Design & manufacturing
- —Mechanical: 775 12V DC motor, NEMA 17 stepper, custom motor brackets, 3D-printed PLA (black). Exposed cooling reservoir, translucent side panels.
- —Cooling: DURA-COOL evaporative pad in compartment behind fan intake; submerged in distilled water before use; airflow through pad for phase-change cooling.
- —Electronics: Raspberry Pi 5, Arducam Camera Module 3, DROK 12V-to-5V buck converter, 12V 30A 360W power supply. 10 AWG and 18 AWG wire, ring connectors, velcro and zip ties.
- —Software: YOLOv8n (Ultralytics) for person detection; gpiozero for stepper (TMC2209 driver); deadzone to reduce jitter; reset to center when no person detected.
Challenges & resolutions
Problem: Raspberry Pi 5 overheating during tracking.
Solution: Active cooling: heatsink with miniature fan over processor.
Problem: Power instability when both motors active.
Solution: Upgraded to 12V 30A power supply; 6-way fuse box for distribution and safety.
Problem: Arducam failing to initialize on boot; tracking jitter at frame edge.
Solution: Startup delay; resolution matched to camera; deadzone in center to prevent overcorrection.
Materials & cost
- —775 DC Motor 12V
- —BTS7960 motor driver
- —NEMA 17 Stepper (x2)
- —GT2 Timing Belt
- —DuraCool pad
- —6-way 12V Fuse Box
- —12V 30A 360W Power Supply
- —TMC2209 Stepper Driver
- —DROK Buck Converter
- —10 AWG / 18 AWG wire
- —Ring terminals
- —Orange Pi Zero 3 / USB camera (alternates)
- —Raspberry Pi 5
- —Arducam Module 3
Total cost: $73.95
User guide
- 01Get started: Submerge blue evaporative cooling pad in distilled water → place in rear panel slot → snap in. Download WindTrax app.
- 02Connect: Turn Bluetooth ON → Open WindTrax App → Scan for Devices → Select "windtrax" → Pair when prompted.
- 03Pad replacement: Wet pad with distilled water, wring lightly; insert into cartridge; slide cartridge into shroud slot. After use, remove and wring pad; store extra saturated pads in freezer for better results.
- 04Power off: Turn off in app → flip red switch on base → unplug → leave pad to dry before storing.
Maintenance
- —Use distilled water for the cooling pad to prevent mold. When not in use for 1+ week, dry the pad and place in rear panel slot.
Links & documents
Get Involved
Want to build something
like this?
Join a cohort and work alongside engineers from every discipline. Recruitment every Fall and Spring.