I'm looking for a limit switch to use with the Arduino. In my project I want to count how many times my turntable makes a full 360° rotation. An object (wheel, pipe, whatever) will be sticking out the side of the turntable and when it comes in contact with the limit switch that will be right next to the turntable, it should notify the Arduino.

Any suggestions on which limit switch I should get?

Thanks so much in advance!

  • 2
    Are you sure you want a limit switch? A limit switch is used to stop the motion at a specific point, not count rotations. For that you would use some kind of encoder, interrupter, hall effect sensor, reed switch, etc.
    – Majenko
    Jan 25, 2016 at 21:02
  • 2
    Indeed, a magnet under the turntable could activate a hall-effect sensor as it passes over it.
    – Nick Gammon
    Jan 25, 2016 at 21:39
  • 1
    I'd use a photo reflective sensor, and stick a white dot on the side of the turntable. You could add dots to get half, quarter, etc. rotation resolution
    – Gerben
    Jan 26, 2016 at 14:01
  • 1
    I don't think you could get it to stop at the same location using a regular turntable. As the turntable will continue spinning a bit after you kill the power to the motor (due to inertia). I think you would be better of replacing the DC motor in the turntable with a stepper-motor.
    – Gerben
    Jan 26, 2016 at 15:51
  • 1
    Besides the problem @Gerben mentioned you may find that a switch does not give you the precision of position that you want/need. Definitely consider a stepper if you can.
    – dlu
    Jan 26, 2016 at 15:55

2 Answers 2


A $2 microswitch with a roller would be OK for a million revs or so.

enter image description here

You would put a little ramp on the diameter and use it to trigger the switch.

Non-contact magnetic or optical could be better for more cycles or faster operation.

  • 1
    Literally a million? That's impressive.
    – dlu
    Jan 26, 2016 at 5:02
  • 3
    Honeywell's PDF at sensing.honeywell.com/… says 10,000,000 cycles. But one probably needs to check the datasheet. Googling a bit, I saw some specs of 1M-5M cycles on a single switch, depending on load, but also some cheap mini ones rated for 10,000 cycles. Also, for a 33rpm audio turntable even a million isn't long: 1,000,000/33/60/24 = 21 days
    – Dave X
    Jan 26, 2016 at 6:29
  • @DaveX do you have a link to a brand in particular you recommend?
    – NateW
    Jan 26, 2016 at 15:36
  • 1
    I do not have a recommendation on the brand.
    – Dave X
    Jan 26, 2016 at 17:47
  • 2
    Beware that a physical switch will probably exhibit contact bounce. One can filter that in software, but it requires thought. Jan 27, 2016 at 5:28

Instead of a limit switch a hall effect sensor with a moving magnet is an optimal soltuntion since it is contact less there will be no frictional side effects on your application.

But there is one more better way to it, try to use an rotary encoder, something like a 400/600 ppr should also be fine for this, doing this way you have more positional data of the turntable,

You can calculate no of turn, arcs etc.

For eg:

  1. A 400ppr would give you a resolution of 0.9 degree per pulse, and
  2. 600ppr would give you 0.6degree per pulse of accuracy.

Although you can go for even higher ppr encoders but you can get these at very low cost.

Pic from: https://m.ebay.co.uk/itm/400BM-Rotary-Encoder-Module-LPD3806-360-6mm-Shaft-Arduino-Pi-Flux-Workshop-/112607725039?_mwBanner=1

Note: Just an example, price may be different at other webites, haven't checked the price while writing this solution. A 400ppr rotary encoder


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.