Team 2471 2020 "Hermes" swerve module

I am excited to announce Team Mean Machines’ new swerve module for bunny bots and hopefully the 2020 season.

The goals on the new module were simple, make it easy to machine, zero-backlash in the steering, durable and easy to maintain, and finally lightweight, “cough cough” simple.

Quick stats:

  • 3d printing: time = 28 hours and costs = $29.88, per module.
  • Tormach parts cut time = 80 minutes, per module.
  • Module Weight = 3.663 pounds, yes with everything pictured above!
  • Drive free speed options (ft/sec) = 14.95, 16.1, 18.07 (With current plates) 11.59, 12.65 (with different plates).
  • Steering reduction = 19.6:1
  • Module Size = 5” by 5” by 6.53” (with neo) or 7.53 (with Falcon), 1.875 form center of wheel to the edge of the frame.
  • 2.15 of ground clearance.
  • KHK bevel gears
  • 3" id by 3.5"od and .25" thick sealed bearing.
  • 3" wheel
  • bill of materials cost is 315$ includes everything pictured above.

CAD will be released before build season.

Questions are welcome as always!


What bearing are you using for the module?

Edit: I can’t read apparently. Great module!

Is there bearing support under the vertical bevel gear that drives the wheel?

What size bevels are you using?

What size pulley is driving the steering of the module? How many teeth are engaged by the belt on it?

1 Like

I know last year you riveted the treads onto the wheels, and said you were considering other options such as screwing the tread in. what are you guys doing this year?

nice module! love the packaging of the absolute encoder, was going to make a module with something similar!

as a close friend would say “very hot sir”.


Love this module! Great work 2471. Very nice how the whole thing can drop out the bottom of the robot.


I read the scale and thought it was 310.6 lbs


This is awesome Owen, great job! Was steering backlash an issue you had with last year’s swerve module? Was it because of the versaplanetary?


Very impressed. Well done!

Which parts are printed? Material? printer?

Looks nice and compact.

Not from 2471, but I’m guessing Onyx + continuous fiber on a Markforged (this was mentioned in a lot of previous CAD uploads from them).

Awesome design!

Hey Nick,
Hope I can answer some of your questions!

Is there bearing support under the vertical bevel gear that drives the wheel?

Yes, there is a .25 id bearing in the very similar to how 2910 has done it in the past.

What size bevels are you using?

We are using the same ones as last year, the KHK SB1.25-1545 and KHK SB1.25-4515. We have moved to bolt the gear to the wheel instead of epoxying it to allow for wheels to be scraped without losing the gear.

What size pulley is driving the steering of the module? How many teeth are engaged by the belt on it?

We are using a 10 tooth belt pully like used on 2910 mk2 module and have around 3 teeth engaged at any point in time.

-Owen Wilks


Hey Caleby, Thanks for the kind words!

Last year we never really had a problem with backlash in the versaplanetary as the encoder was on the final belt stage. We wanted to be able to PID the new modules steering using the neos built in encoder and knew that we couldn’t have any backlash. The Magnipot from Digikey is only used at the beginning of the match to zero the modules, the rest is done with the neos.

-Owen Wilks


I really like this design. Couple questions:
What is the total azimuth reduction (how fast does it spin)?
How thick are the main plates?
What would you say helped you the most with reducing weight? We just recently (today) finished building our modules that weigh in at a staggering 8.2 pounds and I want to get that down for future seasons.

not 2471, but I’ve been working on a module that is almost done, and is looking to be about 4.5-5 lbs.

their biggest weight saver (as far as i can tell) seems to be the fact that a large portion of their module is 3d printed from onyx. additionally, they pocket their plates a lot more than most teams (as far as i can tell), and the module overall is really compact. usually, the way swerve modules seem to be over 6-7 lbs is because they might be over-engineered, in the sense that they are very beefy. the andymark swerve drive is an example of this, since it uses steel gears, and relatively more complex and thicker aluminum parts. this isn’t necessarily bad, but you can definitely cut down weight by really assessing how much load certain parts will take, and trying to cut from places that could be considered “overkill”. additionally, motor choice is a decently large factor in weight. using motors like cims are obviously going to be heavier, but even choosing a 775 could hurt on weight, since it requires an extra stage of gearing usually compared to neos

if you want more detailed help, you can probably just post it to cd in a separate thread, and people always seem willing to help.
EDIT: I noticed you already did this. I’ll leave my two cents there.

1 Like

If I remember right it’s got about a 20:1 reduction.
It spins really fast:

As far as being light. I think it’s much the same as with other mechanisms. In general order of significance:

  1. Make everything smaller
  2. Reduce part count
  3. More efficient load paths
  4. Material selection
  5. Lightening patterns

@Bryce2471 That’s crazy fast! Is the rotation driven directly by a PID or is there a motion profile as well?


This maybe one of my favorite because it take full advantage of robot size. I’m guessing the printing cost estimate is for material (not including printing time cost)?

Great module! Really similar concept to what we’ve been working on.


Nice module and I love the size!

Have you noticed or expect any robustness issues for not extending the drive train tubing all the way to the edges? If not that extra space saving is really nice!

Yeah riveting into a 3d printed wheel was a pain. This year we have double threaded spot weld nuts embedded in the wheel. You can see the heads of two countersunk 8 32 bolts in Owen’s last picture.

The wheel, wheel forks, large steering pulley, both encoder gears, and perhaps a spacer or two. They are all made of onyx on our markforged.

Just PID. At 50 hz a profile would only get to change the set point like 5 times rotating 90 deg. Also, we did lower the gains since that video was taken to prevent overshoot. We will likely raise them again once we have the modules under a full weight robot.

I would make the same assumption, because the markforged automatically calculates this before each print.

I don’t expect issues, but we won’t really know till we use them on a full weight chassis.
Anecdotally, I stood (160lbs) on one of the frame rails of our bare chassis. There was some visible deflection, but it didn’t cause a problem. Also, the spacer that is supposed to tie the corner of the module to the top plate of the frame (which would significantly increase rigidity) was not there during the test.