I am using Arduino UNO/ MEGA to read the incremental encoder pulses (Baumer encoder EIL580). Currently, I am using it in single-ended mode (reading A,B and Z outputs) as I am not sure how to read the differential signal in Arduino (A, Ainv, B, Binv, Z, Zinv) as it would improve the reliability of the data. Is there any addon shield or circuitry to interface this signal with Arduino?

  • Differential signals are used to reduce or cancel common noise from long cables. Usually Arduino projects are small and everything is in close proximity. Is the encoder far away from the Arduino. That is, are the cables long?
    – st2000
    Commented Oct 3, 2016 at 2:22

1 Answer 1


It looks to me like something similar to RS485 (I have a page about that here).

You could use a chip like the LTC1480 to take the A+ and A- inputs and convert them to TTL levels.

I haven't tried it with your encoder but in principle it should work. (You would need two chips if you want to handle A+/A- and B+/B-. Or three if you want to handle R+/R- as well). Still, it's about a $6 chip.

  • I've had succes with the MAX485 chips, I believe they are pin compatible with the (one of the most common) LTC chips. The max485 may be cheaper (especially from ebay, but they may be counterfeit and not work as well).
    – aaa
    Commented Dec 2, 2016 at 7:14

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.