I am looking for multi-position bi-stable solenoids. So far, I have only found one vendor1 with a 3 position bi-stable solenoid.

Are there multi-position bi-stable solenoids with more than three positions? How can a 3 position bi-stable solenoid be mechanically amplified to multiple positions?

Why are these such a rare commodity? What are the alternatives other than stepper motors?

1Note, I'm not looking for a vendor recommendation, I'm trying to find out if I'm looking for the right thing.


2 Answers 2


I don't know about any ready-made multi-position bi-stable solenoids, but let me help with "What are the alternatives?"

Depending on what force you need to exert and distance to cover, a monostable solenoid driven by PWM might suffice, but that seriously limits the range (as the magnet power rises with square of distance, after certain threshold the shaft will "drop" into the solenoid).

Alternatively, you can stack two 3-position ones; needle of one moving the frame of another. For more than two you'll be better off using some servo/stepper actuators instead.

And last but not least, get a 2-position bi-stable solenoid and some position sensors - either a linear optical encoder or just some open-frame optocouplers along the way, at the stop points. Power the coils with PWM, adapting to current position of the shaft, modifying the pulse width ratio so that given optocoupler gives out half the normal level (covered halfway), stopping the shaft wherever you want.


You need to describe your actual problem more, but it sounds like a solenoid is not the best answer here.

When you want more than two stable positions, a stepper motor may be more appropriate. A stepper motor has many stable positions. If you want linear motion, then some mechanical conversion from the rotary motion of the stepper is needed, like a rack and pinion for example.

In theory a stepper motor could be made as a linear motor over some limited travel distance, but I've never seen one. This is probably because of low demand and cheaper ways to solve most such problems.

Another possibility is a continuous motor with a mechanical linkage that prevents back-driving, like a worm gear. If the motor is a brushless DC, then the firmware can keep track of position. Otherwise, some sort of position sensor will be required.


Your Answer

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

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