I have a USB fan attached to my Raspberry PI. The pi runs 24/7 and is standing right next to my bed together with the USB fan.

The USB fan has only one on / off switch and no other fan speed controls. But I just want a little breeze and no wind channel near my bed, because otherwise I wake up from the fan noises (the fan is very loud and the blades are rotating very fast)

I think lowering the USB voltage at one of the 2 USB interfaces should be right. How can I do that? Is there any other option for controlling the fan speed with my PI?

  • Why do you think you can lower the USB voltage? I've never heard of such a thing. As to how to vary a fan's speed there is no way of knowing without being provided with details of the fan.
    – joan
    Commented Jul 25, 2016 at 8:37
  • It's a 10€ USB fan from Amazon. I used to work with fans when I was working on my arduino projects. lowering the voltage caused the fan to slow down, therefore the same thing can apply for usb voltage.
    – Oxy Synth
    Commented Jul 25, 2016 at 8:55
  • 1
    But USB is a standard voltage.
    – joan
    Commented Jul 25, 2016 at 9:19
  • Oh okay. I thought this was possible somehow. Thanks!
    – Oxy Synth
    Commented Jul 25, 2016 at 9:26
  • 1
    It would be far safer and make more sense to power the fan from it's own power brick/psu than risking electrical damage to the pi. If you wanted a way to set voltage via programming, not easily possible. Tho I would not doubt that some peripheral has been made to do it. But that involves drivers and it's own control bits. Again, might be easier to design a psu for it with a variable resistor or some such. But for that, this is not the SE for it.
    – Dan V
    Commented Jul 25, 2016 at 10:22

2 Answers 2


Some thoughts:

  1. Are you sure the Pi needs a fan? Usually they don't.
  2. Easier than fiddling with the USB ports and their voltage (to be honest, reading the title of the question made my eyes bleed a little) fix the fan. If you know that the fan operates safely at a lower voltage (some do not and simply stop or do not start to turn) just wire a series resistor to the fan. Calculate its value from the current drawn by the fan and the required voltage drop. Make sure the power rating of resistor matches the dissipation loss (could be up to a few 100 mW).
  • 1) Not the Pi, but me (usually when it's hot outside) 2) I'll try that, thanks! What about USB hubs with voltage control? Is that also an option? I would like to control the fan speed rather than having a fixed RPM.
    – Oxy Synth
    Commented Jul 25, 2016 at 9:23
  • I have never heard of USB hubs with voltage control. In my world the voltage of USB has a certain spec 5 /pm 0.25 V (or something) and that is that.
    – Ghanima
    Commented Jul 25, 2016 at 9:27

The USB port itself doesn't provide such a feature, but there are possibilities. However, they would require a bit of electric tinkering. You would simply have to cut the fan's cable and drive it with another voltage.

The easiest way would be to connect it to 3.3V (Pin 1) instead of 5V. However, you must not load the 3.3V rail with more than 50mA so you would have to use a resistor to limit the current drawn. Ohm's law gives us the required impedance: R = U / I = 3.3V / 50mA = 66 Ohm, so your resistor needs to 66 Ohm minimum, but more is always safer. If you want to be able to regulate the voltage there are fan control circuits all around the web. Most of them are for desktop PCs, though, and they can be driven with much higher loads so always keep in mind that you must not exceed 50mA!

  • 1
    The 50 mA 3V3 limit only really applies to the early Pis with the 26 pin expansion header. I haven't checked each 40 pin Pi variant but 500 mA is a more likely reasonable limit.
    – joan
    Commented Jul 25, 2016 at 10:49
  • Joan is correct. The 40 pin models use a 1A converter to create the 3.3V rail, and the SoC won't need more than half that (YMMV); the breakout pins on a B+ have been tested delivering up to 800 mA: raspberrypise.tumblr.com/post/144555785379/…
    – goldilocks
    Commented Jul 25, 2016 at 11:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.