2020 Fall Swerve

The latest and greatest iteration of my swerve design. STEP and 2019 SW files available here.

Previous iterations and versions of swerve that I have worked on for reference:
2020 Summer? Swerve
2019 Winter Swerve
2019 Offseason Swerve
2018 33 Buzz XXIII Swerve
2015 Offseason Swerve
2015 2451 PWNAGE Swerve - Most design credit to @Kevin_Ainsworth, inspired by @Aren_Hill
2014 2451 PWNAGE Swerve - Most design credit to @Kevin_Ainsworth, inspired by 3928 and @Aren_Hill

This module is mostly the same as the Summer 2020 iteration, but has some key differences:

  • 3.75" wheel compared to the previous version of 3" wheel

  • 4.25" L x 4.25" W x 8.09" H compared to the previous version of 4" L x 5" W x 7.4" H

  • 3.25lbs compared to the previous version of 3.45lbs

  • Frame tube size is now 1.5" tall. This kept the height lower on the module to offset some of the growth from the larger wheel, and also helps reduce chassis weight by having smaller tube. 1.5" x 1" x 1/16" 6061 is available from onlinemetals, or 1.5" x 3/4" x 1/16" 6063 tube is available from Eastern Metal Supply. How the frame tubes integrate with the module is shown in the CAD model.

  • Polycarbonate cover added to sheild the inside faces of the module so everything is now fully enclosed.

  • Experimenting with TPU 3D Printed wheel tread insted of traditional rough-top tread. Alternate wheel design could easily be swapped in for rough-top. Working on testing of this TPU tread concept currently, inspired by some design principle work pioneered by @Kevin_Ainsworth and 2451 regarding the specific geometry of the tread shape, and inpired by 3357 to try printed wheel tread.

All of the following information is the same as the previous version, with the exception of the bevel gears which is now an 18:45 1.25 module bevel gear stage. This change was to maintain the same output speeds as before with the larger wheel size.

Drive ratio is a 18:45 1.25 module bevel gear ratio, first stage off the motor is 10/11/12:28 20DP spur gear. Optional 9:30, or 13/14:26 also available.

Drive Speeds (free speed):
12.16fps (09:30 first stage)
13.27fps (10:28 first stage)
14.59fps (11:28 first stage)
15.92fps (12:28 first stage)
18.57fps (13:26 first stage)
20.03fps (14:26 first stage)

Steering ratio is a 5:1 (5.23:1 actual) UltraPlanetary Gearbox, followed by a 16:86 GT2 belt stage using a 94T belt. Overall ratio of 28.1:1, ~391rpm free speed.

Steering position is determined using a Lamprey Encoder mounted to the top of the pod. Local control to get to position can be done using the encoder on the n550.

Module is symmetrical, allowing for same parts to be made for left and right hand modules.


This swerve seems to be an experiment in using onyx everywhere.


It isn’t using any more printed parts then the last 4 prior versions.


From the render finish I’m assuming the base plate is made from Onyx. Will the small lip containing the rotation bearing be strong enough to hold the whole robot weight?

Also, what was the reasoning behind moving from a 3" to 3.75" wheel?

The plates are machined nylon, same as the prior 4 versions.

Numerous people had asked me about doing a 4" wheel to deal with field obstacles better in the future. I ended up at 3.75" because there was not a good set of bevel gears commercially available anywhere that would have resulted in the same output speed options as what I previously had, and I was really happy with the spread I had.


Onshape Link

I fixed appearances and added accurate weight and (mostly) accurate CoM for all of your Fall Swerve Needs. I also added the drive rail profile Nick included in a separate Part Studio so you can copy the profile if needed.


I notice on this version the outer face of the wheel forks tapers in as it nears the axle. Is there any particular reason for this? I don’t see a taper on any of your other versions.

This is neat! Has it been tested yet?

One concern I have, because I want to use the NEO 550 on more mechanisms: Are you sure it works well for position control? With your current reduction, one rotation of the NEO 550 results in a ~13 degree angular change of the drive wheel, and I suspect that there are significant cogging issues with the brushless motor that will make holding a precise angle difficult. We have not been able to test position control with ours yet, so I don’t know if this is true or not.

The forks are larger on this version due to the larger wheel, so this was simply to minimize the size of the forks.

This specific iteration has not yet been tested as the design was just finished, but previous iterations I linked in the OP have been. Regarding your specific concern, I and numerous other teams as well as the COTS options out there have already used brushless motors for the steering without issue. In fact, the brushless motors allow for better overall control because you can use the integrated encoder on the brushless motor of choice to do local control, using the absolute position encoder just for position reference.


Your designs just keep getting better and better, Nick!

Have you been successful with the Lamprey encoder yet? If so, I would be interested in hearing how you you did it (i.e., did you read the lamprey with the Rio or with the SparkMAX? How did you manage the interface? Any issues with resetting or unresponsiveness? etc).

We have pretty much abandoned the Lampreys in favor of a more traditional gear driven encoder. But I would really like to see us getting the Lampreys working at some point in the future.

Edit: Out of interest, where will the Lamprey encoder ribbon come out of the module? With your polycarb enclosure, I don’t see a hole for it.

Here is a link to a full BOM for the module. The first sheet includes everything for 4 modules and the frame tubes to build a chassis (not including control system, supporting structure, battery, belly pan, etc. just the frame tubes). The second sheet is just the BOM for four modules and excludes motors, motor controllers, and encoders to approximate a comparison to existing COTS options.


I’m curious about the machines nylon. What kind of strength it has?
When I used nylon atleast for 3D printing we always used a few layer of Kevlar or carbon fiber on the top and bottom to reinforce it and protect it from lateral stress. I assume with it being a solid piece of nylon those issues wouldn’t be there? And what is the pro/con or strength differences compared to doing .25 aluminum?

I’m really curious about this. From the CAD it looks like the wheel hub and tread are separate 3d printed parts. What is the tread printed out of? Can you or @Kevin_Ainsworth talk about that a little more, or is there another thread about it?

1 Like

Additionally, I’d appreciate machining tips on the nylon.

The primary reason I have used it over 1/4" aluminum in the past is that it can be machined faster. I also like to have things enclosed when possible so I don’t machine pockets all the way through, which means the pockets cannot just be machined by doing the perimeter but have to be completely machined, thus the nylon plates saving machining time. There is also usually some small amount of weight savings that come with it. In most FRC applications 1/4" aluminum is somewhat overkill. On this module you could always make the bottom plate aluminum if there would be lots of hard impacts directed into the plate (good example would be the 2020 bump). This wouldn’t change the design at all and add a small amount of weight, which at this point the module is so light already would not be a big deal.

The wheel hub and tread are separate parts. The hub is two halves that trap the tread piece in place and clamp it from either side. The wheel hub parts are printed out of onyx, so far I have printed the tread part out of 100% infill 90A TPU. There is definitely some more testing and experiments to do to figure out optimal geometry, material, infill, etc on the tread. This is in the early stages of development.

Kevin wasn’t involved in the design or testing of this, I got the geometry idea for the spiked shaped profile of the tread from the work he and 2451 did on their test chassis last offseason that was playing around with follower wheels on a WCD chassis to deal with the carpet grain issue and get more precise odometry. My thought was why not apply that geometry to the actual drive wheel to see if it helps improve odometry accuracy on a swerve. Again, very very early in the development of that so a long ways away from knowing if it actually has this effect. Also need to evaluate better the durability compared to normal roughtop tread better.


Great to see people going down the printed tread route!

3357 didn’t run the tests for odometry and grip for printed tread like we wanted to this summer (thanks COVID) but hopefully once we have our new spec drivebase up we can finally execute those trials.

Also wonderful swerve development as usual Nick, you guys keep pushing things again and again, it’s always super impressive!

Oh can we expect a swerve module kit from REV to rival the modules put out be swervdrivespecialties