FRC 5987 Galactic Swerve Mk4: The smallest Swerve Possible

Back in April, i posted my first attempt at swerve. I had a lot of fun making it, and while i made a whole bunch of mistakes the one thing i was really unhappy with was its size. It was really big, both because of the design limitations and silly mistakes on my part. Now we’re actually building a swerve drive for 2021, which is better but still fairly big, with a footprint of 180 x 142mm or 7x5.6 in.

The real swerve however has been optimized to death. We dedicated several weeks to the design review process to make sure there are no design flaws. Its size problem comes from our self-imposed design limitations. With that, and inspired by the (really cool) CMS swerve, i wanted to see just how small can you possibly make a swerve module.

Before i got into CAD, i wanted to compare some pre-existing modules to see what i’m aiming for:
Not too detailed, but this is a comparison the smallest modules i know of, along with my swerve and the Mk3. At first i thought i could just compare footprint, but this would make it impossible to compare square and rectangular swerves, so while it’s more abstract, i decided to use area. I also did not include the area taken up by the drivetrain tube as part of the footprint, since it’s unrelated to the design of the module itself and would make the comparison inconsistent (not everyone uses the same tube, in some module the plate goes over the whole width and in others not etc). Height is measured overall.

I also wanted to have some design limitations to make the module more practical for us:

  • Have as many parts as possible that can be manufactured with the machines we have in-house, those being primarily the CNC router and the lathe
  • Only use COTS products vendors we have good access to through international shipping (so no WCP, McMaster or KHK)
  • No COTS gearboxes (our team has a policy against them, we have our reasons)

The final result after some CAD is the Galactic Swerve Mk4

  • The drive reduction is 5.45:1 with a 75mm (~3 inch) wheel, for a free speed of 4.6 meter or 15.07 feet per second
  • The steering reduction is 30.76:1 with a NEO 550
  • Uses the Lamprey Through Bore encoder
  • Bearing is used is an x-contact 3x3.5x0.25 In from The Thriftybot
  • Swerve turns using a modified 20DP Vex Gear
  • Bevel gears are 20:40 1.25 module from Andymark

This module beats the rest that i’ve included in the comparison by most parameters:

  • The footprint is 4.9 x 3.65 Inches or 124.3 x 92.4 mm (again, not including the tube). That’s an area of 17.8 In^2, or 11490.7 mm^2.
  • The overall height is 8.34 In or 211.75 mm, losing out by a bit to the SDS Mk2, though as far as i can tell this parameter depends mostly on motor choice (NEO vs Falcon, what with the NEO being shorter)
  • The module weighs 3.76 lbs, or 1.7 kg
    There are however some drawbacks that make it a little impractical, at least for 5987 at the moment:
  • The team has never worked with Spark Maxes or NEOs in the past, which is also why we chose the 775pro for turning in the Mk3 Swerve. There are plans for it in the future, but currently the team has no access to REV motors.
  • The wheel is live-axle with a triangle bore, same as in the SDS flywheel. While it may have worked well with the brass flywheel, as far as i know it’s never been tested on a drivetrain before, let alone with a 3/8 In shaft.
  • While the azimuth gear saves space over a pulley, it would be harder to manufacture, especially on a router. If this design is ever considered it might be worth getting a waterjet or other sponsor to make it for us.

I don’t think these issues are deal breakers, but if this design is ever implemented it will only be for the 2022 season at best.

CAD can be found here:


With a ~2.5" wheel you’ll be changing treads a few times a day. And you might consider that cheating a bit on the whole “smallest swerve possible”. But in reality it looks very good :smile:

That’s really, really light. Are you sure you have all the weights and materials assigned properly? Just the motors and bevel gears should weigh 1.7 lbs on their own, without any of the gears, plates, bearings, etc.

1 Like

It did seem off, but i thought i checked everything. Turns out the Falcon weight was wrong, it said “user overriden” so i assumed it was correct but apparently not (that’s from your parts library, so this one’s on you :stuck_out_tongue_winking_eye:).
With the correct weight it’s 3.76 lbs, 1.7 kg. About a pound heavier, a bit heavier than some of the modules i looked at but still a good pound below Mk3 and the COTS options.


I stopped using/updating my parts library in 2018. Blame whatever team member has been keeping it updated.

And this wouldn’t happen if we would switch to Onshape :wink:


Could you show a top down view? I can’t tell how this mounts to any kind of chassis, unless you left that off the module completely?

1 Like


I don’t think anyone has. That’s probably why it’s so bad now.

How would that fix the problem?

1 Like

I’m confused why some of your dimensions listed in the OP include the mounting area for the frame on modules while others do not?

Regardless of that, looks like a pretty cool module. A couple of notes:

  • What’s the reason for the triangle bore for the wheel? Is there a reason you cannot use a traditional hex here, or why you couldn’t make it a dead axle system?

  • I would be very weary of running the 20T bevel gear without a bearing supporting the other end of that shaft. I have run a swerve like this twice, and have had issues with it at least one of those seasons. the MK2, mine, and many others turn down the end of that shaft and use some smaller bearings to pick up the end of the shaft. Even small bearings go a long way towards supporting that shaft, otherwise you will see bad wear on the bevel gears and the bearing above the bevel gear will see a lot of abuse and potentially fail.

  • There is a version of the Lamprey Encoder where the reset button is not populated on the board, allowing you to flip the board over in your design and potentially reduce some height in there. At the least your lamprey board won’t have to be spaced off the plate it is mounting to as much/at all.

  • I would try to get full face width engagement on the spur reduction stage off your motor shaft for the drive. This isn’t a huge deal but will probably run a bit smoother and will wear better.

  • This is more a personal preference thing, but while the clips on the steering shaft you have would definitely work, it does add a failure point imo that just using a hex spacer instead would basically eliminate. Since you are bolting into either end of the shaft to retain it already you wouldn’t lose anything really by just replacing those clips with a hex spacer, and would eliminate some machining effort.

Is this required? Staring at the CAD it looks like it’s placed redundantly with whatever encoder is internal to the drive brushless motor, but I’m not 100% sure.

The lamprey magnet ring rotates with the module turret itself, giving you absolute position of the steering of the module. The encoder on the falcon in his picture would just give overall speed.


Bingo, thanks. I was staring at the shafts backward.

Nicely done! Looks super compact and buildable!

The tube is 20mm, like i said:

This was mostly because we in Israel don’t use the same tube as everyone else

We don’t have a broach, like i said i was designing it with our manufacturing capabilities in mind. I did initially try to make it dead axle but the bevel is too small to fit a bolt circle and a bearing hole.

We’ve discussed quite a bit on the design reviews for Mk3, this just makes the forks a lot worse for manufacturing, borderline impossible in-house, so right now we’re not using one and i don’t wanna jinx it, but i think it was the right decision. Also, the Swerve and Steer module that these bevels were actually made for doesn’t have one, and they don’t have that issue as far as i know (which i really don’t, so i may very well be wrong about this).

Yeah, my default is always to use spacers as well and i’m not a big fan of side snap rings. In this specific case i used them because there simply wasn’t clearance for a spacer unless i made it really thin.

1 Like

I just looked at your thread again- i didn’t realize your module actually had a frame mount, i was pretty sure you left that part out. I’m not really sure how to treat its footprint compared to the others then, seeing as an actual part of the module is overlapping with the frame

1 Like

I would just account for the frame size in the overall dimensions, since it is pretty critical to the question that really matters which is “how much space does the module actually take up on the overall robot size” as well as effecting things like wheelbase size for stability, etc. I believe all the examples other then your team’s versions use 1in tube traditionally, so it should be pretty straight-forward. And obviously you know to account for 20mm on your own.


Nice design! You could save a bit of weight by making a lightweight pattern on the bottom plate and by using a more triangular fork design. You may want to consider decreasing the drive speed, 15 ft/s is pretty fast.

On the contrary 15fps with brushless motors is probably the minimum speed I would use. My team ran four falcons at 15fps this year they they were cool to the touch at all points during both of our competitions. But yeah +1 to a lightening pattern on the bottom plate.

15fps free speed is probably dead on for this and most games with swerve. A game like 2019 I would probably go down to 13-14fps free, and in a full field cycle game like 2013 or 2017 I’d push up to 16fps free. For a standard design 15fps is a good place to be imo.


Yeah I guess the speed you choose can be based on a lot of things. I’m generally inclined to go faster than we may need rather than risk feeling too slow, especially with brushless motors. I mostly meant to just point out that 15fps is not too fast.

I would suggest you look at the 1885 ILITE calculator to better understand what is actually “fast”. Just because you can run faster gearing then 15fps free speed doesn’t mean the robot will actually be faster on the field. When looking at time to distance, acceleration is important.


why do you almost not take into the account the impact of the large increase in module height when reducing ‘footprint’ from the 2D perspective? the way i see it ,it has quite the large importance in the robot’s design. for example I don’t know about you by to me it is much preferable to have a little wider module but being able to put a mechanism right above it. the space above your swerve module is very useful, but when your module is too tall it might become unusable ( at least that’s my take on it ) :slight_smile:

beautiful design btw

1 Like