Rev bore though encoder

Is there a trick to making the bore though encoder be absolute. No matter what we do when we turn the robot off we keep getting new numbers when the robot is turned back on.

1 Like

You’ll want to use the red/black/white plug for absolute mode. The docs have all the wiring layouts that are possible.

NI Rio

Duty Cycle Encoder (Absolute)

When using the Through Bore Encoder as a duty cycle encoder plug the ABS (white) signal line into a DIO port on the roboRIO.

We are getting 0-1 but it resets after one. So we get 13 decimals of accuracy up to 1. Is there a way to let it keep counting? I am sure it’s something stupid we are missing

emphasized text


Unfortunately the through bore encoder in absolute mode only counts from 0-1. This is great in situations where you want to directly measure the angle of an arm, however if you need total counts of revolution of a mechanism, you’ll want to use quadrature input. Quadrature input does require a “homing” sequence to know where the 0 point is when power is cycled. Teams in the past will use a limit switch, moving the mechanism slowing towards the zero point until the limit switch is triggered, then resetting the quadrature input to 0.

If you specify the type of mechanism you are trying to keep track of, there may be a better solution.

Did you make sure to flip the switch on the side of the encoder to “A”?

I have not used this feature, but believe that the dutycycleEncoder class keeps track of rotations for you. As mentioned above, you definitely need to wire it up properly, to be sure the little switch is in the right position, and you often only care about the absolute position.

We need to go to potentiometers it seems. I clearly miss read what the bore though did.

I’m a bit confused, what’s your intended use that isn’t fulfilled by the through bore encoder in absolute mode?


Sounds like something that needs multiple turns and needs to remember it’s position after a power cycle, like an elevator spool or the small sprocket on an arm joint.

1 Like

Just taking a guess here… We used a 10-turn potentiometer for a winch in the past. A team using a spring loaded telescoping tube for an arm may have a winch with a known, limited number of turns. Being able to get exact location and number of revolutions would tell you how far it’s extended.

1 Like

Yeah I’ve gone to 10 turn pots for that otherwise I design in mind to be able to reset via limit switch in start config or at a max/min limit.

1 Like

We have an elevator and arm we want to know exactly where they are at at all times. We would rather not have it set to zero each time. We want a bullet proof solution so in case we miss something and did put the arm back correctly it does not make a difference. It also gives up Peace of mind knowing the limits we put in are never off.

Our team had a similar problem, where we have an arm that has ~180deg range of motion, geared down 48:18 to a shaft that we wanted to use with a through bore to read the position of the arm. (This means that the through bore shaft would rotate ~480deg for the arm’s full range of motion. We wired the through bore encoder to the roborio in both absolute and relative mode at the same time (see the datasheet for what this means). At the start, we read the absolute encoder and set the relative encoder to that value. This means that we can measure the full range of motion of the arm while not having to start the match with it positioned perfectly. We still have to have it positioned within a range of angles to start, but it’s a lot better than nothing.

1 Like

We are currently using the through bores on three joints for this exact purpose. We are using them via duty cycle on DIO on the rio, and they have been working great. Since we only care about angle, we are multiplying the output by 2pi and adding an offset to get them to measure the correct angle for the model. To get rid of the strange jumping when it goes past 1 or below 0, we just get the cos and sin components of the angle and make a new angle from that.

Overall they’ve been working great for this purpose.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.