Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Below are two GitHub Repositories for template projects that will control an FRC swerve drivetrain built with REV MAXSwerve Modules.
Note that this is meant to be used with a drivetrain composed of four MAXSwerve Modules, each configured with two SPARK MAXs, a NEO as the driving motor, a NEO 550 as the steering motor, and a REV Through Bore Encoder as the absolute turning encoder.
Within the Constants file for both the Java and C++ MAXSwerve Templates, there are three variables that your team can tune for your robot's Slew Rate needs. To determine the default values we loaded a test MAXSwerve Drivetrain to approximately 140lbs (Including bumpers and battery) and tuned the parameters until we found values that made the MAXSwerve Wheels last the longest amount of time.
DirectionSlewRate is the most important parameter for reducing MAXSwerve Wheel failures. Lower values limit the rate of change of the direction of the robot. This avoids high-speed J turns that put destructive side loads on the wheels. Note that direction changes faster than the slew rate are allowed at lower speeds. The value here is the slew rate at 100% linear speed.
The MagnitudeSlewRate, or acceleration, in the linear direction. Generally, adjustments to the direction slew rate should be applied here as well (i.e. both should be increased or both should be reduced).
RotationalSlewRate is not a major contributor to wheel wear but may help smooth other motions out. If the robot has to do a lot of spinning due to defense or a particular style of mechanism, reducing this could help reduce tread wear.
Added a configurable rate limiting system to prevent excessive loads from causing premature wheel failure.
The materials listed below will reinforce ONE Plastic MAXSwerve Wheel
MAXSwerve Wheel V1 - Plastic
(REV-21-3004)
1
Power Drill
1
#9 Drill bit
1
Rivet tool
1
Identify the pockets in the core that align with the lower ridges in the tread, this is where we will be placing the rivets

Drill 6 holes in the tread that line up with the pockets of the core using a #9 drill bit. These holes should be slightly off-center towards the direction of the side of the wheel that the pockets are on. Use the image below as a guide for the placement of these holes.


Once all 6 of your holes have been drilled, place 6 rivets in the wheel. Be sure to compress the tread while you are putting the rivets in so that they will not get caught on the field carpet.


// Driving Parameters - Note that these are not the maximum capable speeds of
// the robot, rather the allowed maximum speeds
public static final double kMaxSpeedMetersPerSecond = 4.8;
public static final double kMaxAngularSpeed = 2 * Math.PI; // radians per second
public static final double kDirectionSlewRate = 1.2; // radians per second
public static final double kMagnitudeSlewRate = 1.8; // percent per second (1 = 100%)
public static final double kRotationalSlewRate = 2.0; // percent per second (1 = 100%)
// Driving Parameters - Note that these are not the maximum capable speeds of
// the robot, rather the allowed maximum speeds
constexpr units::meters_per_second_t kMaxSpeed = 4.8_mps;
constexpr units::radians_per_second_t kMaxAngularSpeed{2 * std::numbers::pi};
constexpr double kDirectionSlewRate = 1.2; // radians per second
constexpr double kMagnitudeSlewRate = 1.8; // percent per second (1 = 100%)
constexpr double kRotationalSlewRate = 2.0; // percent per second (1 = 100%)
The 3in MAXSwerve Module (REV-21-3005) is compatible with the REV ION System, features a 3in Swerve Wheel, and is commonly used in a set of four to build a swerve drivetrain. This module gives a robot the ability to drive forward and backward, side-to-side, and rotate simultaneously without sacrificing traction. The 3in MAXSwerve Module uses the small size and low mass of the NEO 550 Brushless Motor and UltraPlanetary Gearbox to save a significant amount of space and weight.

When assembling the MAXSwerve Module we recommend adding grease during assembly and re-applying as needed for the maintenance of your mechanism. For most applications, using White Lithium Grease or Red Tacky Grease will provide sufficient lubrication.
Metal construction
3in wheel diameter
Module mounting maximizes wheelbase footprint
Compatible with NEO Brushless Motor or Falcon 500 (with replacement shaft)
Azimuth driven by NEO 550 Brushless Motor & UltraPlanetary Gearbox
All steel gears in drive powertrain
Gear-driven azimuth drive
Height with NEO: 171.5mm (6.75in)
Height with Falcon: 194.4mm (7.66in)
Footprint with mounting tabs: 133.1mm x 133.1mm (5.24in x 5.24in)
Footprint without mounting tabs: 100.5mm x 100.5mm (3.96in x 3.96in)
Weight with NEO: 1720g (3.80lb)
Weight with Falcon: 1800g (3.97lb)
We recommend checking the following items before each match to ensure that your MAXSwerve Modules are ready to go!
Download MAXSwerve Inspection Checklist to print and laminate for your next event!
It is best to perform this inspection while your robot is powered off
The 3in MAXSwerve Spiky Wheel Tread is designed to be used with the 3in MAXSwerve Module. The Spikey tread provides superior grip and performance especially on carpet. The one-piece split tread design allows for quick and seamless replacements without the need to fully remove the wheel. As a consumable component, these treads are built for performance but will naturally wear down over time.
The MAXSwerve Spiky Wheel Tread is designed to be very durable and last for several matches of play. Determining when to replace the tread is highly dependent on the use case of the wheel. If you are seeing flat spots or uneven wear we recommend replacing your tread. For general use, if you are seeing a decrease of 1/8in in the diameter of wheel we recommend replacing the tread.
The was designed for the . You can attach your favorite tread material to this wheel, allowing it to be reused throughout the season.
During the 2023 FRC season, we designed a template to prepare replacement strips of treads for the used on the
Ensuring your screws are secure is crucial when assembling your MAXSwerve Modules. Neglecting proper Loctite applications may result in potential damage to your drivetrain. Here is a video with some best practices to keep in mind while applying Loctite or a similar thread locker to your screws.
Our engineering team generally recommends using Loctite Threadlocker Blue 242. Try to avoid Red and Green.
If you forgot to apply Loctite during the assembly of the UltraPlanetary Subassembly, you can use a Wicking Grade Loctite to apply thread locker to the pre-assembled gearbox.
To use, apply the Wicking Loctite to the top of the UltraPlanetary Gearbox assembly where the screw tips are showing. The Loctite will wick between the engaged threads using capillary action to secure your screws.

We recommend applying grease to your MAXSwerve Modules during assembly and reapplying as needed to maintain your drivetrain. This lubrication helps the hardware that experiences high friction last longer and maintain performance.
In the event your team feels the need to apply lubricant to the MAXSwerve Hardware during assembly, we recommend Lucas LUC10533 White Lithium Grease or Lucas Oil Red "N" Tacky #2 Grease.
For situations requiring quick lubrication after assembly, use WD-40 Specialist White Lithium Grease Spray.
When you apply grease, put on a pair of nitrile gloves. You can either squeeze the grease onto your gloved finger or directly onto the gear teeth. Work the grease in, making sure it's evenly distributed throughout the system. Wipe away any excess to avoid making a mess.
It is not necessary to grease the UltraPlanetary Gearbox Cartridges as they are pre-lubricated.
Since the motor pinion is difficult to access after assembly, we recommend applying a full pinky finger's worth of grease to your choice of speed pinion. You can use a Q-Tip to cover the crests and roots of the gear.
Your Steering Gear directly interacts with the Steering Pinion, so it's a good idea to keep this component moderately greased. Simply put on some gloves and work the grease into the gear teeth; a little goes a long way.
Similar situation as before, the Wheel Bevel Gear directly interacts with the Bevel Pinion, so there's high friction going on. Squeeze a healthy bead trail along the teeth and work it in good.
The Drive Spur Gear interacts directly with the Speed Pinion; these are two parts you want a healthy coat of lubricant on.
Thickness
7.4mm (0.29in)
Weight
40g (0.088lbs)
5) Tighten the #10-32 3/8in button head screw in the center hole to finish assembly.
Material
Aluminum 6061
Diameter
67.2mm (2.65in)
Width
31.0mm (1.22in)
Weight
97.5g (0.220lbs)
Material
Injection-Molded TPU 95A
Length
203.4mm (8in)
Width
31.2mm (1.23in)
1) Install a #10-32 3/8in button head screw in the center hole of the Spiky Tread and Spiky Wheel Aluminum Hub. Do not fully tighten this screw to allow the tread to flex.
2) Insert a second #10-32 3/8in button head screw in one end of the of the tread and wrap it around and install into the Hub. We recommend using a T-Handle Allen Wrench for the extra leverage. Bring the end of the screw into the corresponding hole on the aluminum hub. With a reasonable amount of force, stretch the tread as you bring it up and angle the screw into alignment with the hole, all while slightly spinning the screw counterclockwise or in the direction of loosening it. This is key to help seat the screw before trying to insert it all the way. With everything aligned, the screws should go in smoothly without any extra force. Note: We recommend watching our 3in MAXSwerve Spiky Wheel - Assembly linked at the top of these instructions for additional tips and examples.
3) Insert a third #10-32 3/8in button head screw in the opposite end of the tread and the opposite corner as the previous screw.
4) Install the last two remaining #10-32 3/8in button head screws into the Spiky Tread and Spiky Wheel Aluminum Hub.
Threadlocker is highly recommended on all screws used in this assembly. We recommend LOCTITE® Threadlocker Blue 242 or an equivalent threadlocker.



Our template has been crafted to ensure a tight fit of the treads onto the 3in diameter x 7/8in wide billet wheel. Once you have found your perfect tread, the template can be scaled to various sizes to produce treads with the correct hole spacing for various recommended treads. With this jig, the tread installation process is seamless, resulting in a tight and secure fit every time.
Drill bushings can be pressed into the fixture to ensure that the jig will remain usable for an extended period of time. However, users should note that they will need to grind a flat into the bushings, as the screw placement is narrowly spaced.
1) Mark the tread to the length of the scaled tread template, and cut the tread to the correct length. We recommend using a Bandsaw for this process but you can use other cutting tools, like tinsnips too.
2) Mark the tread with holes for mounting and with lines to create the proper width of the tread. Use a bandsaw or tinsnips to cut the tread to the proper width of the wheel.
3) Drill or punch through the mounting holes using a 5mm/#9 drill bit. After creating the holes, "countersink" the tread by using flush cutters on both sides of the tread, especially if the holes are drilled. Punched holes may not need to be countersunk, as there may not be residual tread left by the punch process.
1) Pre-load screws into the tread. Be sure that the screw has a few threads showing through the tread, but don’t thread it all the way through yet. Screws should be #10-32 Button Head Screws, but the length will depend on which tread is being used, as tread height varies by brand.
For the recommended treads we are using the following:
2) Attach the screws to the wheel. Ensure that you are properly threading the screw into the hole, as the tread can cause the screw to be pulled out of alignment. If this step is proving difficult, it may help to rotate the screw backward to align the threads prior to tightening it fully.
3) Wrap the tread tightly around the wheel, and attach the two remaining screws to the wheel and tread, taking care not to cross-thread them. You may need to wiggle, stretch, or rotate the screw within the tread for the screw to align the threads.
Marking the path of the threaded hole, as seen to the right, can also make attaching the screws easier.

Keep in mind that this template may need to be scaled/adjusted based on your team's choice of tread. We have found that a 103% scaling of the PDF works for the type of tread suggested earlier. Be sure to double check your dimensions are correct for your scale and choice of tread!
Once you know the correct size of tread that is necessary for your team's specific use application, it can be helpful to pre-cut large quantities of tread at once.
When orienting the MAXSwerve Module in this position, you have access to the Wheel Bevel Gear, Steering Gear, and Drive Spur Gears. Perfect for a quick application with the WD-40 Specialist White Lithium Grease Spray.




MAXSwerve Wheel V2 should be replaced when the tread disappears. We advise replacing wheels at 1/2 inch depth loss for proactive repairs.
The following images will describe a rating system we have developed for determining if a MAXSwerve Wheel should still be used on your robot.
This rating system was developed from our internal testing and feedback from teams who had contacted us about their MAXSwerve Wheel failures. Please make sure that you take your team's robot design and driving style into consideration.
Okay to keep using this wheel because it is still in good shape. There is minor wear or damage to the tread but no signs of too much axial force or scrub.
The affected wheel should be monitored closely because it is showing signs of wear that could lead to delamination of the tread. Please be sure to check the wheel again after your next match!
Red Wheels need to be replaced right away and before the next match if possible. Delamination is very likely to occur with continued use beyond this state.
In this section, we will describe different features of the MAXSwerve Wheel and wear patterns as Axial or Radial. Here are some descriptions of what these terms mean on a MAXSwerve Wheel.
Radial - Describes features that occur radiating from the center of the wheel towards the tread
Axial - Describes features that occur side to side along the wheel’s axle
Brand new MAXSwerve wheels can also be classified as Green and will not have any peeling or separation of the tread from the hard plastic core of the wheel.
Green wheels show early signs of wear that will eventually lead to the tread delaminating from the core of the wheel. When evaluating green wheels it is important to note that tread depth is something to be aware of, but it will not affect the rating of the wheel.
Green wheels have little to no radial separation (or peeling) of the tread. Also, the tread is still resilient enough to spring back quickly if it is stretched along the separation.









Small cuts or gouges in the wheels do not disqualify it from being rated as green. You will also see no axial separation on green wheels.
Sometimes looking at your wheel from the top down along the tread can help you identify radial separation easily. Green wheels will have straight borders since they have not had any axial separation yet.
Yellow wheels show moderate signs of wear that will eventually lead to the tread delaminating from the core of the wheel. When evaluating yellow wheels it is important to note that tread depth is something to be aware of, but it will not affect the rating of the wheel. Even if a MAXSwerve Wheel has near-perfect tread grooves, if there is any axial separation from the core it should be classified as yellow.
Yellow wheels have some radial separation of the tread from the core as well as clear axial separation. The tread may be able to spring back still when moved, but it will remain separated from the core.
Axial Separation on a yellow wheel is noticeable but does not interfere with the forks of your module or create excess friction in your drivetrain.
When looking at the wheel from a top-down view, you can sometimes see axial separation on a yellow wheel along the edges. Also within the axial separation, you will not be able to see the core's support posts.
Red wheels show serious signs of wear that will soon lead to the tread delaminating from the core of the wheel. When evaluating red wheels it is important to note that tread depth is something to be aware of, but it will not affect the rating of the wheel. Even if a MAXSwerve Wheel has near-perfect tread grooves, if there is a large amount axial separation from the core it should be classified as red.
Red wheels have major radial separation of the tread from the core as well as clear major axial separation. The tread may not be able to spring back when moved but regardless of how the tread behaves your team should replace this wheel.
Large gaps of both radial and axial separation on a red wheel may interfere with the forks of your module or create excess friction in your drivetrain as the tread expands.
When looking at the wheel from a top-down view, you will likely be able to see axial separation of the tread from the core of a red wheel. Within the axial separation, you will also be able to see at least one core support post (shown below)













The SPARK MAX Mounting Bracket has an optional fourth hole that teams can use to secure the Mounting Bracket directly to their MAXSwerve module!
Teams can use #10-32 3/8in Button-Head Socket Cap Screws to attach this Mounting Bracket to the module, as pictured below.
The materials listed below will complete the wiring for ONE MAXSwerve Module
1
10
Zip-Ties - 10in
2 Required, 5 Suggested
5) Attach the Through Bore Encoder Cable to the Absolute Encoder Adapter
6) Thread a zip-tie through the other two mounting holes as shown.
7) Plug in the Absolute Encoder Adapter to the Data port on the top of the SPARK MAX that will be driving your NEO 550. In this image, we chose to use the Upper SPARK MAX.
Then tighten the zip tie to secure both SPARK MAXs and the Encoder Adapter.
8) Wire the Phase Wires of the NEO motor to the SPARK MAX on the underside of your swerve module.
Be sure to plug in the NEO's Sensor Wire!
9) Wire the Phase wires of the NEO 550 motor to the controller on the underside of your swerve module.
10) Ensure that you have plugged in both the Through Bore Encoder into the Absolute Encoder Board and the NEO 550's sensor wire directly into the SPARK MAX's Encoder Port.
11) Bundle your wires for each SPARK MAX, checking to make sure that there is enough slack, and then secure them to the top mounting hole with another zip-tie.
12) Plug in your CAN/PWM cables to the SPARK MAX's 4-pin JST signal port.
It is next to the USB C port on the SPARK MAX itself.
13) Finish wiring for both SPARK MAXs and the CAN by connecting the V+ and V- wires to your Power Distribution and the CAN cables to the rest of your CAN Bus.
MAXSwerve Module (REV-21-3005), Completed with one NEO and one NEO 550 installed to the module
1
2
1
2
1) Locate the 6-pin JST port for the Through Bore Encoder inside of the MAXSwerve Module
2) Plug in the 15cm 6-Pin JST Extention Cable to your Through Bore encoder and then separate the wires into groups so that the NEO 550's wires and the Through Bore Encoder's Cable are on either side of the module
3) Ensure the SPARK MAX Mounting Bracket is attached to your MAXSwerve Module Drivetrain. Then thread a zip-tie through the top two mounting holes.
Secure the zip-tie in a very loose loop, only letting the zip-tie click a couple of times to latch.



4) Slide the power input side of both SPARK MAX Motor Controllers into the zip-tie loop so that the power and ground wires are facing away from the MAXSwerve Module and the data port on the top is facing away from the SPARK MAX Mounting Bracket.
Then tighten the zip-tie to secure.






















