2021 Winter Swerve

Cyanoacrylate to the rescue!

Where can I order the wheels? They look sweet!

Hey Nick,

Just wondering if you have run a full drivetrain yet (with basically a full FRC electronics/control system). I’m still curious about the integration of the Lamprey with the control system. We never did get ours working consistently going through the SparkMAX and ultimately abandoned that in favor of a 1:1 geartrain driving a more traditional continuous rotation potentiometer.

While I am sure we could have gotten the Lamprey working at some point, our team decided to spend their energy elsewhere during the 2020 offseason and 2021 season.

If you have gotten the Lamprey working consistently (and since you work for REV), it would be great if you could create a user guide for how to integrate that encoder into the control system using the SparkMAX in terms of both the physical integration (which wires on the ribbon to clip and how to plug the ribbon into the SparkMAX) as well as the code (how to configure the SparkMAX to read the lamprey alongside the motor encoder, how to integrate the absolute encoder into the control system, etc.).

In addition to the Lamprey integration, I would love to see this swerve module in action and see if there are any additional lessons to be learned from a full drivebase experience.

1 Like

Am I right in thinking your plan is to have the 1.5" tall chassis tubes pocketed to clear the steering system and replacing two of the spacers? It looks like the corner block is designed to bolt through the frame tubes.

This picture shows how the frame tube integrates with the module. Two of the 3/8" thunderhex standoffs go through holes in the tube; there are holes drilled in the sides of the frame tubes that mount to the printed corner block.


The wheel hubs are printed on a Markforged Onyx One, out of onyx filament.

The wheel tread is a 60A durometer TPU filament printed on a modified Ender 3.

3005 is in the process of running this latest module on a full chassis. That is where the pictures I have been posting are coming from. We have a chassis completely built up, our software team is working on development of our swerve code right now. We already have an SDS MK2 chassis built up so they are first getting the code running on that before switching over to this custom chassis.

I think our current plan is to just wire the lampreys directly to the Rio. Since we can do local control for the steering on the Spark MAX using the integrated NEO 550 encoders, there’s not a big need to run the lamprey’s through the Spark MAX.

As I am not part of 3005’s software team, nor part of the REV software team, I won’t comment on what is correct method of getting the lamprey running through the Spark MAX, but I hope to explore this at some point during the rest of this offseason.

I’m sure as I have more pictures and video to post of the development of this chassis, I will post those updates here.

Have you been happy with those screw-to-expand inserts? I’ve been using heat set inserts in my prints very successfully, but I haven’t tried those yet.
The thunder hex shaped hole in the rail looks like a great CNC trick to me :wink:

I love the screw to expand inserts. Been using them for 3 years and have been very happy with them. Much easier to install then the heat-set and they hold extremely well. Screws don’t vibrate loose, and the inserts don’t pull out of the material.

The hole for the thunderhex in the tube is designed as a 0.377" hexagon with 0.063" radii, which results in a perfect slip fit for the thunderhex.

1 Like

I’ve not really looked into wiring the Lamprey directly to the RIO. Do you just use the 5V, GND and Analog Out pins and wire them through a junction board of some sort (like the analog sensor breakout board that CTRE sells) to a 3 wire cable into the DIO ports? Have you done this before with the Lampreys? It should work just fine, but I am just wondering if this is a proven solution.

1 Like

Avoid analog (I mean in general, I’m sure the Lamprey analog output is fine). The Lamprey has a digital pulse output. In this configuration, you should be able to use 5V, GND, and PWM Out to any free DIO. On the code side simply use the DutyCycleEncoder class.

I will be helping get this set up so I will report back when its running.


We struggled with the lamprey encoders and after a couple of meetings of fighting with the calibration sequence switched to the Rev Hex Through Bore Encoders.

The ease of connecting with the pre-wired harness and support for absolute duty cycle encoded output make hookup and configuration a sinch. Would HIGHLY recommend.

1 Like

The REV Through Bore Encoder is great! (obviously somewhat biased here).

It doesn’t package into this swerve module design however, as the coaxial shaft here is the drive motor shaft, so there is not a hex shaft to interface with for the steering.

I could do a 1:1 gear stage off the turret to the through bore encoder for the steering position, but this would result in a larger module then what I currently have.

1 Like

If you use the digital pulsed output, don’t you lose the absoluteness of the encoder ie: we no longer know where zero is?

1 Like

No, this is an absolute output signal, where the duty cycle of the signal represents the absolute angle and persists through power cycles.

1 Like

Team 5892 is going to build a few of these this summer


Ok, we met and decided to go ahead! We are going to build your swerve as our very first one!

First (actually this is probably question 4 or 5 already) of many questions: Is the steering pulley on the Versaplanetary intended to be a 3D printed part, or is it an assembly of a couple of items? One end is a short 8mm shaft and the other end is large and odd looking with some small holes in the end… The flanges look very thin for printing!

It is printed on a MarkForged onyx one out of onyx filament. We printed it with solid infill. It replaces the front part on the REV UltraPlanetary V2 Output stage.

Ah, so the plate with the female involute gear hole bolts onto that assembly! I finally found a picture of the output part where those screws were shown!

I did a layout for 8mm shoulder screws. The 45mm long one could be set to shoulder out on the far fork. the 50mm one can enter a bore on the far fork so that the wheel location isn’t set by a thread on thread fit. If I go further on this I would move the fork surface out some so I could bury the head and the thread insert better. Thoughts? A bad aspect of this layout is that you have to skewer the spacers one at a time. The tube method means you can leave all the spacers on the tube.
McMaster has a 8mm by 4mm steel tube McMaster-Carr which would at least cut down on the hassle of drilling it out.

1 Like