2910 MK2 Swerve Module Release

So far the modules have proven to be very solid. We are looking forward to competing with them. Here is our robot reveal to see footage of the modules in action.


I’m happy to report that we drove off L2 of the Hab in all but maybe one match at Glacier Peak this past weekend without any damage to the swerve modules.


I’m curious about what kind of sensors were used on the drive and turn motors. I see the analog absolute encoder on the turn motor. Were you able to use that encoder as an analog sensor connected directly to the Spark Max, or was it used just to set the absolute position of the internal encoder? And for the drive motor, the integrated encoder was good enough?

You guys have really inspired me and my students to play with a swerve drive this coming offseason. If for nothing more than how fun it looks to drive.


We are not using any advanced features of the Spark Max.

The MA3 analog encoders are connected to the RIO and we are running PID at 200 Hz onboard the RIO. Steering spark Maxes are controlled over PWM to avoid CAN latency.

Drive sparks are controlled over CAN. We are not currently doing any encoding for drive. The goal is to get some auto paths working for sandstorm by district champs. These will will use the integrated encoders. Path following calculations etc will be done onboard the RIO. Just using CAN to get the encoder readings from the sparks.

1 Like

Cool, thanks! Have you thought about using a CTRE mag encoder or something for the drive motor and attaching it to the RoboRio? That would get around CAN latency as well as get more accurate distance measurements for odometry

We have thought about using something different for drive encoding, but we would like to avoid it because of the added complexity and cost. We expect the NEO integrated encoders will work well enough for what we are trying to do.

Last night I realized I made a mistake when calculating the drive gear ratios of the module. On my spreadsheet, I had the amount of teeth on the large bevel gear as 45 teeth instead of 60. I think too much time has passed to edit the initial post. The corrected gearing should be as follows.

2910 has been running the high gear this season so far. We thought we were geared for 14.7 ft/sec free speed, but it turns out we were only geared for 11.1 ft/sec. That helps to explain why our drive NEOs were barley getting warm after many rounds of repeated drive practice.

We think we are leaving some performance on the table as is and are planning to test some faster gearing this weekend. We will try changing the first stage to 18:38 and the second stage to 24:20. Resulting in a 14.08 ft/sec free speed. This will be a substantial increase in free speed and will put more stress on the drive motors. I’m optimistic it will work out though. I think it has the potential to take our robot to that next level of zippiness. If it turns out to be too aggressive we will probably land on the ratio that results in 11.9 ft/sec free speed.

For reference the ratio we ran on our robot last year resulted in a free speed of 16.3 ft/sec. In hindsight this is probably quite a bit more aggressive then optimal for that robot. Our CIM motors would get pretty warm after just a few back to back matches.


If you’re willing to share, I’d love to see some footage of you guys cycling at different speeds/gearing. It seems like you guys are in a great position to experiment with how drivetrain speeds affect cycles, given you are at the top tier of game pieces moved per match.


I literally can’t imagine a robot being zippier than you guys are already.


Our final bot is currently geared for about 17 ft/sec free speed with NEOs (same gear ratio you ran last year, NEO’s just spin faster). We haven’t noticed the drive motors getting warm at all (probably because they’re NEOs, not Cims) but we have sometimes felt like we were lacking power when trying to push. I think the next gearing that would fit in the Mk1 modules is what we have in our prototype and would give us a free speed of about 11.5 ft/sec.

Be careful and make sure you have the current limiting set right. With our drivetrain geared at 15 fps on 4in wheels we’ve popped 40 amp breakers just driving around at high speed at our last event.


Yeah, I wish there was an in between ratio for the MK1s. There is no easy way to mount a 16tooth 20DP gear on a CIM output shaft. It would be great if AndyMark or Vex came out with one.

1 Like

We are liking the 14.1 ft/sec gearing. The motors are getting warmer, but not enough to concern us. Our 104 pound robot is still traction limited. It is noticeably faster, but acceleration is still pretty good. At first our driver was over shooting when practicing placements, but we have done enough practice runs and he has gotten used to it. We also lowered the current limit on our arm to prevent hitting brown out protection as soon when accelerating from a stop and moving the arm simultaneously.

This weekend we also had time to work on path following. We should be able to do more in sandstorm at DCMP next week then we have been at previous competitions. So far the NEO integrated encoders are working great.

1 Like

Would you be offended if my team produces your swerve modules in the offseason? We think they are great modules and personally I want to test our machining and production of critical parts on our new router.


Go for it. It should be a great project. We would not be offended at all. As long as you don’t start mass producing and selling them.


Exciting news! The MK2 modules are now available for preorder.

Individual components will be available for purchase as well once inventory is available.

Please feel free to ask any questions.



Interesting that this is your viewpoint here, as you’ve been selling a close to carbon copy of a module myself and some friends designed and posted 5 years ago with no credit provided.

Not trying to be a jerk, but credit/ “permission” is a weird thing to tip toe around, and it is easy to offend people. I’d be a bit interested to have a conversation regarding this, may be a topic for another thread.

I like the MK2 updates, the symmetry is nice, even though it adds a stage, Brushless motors will really make swerve become more of the “standard”, it is beautiful to watch you guys drive.



Was the CAD for your module ever made public, Aren? I’ve seen many variations on it since the initial posting (has it already been 5 years? Wow!) but this one definitely looks pretty close.

I was wondering why that MK1 looked familiar!