Custom Ball-shifting, Single CIM gearbox

I’m working on little swerve project that is almost ready to go up on GrabCAD, but in the meantime I thought I would at least put up the gearbox for it. I am looking for some feedback.


  • 2.78x spread

  • 2.83:1 reduction in high

  • 7.87:1 reduction in low

  • VexPro ball-shifter shaft and gears

  • COTS shifter piston from McMaster

  • Lightened BrecoFlex AT5 30 tooth pulley, 16 mm width

  • Custom 3-D printed shaft coupling and piston mount

  • 3-D printed shell

  • 1/4" plate, fits in a 5.5"x 3" footprint

  • ~5.5 pounds inclusive of all hardware, shell, pulley, encoder and CIM

Technically it can be a little smaller, but this design allows for a tiny bit of flexibility in shifting spread.

Full-res IMGUR album here
GrabCAD here

Is there a reason why you used a number of complex plastic parts when it seems like there could be a simpler COTS option? (ex. encoder mount, pneumatic mount, plate spacer)

Also it might be beneficial to rotate the CIM mounting holes so you can replace the motor without taking apart the whole gearbox. Shouldn’t be too hard.

How are you planning on mounting this?

This answers a lot of my questions. Very interesting design!
I am still wondering what you used for the cylinder-shifter shaft linkage. It looks like a shaft collar, but I’m not sure how that would work.
Why Brecoflex over Vex pulleys?

I’m not on 1923, but this should answer your question

We had serious issues with the COTS shifter hardware this year in the 3 CIM Ball-shifter

  • The plastic coupling broke, slipped or let the c-clip fall out on several occasions (we were stuck in low for an entire event because of this). We solved it by 3D printing a custom coupling anyway that worked much better for us.
  • The hardware is very tough to replace or service if anything goes wrong because of how it is mounted in the COTS solution.
  • This design incorporates a female threaded piston, so just stick a bolt and washer in there and we don’t have to worry about the orientation of that little nut in the COTS hardware

If I am going to replace a lot of the kit anyway, why not just grab the piston from McMaster as well and use something that’s easier to incorporate into the design?

For the encoder mount, we really like the SRX Mag encoders, which don’t mount in the existing encoder plates. In any case, the original mounting hardware would be hard to integrate into the design anyway.

Thanks! I’ll probably fix that in the next revision. I completely overlooked that :stuck_out_tongue:

This will probably make a lot more sense when I post the Swerve design, but the it basically mounts flat onto some C-channel that has clearance holes for the CIM and shifter hardware.

Thanks! It’s a 3D printed coupling.

One of our mentors works for Brecoflex so that is what is accessible for us. We also love the fact that they offer literally unlimited options in terms of belts and pulleys. The AT5 tooth profile coupled with polyurethane/steel belts seems to be working very well for us since we can get away with thinner belts.

Am I missing something but, with that encoder mounting position, the output shaft will not be measured.

All you have to do is accommodate for the reductions in code. By not having it on the output shaft in the case of a shifter like this, it does add a layer of complexity because you also have to track what state the shifter is in (high or low) and adjust the ratio compensation accordingly but, again, it should be easy enough to in code. That said, if you were to use this to drive in autonomous, I wouldn’t shift gears, as the transition between gears may lead to some odd results from the encoder.

Did you contact VEXPro about that issue? They’re generally pretty responsive and like to know when issues occur so they can make changes to prevent them in the future.

That said, I’m thinking you might have just had some bad luck, of the 12 3-CIM Ball Shifters I’ve built I’ve never had any issues with the pneumatic couplings (that I didn’t cause myself anyways). If you still have the parts, it might be worth checking to see if you had a mismatch between the v1 and v2 revisions of the shifter coupling and the shifter shaft, when they changed the shafts a year or two ago they changed the coupling too, but many of the old parts remained in circulation. If you mistakenly got one part that was v1 and the other was v2 it might explain the issues you had.

That’s the plan. This seems to be the easiest way to mount the encoder, but if we find we need to track the rotation of the wheels more accurately I can move it onto the output shaft. I’m not too concerned with that right now.

I talked to the VexPro rep at champs and he said he was very surprised that we had issues with that part of the hardware. That being said, once we build and test this I will send this formally to VP for review.

All of our hardware is v2 (we only started using the ball shifters Nov. of 2016).

We have built 8 of them so far, and 4 have failed at some point. It’s always been in the shifter/piston coupling. It’s very frustrating when a COTS part fails at competition even when assembled correctly. I believe this design addresses all of our failure cases.

Updated (In preparation for full post):

That looks awfully fast (low torque). We’ve run several of our single speed robots with gear ratios intentionally slower than your LOW gear, at least one on 4" wheels.

What’s the rational behind the (1/4-20?) socket-caps pulling the two plates together? Normally you would use spacers/standoffs in this instance to prevent undue stress being placed axially on the shafts containing your gear stacks. Is there something else at play that is mitigating this force?

Ignore the following if I am wrong or missing something.
If you can’t include spacers then you should be looking at full length threading on the fasteners and indexed threads in both plates in order to keep them the proper distance apart.

It’s being used with 2.5 inch wheels, here

When I posted the updated version, I neglected to render images that include the 3D printed cover that both protects the gearbox and also set the distance between the plates. You can check it out on the link to the original imgur album since that part of the gearbox has not changed.