I am working on a simple setup for a 5V DC computer fan, powered by two small solar panels. This fan will only start spinning around\above 2.3V. Anything below this value will just produce an annoying high pitch noise so I am trying to use a Zener diode with a breakdown voltage of 2.4V to prevent any current flowing to the fan before the solar panels output the minimum target voltage.

I have tried several setups, but am getting a bit lost in how this should work. Currently I have connected the Zener to a transistor as shown in the middle picture of the schematics. My intention was to have this function as a switch. (The transistor that I am using is described here > https://pdf1.alldatasheet.com/datasheet-pdf/view/748797/UTC/13003ADAG-T92-F-K.html) At the moment it is still not working though, with the fan still shrieking before it 'just switches on'. I expect that I am missing a basic understanding about many things, so if anyone can help me pass this learning curve that would be greatly appreciated.


Following the hints posted by @RussellH I ended up with the abomination depicted below (I will make it more neat when I get it working). Using a variable resistor from base<->emitter to find the limit where the squealing stops seemed most rational. But at the maximum resistance I end up with a situation where the fan won't spin or squeal, and in-between doesn't mitigate the noise either, so it's not really an ideal-type solution that will help me pass this barrier.

The abomination

Edit: I just revisited an old laptop motherboard and came across this component https://pdf1.alldatasheet.com/datasheet-pdf/view/775048/GMT/G991.html. It pretty much figures the component I needed was already present near the Fan connector... The challenge here is to recycle old parts. More updates on this will follow when I find the time.

  • \$\begingroup\$ Those transistor schematics you have drawn can't match what you have built. There will never be no current through the fan. \$\endgroup\$
    – Justme
    Aug 26, 2023 at 11:55
  • 2
    \$\begingroup\$ If RussellH's answer does not work well enough a TL431 "adjustable zener" has a VERY sharp turn on/off point. \$\endgroup\$
    – Russell McMahon
    Aug 26, 2023 at 12:39
  • \$\begingroup\$ Yes, I made a mistake with the capacitor in the schematic. It is corrected now. \$\endgroup\$
    – Mosman
    Aug 26, 2023 at 13:52
  • \$\begingroup\$ A latching switch is wanted here - perhaps a small SCR switch might provide the desired hysteresis? However, for such a low voltage source, its anode-to-kathode voltage drop may slow the fan somewhat. \$\endgroup\$
    – glen_geek
    Aug 26, 2023 at 14:26
  • \$\begingroup\$ Thank you. I will look into it. I have some fancy new words to learn today... \$\endgroup\$
    – Mosman
    Aug 26, 2023 at 16:12

3 Answers 3


Using the middle circuit, First. The motor must be connected to the junction of the capacitor and the resistor. Place a second resistor across the base-emitter junction. Decrease the value until the squealing stops.

The low voltage Zener diode doesn’t have a sharp knee, so does not act as a switch. There is sufficient leakage current to turn the transistor on. A resistor from base to emitter will shunt some of the current around the transistor.

This circuit will not be a good switch. The transistor may get hot.

  • \$\begingroup\$ Thank you, this gives a lot of insight. I will add an extra resistor and think about some alternative methods to make this work. \$\endgroup\$
    – Mosman
    Aug 26, 2023 at 13:59

If you can get a Zener diode, you may as well use a TL431: a voltage reference and op-amp in one. Every junk PC power supply has one inside, pretty much.

TL431 generally works as follows: it draws about 1mA from the Anode pin in idle, when the Reference pin is below 2.5V. When Reference goes above 2.5V, the output transistor turns on hard and starts drawing up to 100mA of current - whatever is necessary to bring the Reference back to 2.5V. The output will only keep drawing more current as long as the output voltage is above 2V. So, TL431 in comparator mode acts like a loose 2V shunt regulator when the output is active.

Here, we've configured it as a comparator, so it basically switches the transistor Q1 on when Reference is above 2.5V, and off when it falls below 2.5V.

R1 and R2 divide down the VCC voltage so that 3V on VCC maps to the threshold of 2.5V. R3 provides hysteresis, so that the turn-on and turn-off happen at slightly different voltages - here, different by about 0.1V. To increase hysteresis width, reduce R3.

R4 provides idle current to TL431. R5 limits the base current of Q1. RL1 represents the fan load. RL2 is a "phantom fan" - always on, so that we can compare the current between it and the switched fan.


simulate this circuit – Schematic created using CircuitLab

enter image description here enter image description here

  • \$\begingroup\$ Thank you for this insight. I will add this to my 'to dig into' queue. It is very interesting to learn about all this and I will get myself a proper book on electronics when time (and other) constraints allow for it. \$\endgroup\$
    – Mosman
    Sep 3, 2023 at 11:03

The noise comes from the fan's bearings. They're probably worn. You can replace the fan for a few dollars.

  • 1
    \$\begingroup\$ You can sometimes reduce fan noise simply by cleaning the blades (wiping off all dust etc.). \$\endgroup\$
    – gidds
    Aug 26, 2023 at 20:00
  • 1
    \$\begingroup\$ Both your comments are well received and certainly valid. However, the issue as described in the original post is different from what you expect. The fan is not spinning before reaching 2.3 volt. So there is no friction between bearings or noise resulting from a dusty environment. The sound is more like a sort of coil whine, where a high pitch frequency can be observed before the fan is physically spinning. \$\endgroup\$
    – Mosman
    Aug 27, 2023 at 7:25

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.