FRC 5987 Galactic Swerve

Having found out we have no season to participate in, most seniors on the team thought this would be a good time to finally build the swerve drive we had always dreamed of. Our hopes were immediately crushed quarantine started and we were banned from coming to the workshop. Bored in quarantine, I ended up designing one anyways

We’ve had plenty of swerve modules come out of the team over the years, with this i tried to design as much as possible within our manufacturing capabilities - CNC router, lathe and 3D printer.
The module is very obviously inspired by the WCP swerve, as well as SDS MK2, 1690 and 910. It goes by Aren Hill’s bevel beside wheel design and turns with an HTD 5M pulley, machined out of HDPE.

Grabcad link:


Any reason you used a 775 for turning, rather than a CIM style motor? Because of brushless motors, they’re about the same weight and you don’t need as much reduction.

Well, the main benefit that I see is having the ability to run the control loop on the motor controller itself, rather than on the RoboRIO

Mostly the team’s preferences and limitations, Falcons are expensive and we can’t just put them wherever we want, and we don’t use NEOs - software sub-team never learned to work with the spark max and now with Falcons there’s no reason to, so ordering NEOs is really not worth it.

1 Like

Looks nice!

I’m interested in this module because our team has roughly the same manufacturing capabilities that you listed (mainly, no great access to a proper mill). I was wondering how you would machine the wheel forks in your design. All of the designs I have seen either 3D print the forks, or machine them in 2 setups on a mill.

They’re designed to be routered out of a 10mm Aluminum plate, the holes on the side would require a second operation in the vice. We do have a manual mill, but not really anyone who knows how to use it properly so we usually just do this kinda stuff on the router

1 Like

Wouldn’t that be dependant on the motor controller, and not the motor itself?


We run our steering control loops on Falcon 500s, and were prepared to do it on NEOs in the fall before we decided on a motor for this season. The trick is to set the brushless encoder’s position to the absolute encoder’s position at startup (both APIs support modifying the absolute position), then just account for the gearing. Not to mention they appear to be using a CTRE style encoder; if it’s the Talon SRX Mag encoder, the CANCoder is a drop-in replacement that can be used directly as a closed-loop sensor for a Falcon 500/Talon FX.

Even still, if you think a NEO/Falcon 500 is overkill, then the other obvious choice to me is the NEO 550. I don’t see any reason to use a 775pro over that for swerve steering, unless you just really want to stay entirely in CTRE’s ecosystem/API.

Again, you wouldn’t be able to run the PID loop on the motor controller then, as the spark max can’t read an external encoder in brushless mode(not effectively at least)

1 Like

Or want to use motors and controllers you already have, rather than buying new ones.

The fact of the matter is, swerve steering is a pretty low load application. The motor choice for any team is largely driven by factors like packaging, preferred control schemes and APIs, actual money cost, BOM cost, and familiarity.


What will you guys do for the wheels? Can you manufacture them or are you going to try and buy them?

I believe the analog pin is still open when running brushless, so a steering motor wouldn’t need to worry about the limitations of alternate encoder mode.

Falcons are cheaper once you factor in a speed controller (talon srx) and an encoder (srx mag encoder) and a 775 pro. They’re also cheaper and lighter cause you’ll need less reduction aka less gears.

1 Like

I like the design, I’m a little concerned about the thickness of material on the main plate. I would want to get at least 6mm/0.25" thickness for stiffness.

With regards to the wheel blocks, the bevel gears are pretty sensitive to tolerances. I haven’t opened the GrabCAD model so you might already have it, but based on what machining processes you mentioned I would make sure to build in some shimming capability with washers to set the gear mesh correctly.

You need the encoder regardless because you need absolute position sensing. A TalonSRX/775 is a little bit cheaper than a Falcon and probably a wash overall because you can take out a stage of gearing reduction, but if you already have Talon SRXs to use it can be hard to justify buying new Falcons for steering.


Last year when the NEO and SPARK MAX came out we held off on using them because we were hesitant to use an untested product. At the beginning of the season this year we wanted to make the jump into brushless motors, and we were presented with the option of NEOs or Falcons. Because of our familiarity with the CTRE ecosystem, we decided to go with Falcons. In general we’ve been pretty happy with their performance so far. While there’s no real problem with switching to REV’s brushless ecosystem in the future, it’s a lot easier to stick with CTRE’s if there’s no reason not to.

We’ve been using 775pros on most mechanisms for the past 3 years now. We’re happy with how they work, and we have a stockpile of them and Talon SRXs to drive them. We would need an absolute encoder to measure the module’s angle anyway, so when comparing the cost of using different motors we really only need to look at the true motor cost. In that case the Falcon is a lot more expensive than a 775pro, even before you account for the fact that we already have a stockpile of 775pros whereas we only have enough Falcons for this year’s drivetrain. While it may be true that using a NEO, NEO 550, or smaller brushed motor would be slightly lighter than a 775pro and associated gearing, I’d say it’s worth it for the familiarity and not needing to stock special motors.


I don’t have anything to do with this design, but from the CAD model it’s a 4" AM performance wheel.


Those are 4 In Andymark performance wheels. While most swerves i’ve seen now use custom wheels, i insisted on using a COTS wheel that we can buy to remain within our manufacturing capabilities

What bevel gear are you using? Ik you can buy the WCP swerve wheel or the SDS billet wheels which are COTS but they are made to work with swerve.

Did you miss this?

I said NEOs instead of SPARK MAXs, but there’s no reason you can’t do that off the integrated encoder.

Here’s one thing I’d like to get an opinion on from people with some real-world swerve experience. This design has the pinion bevel gear cantilevered off the rotation module rather than supporting it with a bearing in the wheel leg. Since the bearing hole would need to be machined in the mill, it’s a lot easier for us to manufacture it just 2.5D in the router without the bearing hole in the side making it 3D.

That. I think that is what’s actually stopping us.
Our experience with WCP shipping is not great, so we avoid ordering from them and we’ve never tried ordering from SDS so i didn’t wanna design around them either.
The CAD i used for this was from the Solidworks toolbox, and i designed under the assumption we can get them custom from a gear cutter sponsor since i know one of our mentors has connections to one and we’ve discussed this option in the past. I haven’t actually looked into the option of locally sourcing bevel gears, though if that is an option they’re definitely gonna be steel and not aluminum