Is it possible to control a fan with a single button that cycles though fan speeds without using a micro controller. Can anyone point me to some documentation on how this would work or any ideas how this could work?

  • \$\begingroup\$ If instead of a micro controller you use a commercial fan or motor control ic with a one button input? \$\endgroup\$
    – Passerby
    Dec 20, 2018 at 16:18
  • 2
    \$\begingroup\$ What fan? What kind of fan? Are you trying to control an existing fan or create a whole new fan-product? Be specific. \$\endgroup\$
    – Bort
    Dec 20, 2018 at 16:18
  • \$\begingroup\$ A whole new entire fan. Lets say controlling the speed of the motor. \$\endgroup\$ Dec 20, 2018 at 18:50
  • \$\begingroup\$ Yes, but what kind of motor? There are mains voltage AC fans, small DC brushless fans (like computer fans), and others. It help to specify because otherwise you end up with answers that don't relate to what you need, or people not answering because the question isn't specific. \$\endgroup\$
    – Bort
    Dec 20, 2018 at 19:28

2 Answers 2


Yes, mechanical ratchet drum sequencers can do this, driven by a solenoid or even just mechanically by the button itself.

Probably the most familiar example would be a traditional ceiling fan pull chain. The first pull turns the fan on, successive ones change speed, eventually with enough it turns off (but good luck distinguishing "on" from "off" and coasting unless the motor is cheap and loud).

Internally what is likely happening is that there is a rotating element with arrangements of contacts which complete different circuits. Each pull of the chain (or push of your button) advances it a partial turn changing the circuit configuration, and a spring pawl then holds it in position.

Today semiconductors may be cheaper than mechanisms - a little state machine in a custom circuit or a fraction-of-a-dollar MCU may cost less than an intricate mechanical assembly, and potentially last longer. However, that little logic circuit cannot directly switch motor loads, so the cost of power semiconductors and the complexity of the circuit needed may come into play, too.

I'd expect a decision matrix looks something like this

Easy to switch the load with semiconductors

Use the cheapest MCU or in extreme volumes a small custom circuit implementing a discrete state machine

Hard to switch the load with semiconductors, sequence is simple

Use a ratcheting mechanical drum or similar

Hard to switch the load with semiconductors, but need something else like remote control

Now the expense of semiconductor switching is justified, so the pushbutton circuit might as well drive a logic circuit or MCU to sequence state.

To take the ceiling fan example, the mechanical pull ratchet is obviously quite cheap and mature, and is what ships with the basic models. A step up from that, or as a retrofit, you can get a remote control receiver that electronically switches. The manufacturers could of course pair that electronic switching with an electronic implementation of the pull chain, but they don't, because it is unjustified. Only a small part of the electronics box in a ceiling fan remote receiver is the actual radio receiver, most of it is the speed switching (and ok, light dimming) circuit, a complication only needed where a mechanical solution is unworkable, or where an extra capability like TRIAC light dimming is needed.

  • \$\begingroup\$ Thanks you for your quick response. I will look into these options. \$\endgroup\$ Dec 20, 2018 at 16:46

In addition to Chris Stratton's answer, it is (in principle) easy to build a sequencer from a single IC, such as a 74HC163 binary counter. But the heart of the circuit is the least of your issues. First, you would need to debounce a mechanical pushbutton in order to get reliable operation. Second, you would need to decode the outputs of the counter to do the actual control of the fan motor. I've no experience with 5-speed fans, but I suspect this would be the biggest part of the project.


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.