To swerve or not to swerve, that is the question

My team has been using mecanum drive for many years. We have stayed away from swerve for cost and programming complexity reasons. We are considering going to it now, but we have heard many horror stories about swerve from teams using it. Some of those include; “they break down a lot, so you need several spares for quick replacement during competition”, “the wheel tread wears out rapidly and needs changed multiple times each tournament”, “wheel position (encoder) has to be recalibrated often”, etc. My question to the community is, how much of this is true? What is the reality? Any help is appreciated.

We ran SDS MK4i’s this year (2 competitions and about 30ish hours of drive practice) and ran into no mechanical issues as far as breakdowns or wheel tread wear. We did replace the tread after everyday of competition but with the black neoprene tread it wasn’t strictly needed, we just did it for peak performance as well as checking the modules for any lose carpet or debris. (we did keep 2 spares just in case any issues but we never needed them)

We ran into minor electrical problems (with the encoders) which were mostly our fault with soldering and some wire disconnects after huge hits, but there are counter measures to this.

The hardest thing about running swerve is definitely the programming side of it. I’m not a programmer so I couldn’t speak about it in depth but it took us about 2 months of offseason to get it working as perfectly as we wanted it.

It’s most definitely worth it, and I would strongly recommend using it if you feel up to it.


We keep 1 spare generally. Still yet to use it. With modern COTS swerves (SDS, Rev, WCP), this is likely not a huge issue. I feel more comfortable with 1 spare, but I’d be surprised if you need more than that ready to go.

It’s not great, but it’s gotten better. Blue nitrile was kind rough. Black neoprene lasts more than 1 comp if it needs to.

If this is the case, generally there is something mechanical going on. Also…it’s generally not that hard.

Hope this is helpful.


From what I’ve seen, the REV example code is pretty easy to implement for REV swerve.
I’m not a frc programmer, though.


Beginning at about this point in the year we stepped up to MK4s last season. We’d had a bit of earlier experimentation so it was not a total cold start. No horror stories but a fair bit of learning involved. Have a limited number of very precise people assembling the units. This being just post Covid there were assorted supply chain anomalies and quirks and it was less straightforward than we’d have liked. Probably better now. Changing treads, actually swapping wheels, is not too bad. Fussy and should be done periodically. Calibration was not an issue once the software wizards fixed some bugs in the library based code they started with. We had a special 2 x 4 for our calibration tool. Be aware of firmware issues and current limiting. That was another learning experience. Cost, well you can’t evade that issue. But a fair bit of the price tag is speed controllers and brushless motors that can be used and reused for the long haul. Another plus is that it was really easy to build a custom frame based on swerve. You’ll appreciate this greatly.

1 Like

With our custom swerve we experienced only one time this season where we needed to swap a pod. Tread wear is way better, but i heavily depends on the manufacturer. While all of the blue nitrile tread looks the same, there are significant differences between them. We have found that thrifty tread will last for 2-3 competitions, while AM tread will last for 1. But once you get everything figured out, both mechanically and software wise, swerve has been one of the best decisions from our team, allowing us to be more competitive, quick, and as others have said, it’s much easier to design around.

Have your programmers follow this video as a way to understand how swerve programming works, then have them use a library like YAGSL, or Rev, or one of the other example code bases. It’s much better to have that base understanding having written your own code at least once.

We always build 1 spare module. 5 or 6 years ago (with our custom module) it was needed primarily to cover breakdowns. In the last couple of years it was more an insurance policy for potential damage. We’ve not actually replaced a module in competition that I can recall since 2018. So at this point it is built because its a tradition.

The tread issue is not unique to swerve. And as others have said, it got a lot better this year compared to previous years.

The encoder should not need to be recalibrated. We used to have a gear linkage between the module rotation and the encoder. Occasionally the gear teeth would skip and the module would lose its calibration. The SDS modules do not have this same issue, but if you don’t loctite the magnet in the shaft, the magnet position could drift over time. So if you find yourself recalibrating often, something is wrong somewhere.

We don’t actually use the absolute encoder after initial position information is captured at the beginning of the match. We use the motor encoders for control. So loss of calibration during a match really does not affect us. It is easy to check the calibration of the absolute encoders on the cart between matches if you want to ensure that it is still valid. But I don’t believe we do that check any more these days.


4415 has been using swerve for 2 years now, i can only mainly speak about this year though. this year we used SDS MK4I’s and had very little issues with them mechanically besides the odd screw being loose and we did change the tread, thought not nearly as much as i see other teams doing so. we only ended up changing it before going to an event, so 4 total times during the season i believe. programming wise, i’m a novice currently, but i can definitely agree to the complexity of it. i cant speak in depth about it but i will say there are tons of resources out there such as WPILIB and i’m sure many others that would help out to program the swerve

1 Like

Honestly, as you can tell from the answers above, swerve is not what it once was in terms of the complexity of running it or its reliability. These days, especially if you’re using one of the main COTS swerve systems (SDS, WCP, Rev, etc.) you will not have any reliability problems. These modules are universally pretty tough and very reliable. We’ve run WCP Swerve X units for the last two years and never had to replace a unit, even when we abused them seriously (like slamming them repeatedly into the bars on the 2022 climb or dropping the whole robot onto them from the traverse bar that year.) The engineering of these modules is now advanced enough that having one as backup is sufficient and you’ll almost certainly not even need that. As for programming, with the resources now available from the COTS manufacturers and from WPILib, a good programming team can learn how to implement swerve if you give them a reasonable lead time. That’s the thing that you should consider now. Start with a basic summer project (just a drive base is enough) and give your programmers time in the summer and fall to learn what they need to know to implement swerve successfully. This is what we did over the summer and fall of 2021 and it meant when we did decide to use swerve for the 2022 season, our programmers already had all the basic concepts down. If you do this, swerve is now very accessible for many teams, as long as you have the money to buy the modules.


Coming from a team without a programming mentor that has historically struggled significantly… I can say that the MAX Swerve we ran this season was not dramatically more challenging than any tank drive I’ve been involved with. Mechanically it’s a lot easier and programming it’s a little harder.

Switching to swerve for this season is a huge reason why we had the best year in 6045’s history. I highly recommend it.


My team of rookies built with the MK4i modules and they ran without issues. SDS has a terrific product. There isn’t a reason in the world why you can’t tackle swerve if you have the funds. (Keep in mind REV is sold out of their modules and there’s a 8 week lead time with SDS)

I would go full steam ahead on swerve but I’d start now. Give yourself the time to work out the challenges, so you can just toss the modules on your 2024 frame in January.


Hey, 1051! My team switched to swerve for 2023 after historically sticking mostly to the AM14U since about 2015 or mecanum before that.

We ordered MK4’s last fall, and our main programmer had about 2 months to figure it out before kickoff. No code mentor, we just had a senior trying to work it out. He was relatively new to FRC too, and didn’t know the resources out there. He’d finally got our first swerve chassis up and running in late November when I asked which library he was using. He responded that he didn’t know that was an option. Anyway, there’s lots of resources out there. Utilize them. Check out 364’s Base Falcon Swerve code. We worked with YAGSL for our 2023 robot code. We’ve got a decent amount of documentation in our OA build blog.

In terms of maintenance issues, there’s just more motors and failure points. We’ve run into CAN connection issues. We found our early that some wiring wasn’t secure enough. We may solder more connections next year to secure things even better.

We had 6 total swerve modules for this season (no practice bot, 2 backup modules fully assembled) but never had to drop a module out and replace. We did practice this procedure once while making another repair in our shop. We do replace the tread on the SDS swerve wheels. That is not a popular job, but we do it between events. We have to clean quite a bit of carpet debris out of the swerve modules regularly.

At first we aligned the wheels when initializing the robot. Once we were using the CANcoders for wheel position, it was no longer an issue. Secure the magnets for encoders. For the SDS modules, there are instructions. We haven’t noticed any big issues with drift, but my programming team may be adjusting things in the code that I’m not aware of.

There was a learning curve, but none of the steps were as insurmountable as we once thought. Code had lots of example to look to online, maintenance and assembly was easier than the AM14U in some ways, electrical can be finicky so use good connectors and route wires with care. We though it would be tough for our driver to pick up a different style, but a little drive practice and collaboration on controls with code team and he was good to go.


Emphasize the quality of the wiring! Up in our part of the world build season is interrupted by blizzards. No work allowed when school is closed. UNLESS you are our wiring queen and just take the robot home with you. You’d be surprised how much cleaner and more reliable wiring can be when a meticulous person spends about nine hours doing it under conditions of total concentration.
The wiring never failed, although in our last match of the playoffs - when it was Win or Go Home - I told our driver (the same gal btw), don’t hold back, you may break the robot in pursuit of Victory. It was cool to see her limp that thing up for a balance with one module out of action from a jogged loose CAN connection. Still lost the match - to a superior alliance - but it was glorious.


2137 has been using swerve for 3 years now. We used it for the first time during the at-home challenges during 2021. This year we used the Mk4i’s and had very little issues with them. The tread that came on the Mk3’s had to be replaced frequently, but the default tread on the Mk4i’s seemed to be much more resistant to wearing.

I also find that mechanically, the swerve modules are easier to design a chassis around. They just bolt into the corners. Programming is definitely a bit more challenging than tank drive, but at this point there are a lot of resources for setting up swerve drivetrains as it has become more and more common.

We usually bring 1 or 2 spare modules to competitions with us just in case, though we have never had to use them. It is VERY simple to swap out whole modules if one is having issues.


But that’s just my opinion…

You can get swerve drive up in a day in 2023:

  • buy sds modules (assemble each in ~15-45 mins)
  • download either ctre example swerve or 364-base-falcon swerve or 3512 neo swerve
  • spend 5 minutes squaring up modules and getting constants written into a file
  • nyoom

(I don’t have experience with other modules so that why I didn’t list them but I’m sure they’re similar)


Can confirm that the REV modules are the same.

I’d say that if you’re a team new to swerve, take your time with everything and learn as you go (likely taking longer than just 1 day). But for teams that have done swerve at least once before, you could definitely pull off a driving chassis with modern COTS modules in a single day.

1 Like

It took us 6-7 hours to go from 0 to zoom with no prior experience with MK4i’s and we followed the WPILIBs’ tutorial to get familiar with why and how it work.

To swerve, or not to swerve …

Are you ready to suffer the slings and arrows of outrageous fortune? Are you ready to spend a small fortune on modules, spare modules, other spare parts?

The good news is that once you team makes the switch and commits that initial investment, you’ll never want to go back – well, maybe, if the GDC throws a game like Stronghold at us again.

And as others have said, the programming is not a major stumbling block. Also, the drivers tell me that they prefer swerve to tank in terms of learning curve. It’s more intuitive, or so I am told. Old mentors have no business driving robots.