Coussens 2021 Fall Swerve

The latest iteration of my swerve design. previous versions and more information on previous development can be found here.

STEP and SolidWorks files available here.

Bill of Materials can be found here.

Main changes on this version were the following:

  • Replaced the Lamprey Encoder with the REV Through Bore Encoder. This was to improve reliability and have a simpler calibration process.

  • Re-arranged the geometry so that the module was symmetrical about the corner plane, so that left and right side modules are the same.

  • Went to a 2.5in ID 3.0in OD bearing from the previous 3x3.5 to get the module even smaller, lighter, and to get the wheel closer to the frame perimeter. Because of the smaller bearing, the belt reduction for the steering is smaller, thus a second UltraPlanetary stage was added to ensure there is still enough reduction.

  • Switched back to a 3in wheel. I wanted this version to really be the ultimate small module I would ever actually make. I likely will make a ~4in version, either one that uses the same upper parts and just swaps the bevel gears and fork assemblies, or a completely separate module design.

4.20 W x 4.20 L x 6.9 H

The first stage of reduction for the drive of the wheel is a 10/11/12:23T spur gear reduction. This is followed by an 18:45 bevel gear reduction. Drive speed options (in free speed) are:

13.39 fps (10T Pinion)
14.72 fps (11T Pinion)
16.06 fps (12T Pinion)

The steering ratio is two 3:1 Ultraplanetary stages, followed by a 16:72T GT2 belt stage using an 87T belt. Overall ratio of 37.6:1, ~293rpm free speed.

Steering position is determined using a REV Through bore Encoder mounted to the underside of the top plate underneath the NEO motor, and wired to the RoboRio. Local control on the Spark MAX can be done using the encoder on the NEO 550.

Module is designed to utilize 1.5in x 1in box tubing, with notches cut in the side around the areas of the turret of the module. Details about how this is done can be found in previous iteration threads linked at the top of this post.

To remove the wheel, the two screws that mount the fork that does not contain the bevel gear are removed, and the screw going through the wheel shaft is removed. Once those 3 screws are removed, the wheel and fork is able to hook out, while the other wheel fork that keeps the 18T bevel gear in place remains.


Thanks, Nick. Publishing this design helps move our sport toward lighter, quicker robots. RBs and WRs rather than linebackers.


Never thought we would actually see sub-3lb module but here we are. Every time I finish a new iteration I think I’ve pretty much hit the min/max limit on size/weight/features/etc but I end up finding more improvements. Definitely hitting diminishing returns I think after this. Without new components becoming available that would somehow challenge the general concepts of this module, I think this is pretty much as far as I can take it.


Argh! More awesome swerves! My programming lead still doesn’t have the Winter Swerve driving yet :frowning: Must resist building any more…

may or may not have something to do with this pesky little thing called “SCHOOL” :wink:

In theory this one might be easier to program…

You require programmers to keep up with school work before they can write swerve code? :thinking:

Actually we do that, too.

1 Like

See, the thing is, after a year and a half of staying home and skating through virtual schooling, I’ve become overwhelmed with the responsibilities of actually being in school all day every day

1 Like

For those curious the below pic shows the print build in Eiger for all the printed parts. The estimated print time is 18 hours and roughly $30 of onyx filament. This can be printed on an Onyx One, no need for continuous fiber on any of these parts.

In my experience Eiger usually overestimates the print time a bit, so it probably takes less then 18 hours in reality. Given the material usage, you can get a complete chassis (4 modules) out of one spool of onyx and have some left.


Yes, everything fits on the bed for one long print but, is that the best strategy? Parts that are that close require printing every part one layer at a time for each one. That will result in a significant amount of time between each layer. This can result in less layer adhesion. Each layer will cool significantly before the next. While the part may look good, The layer adhesion issue can be an issue when the part is repeatedly stressed. It’s a swerve module. It will have a stressful life. Some have questioned using nylon CF for the main plate. We have used nylon CF and printed polycarb for our main plate and so far it is holding up. I still question the amount of material at the axial on the wheel supports. If there are barriers like 2020, I would thicken them even if it will not be as pretty.

I have not found Markforged parts to suffer from this at all. I have done pretty much all printed parts for the last 3 seasons of robots, as well as various personal projects this way. Another reason I love using MF, simplicity, ease of use, it just plain works.

The main plate is aluminum. The top plate is printed as it doesn’t really see any load other then acting as a top gusset for the frame tubes. The bottom aluminum plate is what the main bearing is mounted to and is doing the heavy lifting for holding the frame together, along with the corner block.

3 different previous iterations of this module that have been built say the forks hold up just fine printed out of onyx. This module is specifically designed for a general flat field (should handle something like the 2018/2019 platforms and the 2018 wire bump just fine). If there was something like the 2020 bump, the design would be modified for a larger wheel most likely, and skid plates would be added to the module, something I have posted in previous iterations of this module, and other teams did with their own swerves in 2020 (148, 2910, 1684 are all good examples off the top of my head).


Yeah, I think the best option if there is “terrain” on the field is to go with bigger wheels. 4" wheels can get over a lot of terrain without the need for skid plates. If 4" wheels can’t get over the terrain, then skid plates are always an option, but at that point, it might be better to look at more radial approaches for handling the terrain, like SWANK!

Pass. I love swerve but I’m not that desperate to run it no matter what.

Even with 4in wheels for a bump like 2020 I would still add skid plates.

Pass? PASS!?

1 Like

Oh, come on, Nick! Where’s the fun in that?

Our 4" wheels did just fine on the 2020 field without skid plates. We have never done skid plates but I can see the advantage of them. My point was that I would do a larger wheel first. Plus, I am just really proud of what my team accomplished with the swank drive (even though I was convinced it was the wrong direction).

1 Like

Nick, my first impression is simply WOW! The form factor on this design is amazing. However I do have a few issues/areas of improvement. Firstly, I believe that by using the custom 3” wheel you are greatly reducing the amount of people that will use the design. In addition to coding and tuning a swerve drive, users also have to focus on developing a function 3” wheel that can withstand the rigors of competition. Almost all other modules use 4” COTS wheels/tread which has been put through years of testing by thousands of teams. In my mind it is very difficult to rationalize spending our time reinventing the wheel for a slight reduction in size and weight.

As you know, we have been working on developing the custom 3” wheel since we constructed the baby bot for the 2021 at home challenges. We still don’t have a great solution. The most recent version of the ninja flex wheels that Eli printed, with what appears to be the same pattern as your new design, split right down the center after using 5 batteries. I’m not sure if you have had any breakthroughs in the wheel design, but the only wheels that we have developed that can survive a competition with minimal wear have been printed in onyx and have less than optimal traction. Jim has been talking with one of his suppliers about get an injection mold to make tires, but should this sort of development be required to use the design? Additionally, I would recommend a captive nut design for the main wheel axle. The spacing is so tight that when the threaded insert comes free from the fork it is almost impossible to remove the shoulder bolt and change the tire.

To recap, I believe that if you want this design to gain traction in the FRC community you need to switch to 4” wheels or tread in order to eliminate the wheel development barrier. In my mind 4” wheels would be superior to tread as the tread wears relatively quickly and with 3” wheels the wear has a larger affect on autonomous positioning. Even with the extensive testing we have done with your old design, I think that it is very difficult to rationalize using it when other solutions (such as MK4) have proven to be reliable by hundreds of teams over the last 4 years. Your design lacks the immense user input of other designs. This is not to say that custom swerve is impossible and you must have data from hundreds of teams to create a reliable model, but when there are areas of concern (the wheel) I would much rather go with a design that has the data to back up its consistency.

I’m sorry for being such a downer as you have clearly put a lot of thought an effort into creating what is probably the most optimized swerve drive in terms of weight and packaging, but I thought it would be negligent if I failed to point out some of the weaknesses that I think must be addressed before we would be comfortable using your design for a typical FRC season. Nonetheless I applaud your great work and hope that you can come up with a reliable wheel solution.



For reference, here is the failure mode we encountered with the ninja flex wheels.


Seems like this could be fixed by using regular tread instead of ninjaflex. Is that not possible with this design?

You could redesign the wheel hub to create a system that is similar to the MK4 wheel. However, I am not really a fan of having four button heads sticking out of the wheel. Additionally, using the blue nitrile tread will result in very frequent tread changes due to the smaller wheel diameter.

To be honest, the choices I have made are for what I want out of the module. This isn’t catered to fit most teams needs, this is not a product that I’m trying to sell to the masses or something. I have always said and continue to say that most teams looking to do swerve are still best off using a COTS module (SDS or WCP as the best options imo).

The point of developing these different wheel tread options is that despite it being a smaller diameter and potentially wearing faster, the tread becomes much easier to swap compared to something like nitrile. That was always the entire point of the printed/molded tread.

The filament to print the tread out of is not ninjaflex. It is a higher quality and different durometer TPU. The overall goal is to possibly get the tread molded, and if that cannot be accomplished to DIY mold it using some Smooth-On products and 3D-printed mold tools. The backup plan is the printed tread, with the final backup being nitrile tread.

One thing to notice is the tread design I have on this is different then what 33 ran during the 2021 skills challenge. The tread is optimized to have more surface area touching the carpet while still having a lot of sipes. The structural integrity of this version is better then that as well, as you can see from the pictures you posted, the square shape of those sipes created a plane for the tread to split on. The wedge shape of the sipes on this version in addition with not aligning with the opposite side sides makes it so there isn’t as clear of a layer to split on.

On this module, the threaded insert is installed from outside the fork, and therefore is not able to break free or pull through towards the wheel. This is something the version you guys were running did not have. Keep in mind the module 33 ran during the 2021 skills challenge was like 5-6 iterations old and was built back in the summer of 2019. I have still generally found I trust the inserts over captive nut, captive nut in 3d parts seems to strip out way too much.

1 Like