Help! How to couple encoder to shaft?

Hey Chiefdelphi community!

We are working on a extra mechanism to install in our robot at the regional and we are having issues coupling an encoder to a VEX shaft. The shaft is the 1/2" OD Round Tube Axle Stock with .258in (6.55mm) hole diameter and the encoder has a 6mm diameter axle, so the gap between them is 0,275mm. Has anyone been through this before?? The shaft will rotate at 5,000 rpm in a flywheel.


You can drill and tap the end of the Vex shaft for a 6mm shaft to match your encoder.

Someone will probably have a better idea, but you could try splitting the end of the shaft and use a clamping shaft collar to pinch it closed around the shaft of the encoder.

We machined a mount that rests on the belly pan of the robot and sits inside of the end of the axle using a .250 hole. You could also use flexible tubing such as pneumatic tubing to make a flexible shaft.

The easiest way would be to get a different shaft :slight_smile: If you got one that was solid, or had a smaller hole, you could drill it out to the proper size. That assumes that you have a mounting method that will locate the encoder properly so there is no stress as it turns! For us, that means CNC’d or 3D printed parts so all of your mounting holes line up perfectly.

Alternatively, use a flexible attachment method, like surgical tubing. Roll it over both the shaft and the encoder shaft, and that way if your mounting holes are a little off it won’t matter. If you want to do this with your current shaft, I recommend tapping the end and sticking a bolt in it (loctite to make sure it doesn’t come out!) so you end up putting the surgical tubing over items of similar diameter. It just makes it easier.

We have used hard mounted encoders on the belly pan for our drive system.
But they tend to break the encoder over time with any flexing…

What we have done that is working really well is taking a 1/4" shoulder bolt and cutting off the top, installing a nylock nut on the top of the threads to act as the new head of the bolt then tapping the axle. Install the bolt with a split and flat washer on the axle. Then inserting another shoulder bolt with the threads cut off through the encoder. Set the two shoulders bolts that are protruding fairly close together. Cut a small grove on each of the shoulders towards the ends. Using surgical tubing bridge the gap plus some extra to cover over the groove. Then zip tie each end of the tubing with the zip tie into in the grooves (helps keeping the tubing from slipping off). Use a small amount of dish soap to ease the insertion of the surgical tubing. :stuck_out_tongue: This will work on dissimilar sized axles.
We have been doing this with the M103 series encoders very successfully. Mount the encoder on some Lexan to keep the bolt from puling out and it will allow a fast and easy way to adjust the alignment if needed. We usually have chain drive and cover the chain for safety with Lexan shields, which ends up a great spot to mount the encoder to.

I haven’t tried this on a super high RPM shooter, but for those we tend to use the Versa encoder on the Versa planetary, we have even used the versa planetary gearbox as just an encoder and drove it from the axle end, no reduction stages or motor on it.

If you need a better visual I will look and see if I can find a good photo of the setup. Send me a message if you need me to dig around for one.

Good Luck,


What Jon said. Unless you get them lined up perfectly, or you have a method to mount the encoder so that it’s floating, you want a flexible coupling. Otherwise you’ll probably fatigue the shaft off your encoder in a matter of minutes.

If, after the advice about a flexible coupling, you decide you still want a stiff coupling, robotshop has just the thing. Or you could use a couple of “nubs” or hubs with the same bolt pattern and bolt them together.

Since you are running at high rpms on a shaft that dosn’t need to be indexed you dont need a positional encoder. Cross drilling a hole and adding a machine screw to act as a way to activate a proximity sensor will work. You can also do a simmilar process with a neodymium magnet and a Hall effect sensor.

Skye Leake

Can you link to the encoder you will be using? Can you tell us if you are just using common tools or if you have access to other advanced tools like a lathe? We can make some specific suggestions with that information.

We don’t have in our lab any CNC machine, either lathe or milling. We have drilling machine, band saw and common tools.
The encoder that we are using is this one.

We already tried this solution in a remainder of the shaft and it looks like it will work, the encoder shaft seems to be pretty coupled, but we didn’t test it in high speed yet.

Any additional information that you need, please ask! And thanks for everyone for all the assisting, we’ve been trying many ways to couple it! :smiley:

We don’t CNC machines, lathe or milling in our lab, we have a bandsaw and some common tools in general. The encoder that we are using is this one. The main problem that we have is the space available to work with the encoder, as the end of the shaft is really close to a wall.

We already did this one and looks like to work fine, we used the rest of the shaft that we have in our lab and splitted it and clamped both encoder shaft and vex shaft together with a shaft collar and seems to work fine. We didn’t try in the mechanism shaft in high speed yet.

Thanks to everyone that took their time posting here to help us, we are trying a lot of methods to get the best result as possible. :smiley:

PS.: Sorry for taking so long to reply, I tried to reply the day before yesterday, but it seems that it wasn’t posted for some reason.