Spark Maxes corrupted

Today we were running through a routine update cycle for our spark maxes and devices. I connected to the CAN bus and tried updating all the spark maxes to version 24.0.0, which doesn’t appear outside of the REV hardware client. I tried updating all the motor controllers all at once through CAN, and didn’t watch as it updated. When I returned all the spark maxes except for the one I directly connected to didn’t appear in the client, nor when I directly connected to them. The status leds also wouldn’t turn on when I provided them with power, and when I connected to USB. When connected to USB, our computers say that “an unrecognized USB device is connected” and doesn’t provide any other information than that. How do I fix them?

1 Like

You’ll probably want to try this

https://docs.revrobotics.com/sparkmax/operating-modes/recovery-mode

When updating the firmware on the SPARK MAX, it is possible for the process to be interrupted or for the firmware to be corrupted by a bad download. In this state, the Status LED will be dark and the SPARK MAX will fail to operate. SPARK MAX has a built-in recovery mode that can force it to accept new firmware even if the controller seems to be bricked.

5 Likes

i tried that, and it says “Failed to update SPARK MAX Firmware on SPARK MAX in Recovery Mode”, is there anything else I can try?

Just double checking: you will need to go to each SPARK MAX and perform the Recovery Mode steps individually. Make sure that power is completely removed from the device (both 12V main power and USB). After that, hold down the mode button, apply power, then release the mode button. It is important to listen or feel for the button click to know for sure that you’re holding the button (since there won’t be any LED feedback). You can now try to detect it in the hardware client.

If that still doesn’t work, there might be a driver issue or something else going on. Either way, reach out to us at [email protected].

4 Likes

I have the same issue on 2 Spark Maxes after trying to upgrade to 24.0.1

Client fails to update a Spark MAX in recovery mode. The client detects that the spark max is in recovery mode, but is unable to flash new firmware to it.

Client version 1.5.3 seems to detect recovery mode sparks and flash properly

I had this experience today updating the new SparkFlex. Not sure this story will translate to a SparkMax but take a look.

My SparkFlex was at 23.0.2 and an update to 24.0.0 was available.

SparkFlex was on USB and no other power.

Hit the flash button and it showed the “writing” progress bar.

It ended with a “Something went wrong” error and the device had disappeared from the Client.

Hitting “refresh” in the client showed it was in “Recovery Mode”

I did nothing but unplug the SparkFlex from USB and plugged it back in and it showed up as normal and updated to 24.0.0.

Just today we had the same problem, what we did was the following:

  • First turn off your robot or anything powering the spark

  • Leave pressed the “mode button” I don’t quite remember the name of the button, but the one you change to break or coast

  • while pressing the button, connect it to your laptop via the USB C port on the spark

  • Keep hangin for about ten seconds pressing the button and now open the Rev Hardware client

  • You’ll see that the spark entered in recovery mode, select the spark and you’ll see a button to select the type of controller, select SPARK max

  • Click on the update button and wait for it to update

And then your spark max will be ready to go

Hope it helps and your spark recovers

Good luck

-Armando, Imperator 5887

Anyone in this thread exhibiting similar issues, please reach out to us at [email protected]. Specifically we’d like to understand:

  • Your CAN bus map
    • Which devices and how many are on the bus
    • How (PDH, roboRIO, resistors, etc.) and where (both ends, one end, nowhere, etc.) are you terminating the bus.
  • Software version number of the Hardware Client
  • Firmware version of all the devices on the bus
  • Which device are you using as the USB to CAN bridge (PDH, PH, SPARK MAX, SPARK Flex)

We’re trying to recreate some of the behaviors that have been described, and it would be helpful to have detailed maps of the environments these issues are happening in.

Our solution for recovering and updating our SPARK MAX’s was the same as documented by armando_mm09 Spark Maxes corrupted - #7 by armando_mm09

Each SPARK MAX has to be individually updated. We tried this using an older version of the Rev Robotics Hardware Client and the current version, the procedure works regardless of the version of the Hardware Client, but I do recommend updating the Hardware Client to the current version first.

We were able to update the SPARK MAX’s to 24.0.1 successfully and all is good.

Mentor, Team 812

We got that error a couple of times when updating our SPARK Flexs… but sometimes it would appear to update anyway. Individually updating also worked for us if the issue was larger in scale.

Sorry for the late response, but I reached out to your support team and they helped solve my issue. The issue seemed to stem from the computers I was using, as both of the ones I had originally tested with did not work, but a third one I tried did work.

Mind elaborating? It would help out anyone who has the same issue in the future.

This worked for us. We did not reapply 12v power to anything. USB only and they popped right up in recovery mode following these steps. Seriously helpful last Thursday.