2x Neo 550 Differential Swerve (2.845lbs)

For a while I have been wanting to make new differential swerve as my last (HERE) had some room for improvement. I had some free time over the past couple days to design a new module, so I would like to share my Differential Swerve MK2.

There were 3 key areas I wanted to improve in this model over the previous model;

  1. Increased ground clearance, comparable to a traditional swerve (around 1.5in-2.5in target)
  2. Reduced weight (Sub 3lbs target)
  3. Reduced used space inside of frame length/width (Sub 3in in X and Y target)

Alone with those requirements a few other things I wanted in the design where;

  1. Easily replaceable in case of mechanical failure.
  2. Integration with frame
  3. Wheel pivot point as close to corner as posable for wider wheelbase.
  4. High use of 3D printing technologies

Some major differences in between the MK1 and the MK2 are;

  • New style of Differential mechanism (inspired by 4341’s)
  • Use of 2x Neo 550s instead of 2x Neos
  • Instead of being nested into the frame it acts as a structural member (inspired by Bryce’s Design HERE)
  • Use of custom bearing set up instead of COT bearings to save weight

I went with a new style of differential mainly because a setup like this if far easier to change the ground clearance depending upon the requirements. The new style also lent itself to my custom bearing set up more easily then the differential I used on my MK1. My original plan was to use two 775 pros instead of two Neos due to the smaller diameter however I ended up choosing to use two of revs new Neo 550’s as they are shorter than a 775 and sport an integrated encoder, however this design could easily be modified to use 775 pros.

The MK1 module was nesting into the frame to reduce its footprint inside the frame. Instead of nesting MK2 into the frame I decided to integrate it as a structural member for two main reasons. First to again reduce the inner frame footprint. Second to allow the module to be able to side out diagonally from the frame if/when it needs to be replaced.

While this module has a lot going for it however there are a few things I will improve in the MK3 when/If I design it;

  1. Reduce modules total height (sub 4.5in)
  2. Reduce the need for ultra-high precision machining.
  3. Reduce number of heavily modified/custom COTS parts (mainly in terms of the gears).
  4. Reduce part count.
  5. Allow for easy servicing of module for repairs while installed (currently if anything breaks or you want to replace a motor you would need to replace the whole module)

Critics, comments and, questions are, as always, more than welcome!

If you would like you can check out the CAD for the module HERE

-Trevor Glasheen, Alumni


Slick design! I’m not super familiar with swerve design, but I am interested in the BOM and overall cost of the design. 6574 has had their eyes on swerve for a while, and cost, for the time being, has been a factor…

1 Like

Ideally, would the internal gear be cut on a Wire EDM?

Why NEO 550s? Seems a little under powered if you were to use it on an actual robot.
Also I do see the choice of them over 775’s but I still think that either of those are under powered when under load of pushing another bot and tend to burn out easier than a regular NEO.

What are the black bearing components made of? I notice that you have ball bearings rolling directly on these parts w/out any form of extra reinforcement, so my concern is that if they were made of 3D printed plastics (which is what the manufacturing method seems to me to be), then they could wear very quickly with use. Even if it were made out of solid aluminum, then steel ball bearings could wear it out with heavy use.

Not to jump the gun on your answer, but I would suggest one of two things:

  • Add some form of steel insert where the balls roll to reduce wear, or
  • Use nylon ball bearings and print the parts out of nylon

All in all, sick design though! I’d love to see this made reality.

I don’t expect this to change until the effort to get diffy swerve off the ground (or perhaps on the ground?) really takes off, but I think this trend of using really small wheels to enable smaller reductions is counterproductive to actually controlling the thing. The weight and space savings are neat to look at though, I’ll give you that.

What’s the overall steering reduction on this?

Thanks! The total cost per module would be about $375 to make, however the apsolute encoder i am useing is $65 by it self so it could defently be cheeper if you used a cheaper encoder.All that beeing said i would sugset that if you are looking into doing swerves for the first time you steer clear of a differential swerve as they are considrbly more complex to make and code.

I was thinking laser cutting, but wire EDM would work just fine, you could also probably use a water jet.

I went with the NEO 550 for a few reasons, mainly the small size and power to weight ratio. additialy sense this is a differantial swerve both motors can be used to power the wheel so the power output per motor isnt the whole story. If we take 2 Neo 550s they together would output 558 W compare that to a traditanal swerve set up with a single Neo which has an empirical peak output power of 406 W. additanal sense the neo 550 runs at a higher RPM you will need a greater gear ratio giving each motor more mechanical advantage. Infact you to have a Neo 550 run at the Neo’s free speed, of 5676 rpm, you have to give it a gear ratio of 1:2.11. lastly one of the big advatages in my opion to a swerve in the first place is the ability to avoid pushing matching in the first place due to the great maneuverability.

You are correct in assuming they are 3D printed, they would be made from nylon with choped carbon on a MarkForged MK2, so you also have the option of reinforcing the parts with contus strands of carbon. The plan was always to use a Nylon or other plastic ball bearing. Im glad you like it!

The main reason behind the small wheel, at least in this desgin was to reduce the overall hieght of the module. The rotation speed of the module depends opon the differatial in speed of the 2 motors.

1 Like

8 775pros is more than enough power for a pushing drivetrain (just look at 6740 in 2019 for an example) and 8 NEO 550’s output a similar power.
You’ll likely trip the 40amp fuses way before you would even get close to burning out the motors

That’s why I asked for the steering reduction :wink:

The inherit difficulty in controlling diffy swerve comes from driving two motors perfectly in sync with each other; any slight deviation in one results in the module rotating and the robot potentially going off course. The larger the steering reduction, the more you reign in this effect.

Ah, i don’t have access to my computer at the moment so i can’t give you the exact ratio at the moment, however if memory service me the max rpm of the rotation is around 700rpm, which is far greater then i would like,and a challenge with most differential swerves, however this is another reason i wanted a motor with an integrated encoder as that should make it easier to match the motors rpms via PIDs

1 Like

As this is very similar to the original design, I posted I didn’t feel this warranted a new thread. The improvements I talk about where mainly brought about after talking to a few friends of mine who know a whole lot more about programing than myself about controlling a differential swerve. So, here is my MK3 Differential swerve design.

This is design builds upon the improvement I made in my MK2 Differential while introducing a few improvements of my own.

The main improvement over its predecessor is the decrease in mechanical backlash present in the design. This reduce in backlash should allow for easier control of the swerve. In addition to this improvement, the overall height of the design has been reduced by a little over an inch. The weight has also been reduced from 2.845 lbs. to 2.377 lbs. due to the use of a slightly different differential set up. A reduction in the part count was also achieved via this new modification to the differential system (65parts with 35 unique parts to 45parts with 27 unique parts in the differential itself).

You can find the cad HERE

Critics, comments, and questions are more than welcome!

-Trevor Glasheen


First off, WOW. Super clean design! Love the use of pulleys. Also, soooo compact :star_struck:

Are you worried at all with using the .25"X.375" bearings? I know they’re not rated for loads greater that maybe 100 lbs or so. We used 'em as rollers for the belt on our climber/elevator in 2018 (similar use case as yours) and by the end of the year they had all practically seized up (although that belt was on way more load than what yours is). They’re also pretty finicky with being over tightened on the shaft.

And have you thought of skipping every other tooth on the larger pulleys, similar to what 2910 does on their swerve modlues? Makes machining them way easier.


Thanks! im glad you like it!

I’m not really worried about them. I’ve used these bearings in similar setups a couple of time without problems. as you said there really isn’t much load on them. The load should also be distributed over three of them so the load on each bearing wouldn’t be all to much.

This could be done, when I was designing the parts i was thinking you could laser cut or water jet the inner and outer profiles and then cut the groves into the part on a lathe after.

1 Like

As I understand it, Onyx is a pretty high friction material. Are you worried about the custom bearing channels being too high friction for smooth operation? Is there a plan for 2471 to actually build this in the offseason?

In 2019 our swerves used a bearing setup with bearing channels in Onyx without issue, and there are no plans to build one.

1 Like
  1. Good to know!
  2. Disappointing!