Can anyone help. I have a raspberrypi3 with a photoelectric sensor and a 600ppr encoder hooked up. Everything is up and running, im using pigpio to capture my pulses from the encoder and using the sensor measuring an object. The object im measuring is accurate to +/-5mm running at 300 meter/per/min. When I try to run above 400 meter/per/minute my reading on the encoder isn't very stable, would it help if I got a lower ppr encoder say 360?.

The calculation to work out if encoder is compatible is revs/per/second x ppr of the encoder . In my case 600ppr.

can anyone tell me what frequency the raspberrypi3 can handle?.


  • What programming language are you using? You mention 600 encoder steps for one rotation. You don't explain how many times the encoder rotates for each meter of travel. – joan Mar 17 '17 at 16:21
  • Hi Sorry, Using python. Basically there are 2300 pulses per meter, so to get that it needs 3.83 revolutions if that makes sense?. – Andrew Wanstall Mar 17 '17 at 17:38
  • That make 400*2300 or 920,000 pulses per second. By default pigpio only samples 200,000 times a second so it would miss lots of updates. Python would be swamped at continuous updates at anywhere near that rate. – joan Mar 17 '17 at 18:10
  • Hi no per minute? – Andrew Wanstall Mar 17 '17 at 18:11
  • Should be 15333 pulses per second right? – Andrew Wanstall Mar 17 '17 at 18:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.