Close

Cheap continious full absolute 360° resistive rotation encoder

bastelbausBastelBaus wrote 09/27/2025 at 09:05 • 3 min read • Like

My question was, how to generate a cheap continious full abolute 360° resistive encode and I came up with a nice hack; using a dual potentiometer (<1€ per piece, aliexpress).

When opening it, you see the base components of a single potentiometer. There are basically two simple steps to apply:

  1. You can easily bend the rotation stop back, so the axis can rotate by 360°
  2. You can mount the top white pick up (with the springs) by 180°. To do so, you need to cut of a little bit of the white plastic that the pokayoke pin fits in oposite direction.

Then put everything back togeter and you have synchronized dual potentiometers with 180° phase shift. A single potentiometer has the following behavior without the rotation blocker:

To get a 360° rotational postion, the easiest way is two use two ADC converters and two pull up resistors as shown in the next figure. If the ADCx voltage is between 0.1 and 0.9 VDD for example, the measurement can be taken to calculate the rotation angle. There will be at lease one of these measurements for each angle and in several cases both ADCs will show a valid measurement and both values can be averaged to increase the performance.

I was thinking a lot if one could find an easy circuit which could achieve this with a single ADC measurement (without using further ICs like an opamp). The only thing I come up was using a digital output switching from high impedance to ground and a single channel ADC. With the following setup only one ADC channel would be needed with two measurements to get the absolute anlge. It involves a (float) division in software.

So far I have not tested it with real software, but this is to come. Any ideas of an even more elegant readout are welcome!

Like

Discussions