SparkMAX firmware version 0.0.0 Problem and Solution

This year, my team, 4272, decided to use 6 Spark MAX’s with neos on our robot. With two robots, we have thoroughly tested 12 Spark MAX’s this season. Unfortunately, our testing has resulted in less than stellar marks.

We have “killed” four spark maxes, all had been used in the drivetrain of the robot. As far as we can tell, there was no violent event before either of the times the controllers died (three died at once on our practice bot and one died before the start of a match). It appears that they die in this way upon power up, not after having them drive.

These sparks will not spin a motor, and cannot have their configuration updated. They will consistently report brushed mode and CAN ID 0, even though their light is always blinking cyan, which means brushless brake mode with no signal.

The sparks will not spin any motor, even over USB command.

The sparks report firmware 0.0.0, they had previously been flashed to firmware version 1.1.31.

It is possible to reflash the devices in recovery mode, and will complete successfully. Unfortunately, that does not solve the issue if reflashed to firmware version 1.1.31. After successful flashing the sparks will still report firmware 0.0.0 and fail to work as before.

We did find a solution, however! (special thanks to the CSAs at the St. Joe Indiana district event)

If you instead flash to an old firmware version (we used 1.0.384), it will work, responding with the correct firmware version.

After that point, you can flash the newest firmware and it will work again!

As best as we can tell (with limited testing), after that point the motor controller will function perfectly with the newest firmware version.

Our working theory is that firmware version 1.1.31 has a memory corruption bug that leaves the motor controller’s non-volatile configuration memory in an invalid state. This prevents it from booting properly and communicating with the software tool. Loading an old version of the firmware must force an overwrite of that memory, but the sparks attempt to retain configuration through firmware updates, so reflashing with the same firmware does not clear this memory.

Until Rev can fix this issue, this appears to be the only was to resurrect these controllers.


We had similar issues with ours. For us, the issue was a corrupt firmware download. The solution was to manually download the latest firmware from Rev’s site and load that onto the MC.

If I am not mistaken, flashing blue can also mean no power (the robot is off and /or, they are disconnected from the PDP). If that is indeed the case, that is the expected behavior during a firmware upload if you disconnect the power (which is a good idea).

They will consistently report brushed mode and CAN ID 0, even though their light is always blinking cyan, which means brushless brake mode with no signal.

We have seen this happen with 2 different Sparks on our robot. At this point, whenever it happens to us, we just replace the Spark. We will totally try your solution next time it happens. Thanks!

We fell victim to this as well. Two SparkMaxes would blink “Magenta”. After looking at all wiring, we plugged in via USB and found firmware We arrived at the same workaround (load old firmware, then latest)

We just released a firmware update that fixes this issue. Check it out here: SPARK MAX Firmware Updates.

We also released a minor bug fix for the SPARK MAX LabVIEW API.

1 Like

We have a competition this weekend. Is it safe to update the maxes with no new API for our language (python)? I know API mismatch was an issue with the last firmware update.

The API update is for bug (unrelated to the firmware bug) we found in the LabVIEW API only. The others haven’t changed.

We don’t develop the python bindings but I believe that they hook into our C++ API, which is still the same.

I definitely recommend updating the SPARK MAX to 1.1.33.

1 Like

Thanks. That is what I thought, but wanted to be sure. I think you are correct about the python libraries using the C++ API.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.