There are so many great helmet fan kits, and it's a super simple and very cheap mod to add to your bucket list.
Most variants I see are USB powered with an on/off switch, so I figured I'd take it a step further and add a variable speed control to the mix (yes with future support for wireless gauntlet control).
The unit I ended up making, shown below, has Micro USB in for power, JST plug for a fan, and a single pushbutton. The idea is, this mounts under the rim of your helmet, so you can access the button with a pinch.
Click to cycle through
Max -> high -> medium -> low -> off. Double click to go straight to max. Push and hold for off. Simple.


Technically, this is a general purpose Pulse Width Modulation circuit, built around a tiny microcontroller, that can be reprogrammed to do a lot of things. Output switches an N-channel mosfet, capable of sinking around an amp of current.
This little nugget of goodness can be used for handling lighting effects in props as well, since it's basically an Arduino light dimming circuit.
Controlling Fans with PWM?Education bits: Pulse width modulation is turning the power on and off really quick, to create the illusion of a lower voltage / brightness / speed. This comes up a lot in LED based circuits, since LEDs usually can't be dimmed through a full range by varying the voltage alone (at a certain point they simply don't glow anymore).
Most of those 5015 round blower fans you put in your helmets run on 5 volts, and you can turn that down to about 4 or so before they cut out. Even at the lowest voltage, they're still running pretty loud.
Some fans, like the ones in your computer or laptop, have a third or fourth wire for PWM control, which control the speed through internal circuitry. Those would be ideal to use here, but don't have a useful form factor, and the price is a bit high.
If we directly feed a 5V brushless DC fan a standard Arduino-esque PWM signal (~450 or ~900 Hz), well hear an audible whine but nothing will move. To solve this, we feed it a PWM signal with a much lower carrier frequency. For this project, I use 50Hz.
At that speed, it gives the fan periodic nudges to get it spinning again, then lets it coast, then nudges it again, 50-60 times per second. This is enough to keep the fan moving at low speeds, without causing an annoying whine. As a trade-off, you get a ticking sound when the motor engages.
To reduce the ticking sound, I added some additional circuitry to the board, specifically a capacitor on the base of the Mosfet, which rounds our the voltage spike engaging the fan for a slightly softer start.
The end result is a pretty efficient (18 or so hours on a budget USB power bank) helmet fan, which can provide a full force gale or gentle breeze to keep air moving, controllable with a single button press, and only gently ticky at the lower speeds.
Without fighting the internal stator control circuit on these fans, this ain't bad for the price to make them.
What do you think? Neat?


