Is it possible to setup Spark max follower with the Client application?


I’m trying to setup 2 Sparkmax with NEO brushless as a master (CAN#1) / follower (Can#3) using the Sparkmax Client.

I have tried to set the master adress in the KfollowerID as 1. But this does not seem to work.

Is this possible, and what am I missing?


We were encountering similar situation. Check out this page:

Though I haven’t found an explicit mention that it isn’t supported, the REV docs do show that the follower configuration parameters are complicated enough that you shouldn’t set them manually, and the client doesn’t have a way to automatically fill them in. Your best option is probably setting up a control system and configuring the followers in Java or C++. At that point, you may be able to return to using the client, now that the sparks are configured, but I have not tested that.

Thanks, I was hoping for a different answer. I didn’t find anything on this so far as well.
I agree that the client documentation is vague at best…

Specifically I was referring this quote from

kFollowerConfig - Special configuration register for setting up to follow on a repeating message (follower mode). CFG[0] to CFG[3] where CFG[0] is the motor output start bit (LSB), CFG[1] is the motor output stop bit (MSB). CFG[0] - CFG[1] determines endianness. CFG[2] bits determine sign mode and inverted, CFG[3] sets a preconfigured controller (0x1A = REV, 0x1B = Talon/Victor style as of 2018 season)

doesn’t seem like getting that working is easier than setting up a RIO.

Yeah! That’s what I thought :grinning: This paragraph could be clearer…

It is correct that the client does not currently have an easy interface to configure a follower. If you do want to configure it using the client you can use the advanced tab, it is a bit more complex than just setting the CAN ID. It requires the full CAN ID, and some specific configuration.

To set this up, connect to the follower device and set the following settings:

kFollowerID = ‭33888256‬ + CANID

CAN ID is the basic CAN ID from 1 - 62. For example, to have device 3 follow device 1, you would set this to ‭338882567

To have the device follow a SPARK MAX in the same direction set
kFollowerConfig = 436207616

To have the device follow the inverse of a SPARK MAX set
kFollowerConfig = ‭436469760‬

Check the configuration carefully and verify the operating direction before running with any kind of load.


Thanks, this is exactly what I needed!

I really thought this would work, but it did not.

I set two Sparkmax. Address 1 and 3 to make sure I got the same as your example.

Configures the #3 to follow #1 :
kFollowerID = ‭33888257
kFollowerConfig = 436207616 (and also tried 436469760‬)

Saved the data to controller.
Rebooted the controllers.
Then tried to run the #1 in both direction without success.

What am I missing?