Displaying Degrees from Rotary Encoder

I’m making a digital readout for my rotary table. I’d like to use a rotary encoder and a display to show degrees. 0-360* with no counting of full rotations.
There’s a plenty of encoders available with a variety of outputs. For my purpose, an incremental unit would be typical, but an absolute unit would also be fine. What type of output would play best with Arduino?

What Arduino board would be suitable for this project?

This is the type of display I have in mind. I’d like to show 2-3 decimal places depending on the encoder used.

Please note that this stuff is not my strong suit.

Thanks, Joel

Will You hand crank the rotary? Guess so.

An incremental encoder would work but somehow it needs to be calibrated, set to zero somehow. Do You really need a waterproof encoder? That likely costs a lot extra.

I’ve built a similar device but with a stepper doing the cranking. Steps per rev or angle step can be set. The resolution is 576 000 steps per table rev.

Yes, it’ll be hand cranked. That’s a good point, I do need a “zero” button to reset it.

Waterproof units aren’t too expensive and it’s a tough environment with chips and small amounts of coolant.

Thank You.

More buttons can easily be used to preset any degree You want. Here only dry milling is done but great those decoders don’t empty Your wallet.

As said, incremental and either 5 volt or open collector output are easy to interface with Arduinos. Do some math deciding what encoder resolution You need. Not knowing all of them but up to 4096 steps per rev exist.

Going for an LCD having an I2C interface is recommended. Less of cables, less of controller I/O pins used. They are my favorites.

I think this guy will work and has plenty of resolution.

Is the yellow wire what you’d use to zero the reading?

Please post a link to the full datasheet.

To display the angle I assumed a digital display, a micro controller and an encoder.

How do You expect to see the angle?

The link you give seems to be for a different encoder

A quadrature encoder with digital A and B channels will work with standard code on any controller. No need to bother with special protocols on other interfaces :slight_smile:

Encoder: https://briterencoder.com/wp-content/uploads/2025/06/005-RS485Analog-Briterencoder-Multi-turn-Absolute-Encoder-Manual-V20506.pdf

Display: TBD, but maybe this: https://www.handsontec.com/dataspecs/display/TM1638.pdf

Micro controller: TBD

Do you really want to deal with MODBUS RTU communications?

That would require an encoder with 36000 or 360000 increments per turn.

The above encoder is 16 bit with 65536 resolution (.005*), but is rated at .025*.

This is where I need guidance selecting the simplest options.

Assume I don't know what a rotary table is.  What will the encoder do for this machine?

It’s a surface that rotates via hand crank and is graduated in degrees, minutes, seconds.

I use it in machining to cut curves or drill hole patterns with polar coordinates. Degrees are marked around the table and minutes, seconds on the hand crank. These can be hard to read while machining, difficult to set 0 where needed, and I’d much prefer degrees in decimal format.

Here we are at post #15 and you have yet to tell us how you are going to couple the encoder to the table? Now is the time!

Here’s the rough layout for illustration. The encoder will probably be off-center and connected to the rotating hub with a GT3 timing belt (this will get me another 3X resolution). Also possible is giving up the open center in the hub and mounting the encoder in-line.

Can you adjust the crank handle manually to that sort of precision? (Thousandths of a degree?)

What precision are the graduated marks on the table that you use now?

Tom.... :smiley: :+1: :coffee: :australia:

Interesting. Do you include a belt tensioning device? And to you have a second table to use while you experiment with this one?

The pictured rotary table is mine and the resolution is 10 seconds. This is at the handle, so it doesn’t pickup any play in the worm gear. The rotary encoder would read the table directly and avoid gear backlash.