Spark Max Issues (CAN ID, Updating Firmware)

My team is currently in the situation where we can run our Spark Maxes without issue only when we declare them in code to have CAN ID 0. Any changes to the motor controllers through the Spark Max Client apparently vanish with the exception of the Brush/Brushless and the Coast/Brake switches. Changing to a custom current limit or CAN ID is reset to the default the next time we reconnect. We have also tried using “.setParameter(ConfigParameter.kCanID, CANID)” as we can drive them if the port is zero. This has failed to change their IDs.

We thought this may be an issue with our firmware because we are 1 version behind. Following both the online instructions and the instructions from this video we have gotten an error asking us to reconnect and try again even thought the light on our spark maxes correctly go out. This has happened every time with a combination of 5 Spark Maxes, 3 usb-c cables, and 3 usb-a ports.

Help from anyone who has successfully updated either the firmware or CAN IDs on the Spark Maxes would be greatly appreciated.

Additionally, one of our Spark Maxes has a gate driver fault. Are we correct in assuming that this is an issue where we need to return and replace?

My team is using spark max on every motor since we are using the neos. Honestly, the spark max client still very buggy. With the experience I have, this the best way to configure the controllers:

  1. Connect the spark max to the computer via USB. (If it doesn’t connect automatically click connect if still it doesn’t connect disconnect the USB from the computer and try again).

  2. When it connects click the disconnect button(Don’t disconnect it from the USB before clicking disconnect in the client, it create errors afterwards to connect).

  3. Hold the mode button and still holding connect to the pc.

  4. Go to firmware, load the firmware, and click continue.

  5. When it finish the firmware update it should connect automatically, but if not click connect.

  6. Change the settings either the basic configuration or the advanced and don’t forget to click save.

Note: When you update the firmware the configuration resets. Also, if you disconnect the USB before clicking disconnect on the client, it would always give you problems to connect it afterwards.

Settings like the brake mode and the ramp, we use the code to send those settings, Just to confirm and decrease the error margin.

Don’t hesitate to tell me if it doesn’t work or you encounter another problem.


The configuration parameters will actually persist through a firmware update.

@reerkat I agree and suspect that reason your parameters aren’t saving is because your firmware is out of date, so we need to figure out why you’re having issues updating the firmware.

What version of Windows are you running? When in the update mode (mode button held while plugging in to USB without 12V power connected), what is listed in the Device Manager? You should see “STM Device in DFU Mode” listed under “Universal Serial Bus controllers.”

If there are warnings we may need to look at fixing a driver issue. Also, have you tried running the client as an administrator by right clicking the icon and selecting “run as administrator”?

1 Like

Thank you for your suggestions. I have successfully updated them and they are now working as intended. Disconnecting before unplugging and not starting the loading firmware process until it was already in the mode with the lights off was key.