Update, configure, and test your SPARK MAX Motor Controller with the SPARK MAX Client application.
The SPARK MAX Client will not work with SPARK MAX beta units distributed by REV to the SPARK MAX beta testers. It is only compatible with units received after 12/21/2018.
If this is the first time installing the SPARK MAX Client or connecting a SPARK MAX in Recovery Mode, you may see an error the first time you try to update firmware on your computer. The DFU driver is one of two drivers installed by the Client and is used for updating firmware. It may not install completely until a SPARK MAX in DFU Mode (Recovery Mode) is plugged in to the computer.
If you see an error during your first firmware update, please do the following:
Alternatively, you can preemptively finalize the DFU driver installation by following the Recovery Mode steps before using the Client for the first time.
We are aware of this issue and will be releasing a fix in a future update of the SPARK MAX Client.
As we get feedback from users and identify exact causes for issues, please look back here for troubleshooting help. If you are running into issues running the SPARK MAX Client try the following BEFORE contacting support@revrobotics.com:
It is recommended to keep your SPARK MAX up-to-date with the latest firmware. The SPARK MAX Client application will automatically download the latest firmware, but you can also download the firmware manually below:
This firmware will not work with SPARK MAX beta hardware units distributed by REV to the SPARK MAX Beta testers. It is only compatible with units received after 12/20/2018.
This firmware update requires an API update. Please see the API Information section for the latest updates. The table below outlines the compatibility between firmware versions and API versions:
API | |||
LabVIEW - 1.0.0-26 Java - 1.0.28 C++ - 1.0.27 | LabVIEW - 1.1.8 Java - 1.1.8 (or newer) C++ - 1.1.8 (or newer) | ||
Firmware | 1.1.26 (or newer) | Not Compatible | Compatible |
1.0.385 (or older) | Compatible | Not Compatible |
Follow the steps below to update the firmware on your SPARK MAX:
Click Open Network Tab & Scan Bus and proceed to the next step.
If your SPARK MAX is running firmware older than 1.4.0, you may not see a pop-up and will need to proceed directly to the Network tab and click Scan Bus manually. If your SPARK MAX is listed and you are unable to click the checkbox next to it, you must put your SPARK MAX into Recovery Mode.
Once in recovery mode, click Scan Bus in the Network tab and proceed on to the next step.
SPARK MAX Firmware Version 1.5.0 includes a USB-to-CAN Bridge feature that allows a single USB-connected SPARK MAX to act as a bridge to the entire CAN bus it is connected to. This allows for configuration and simultaneous updating of multiple SPARK MAX controllers without having to connect to each one individually. Using this feature requires the following:
Once these requirements are satisfied, navigate to the Network tab, select the controllers you wish to update, and follow the same firmware update procedure described above starting at Step 4.
When complete, the Client will display the number of successfully updated controllers.
If a controller fails to update it is usually due to the process being interrupted by a bad power or CAN connection. Severe interruptions can cause the firmware update to be corrupted. A corrupted controller can no longer be updated over the USB-to-CAN Bridge, however, it can be recovered by connecting to the controller directly over USB and putting it in Recovery Mode.
When updating the SPARK MAX Firmware we recommend using the SPARK MAX Client and the latest firmware file listed above. When updating normally, key configuration parameters, such as the CAN ID, will be preserved through an update, preventing the need to reconfigure every time you update. In some rare instances it may be beneficial to completely reinstall the factory firmware and reset all configuration parameters. Factory images can be found below:
Below you will find information on how to download and install the SPARK MAX APIs for LabVIEW, Java, and C++.
Current API version by Language | |
LabVIEW | 1.5.1 |
Java | 1.5.1 |
C++ | 1.5.1 |
This API update also requires a firmware update. Please see the SPARK MAX Firmware Updates section for the latest updates. The table below outlines the compatibility between firmware versions and API versions:
API | |||
LabVIEW - 1.0.26 Java - 1.0.28 C++ - 1.0.27 | LabVIEW - 1.1.8 (or newer) Java - 1.1.8 (or newer) C++ - 1.1.8 (or newer) | ||
Firmware | 1.1.26 (or newer) | Not Compatible | Compatible |
1.0.385 (or older) | Compatible | Not Compatible |
You can use the online method to install the REV Robotics Java API if your development machine is connected to the internet:
For a list and description of all classes:
You can use the online method to install the REV Robotics C++ API if your development machine is connected to the internet:
For a list and description of all classes:
At the link below you will find code examples in LabVIEW, Java, and C++ for common SPARK MAX control modes. We will be adding examples as we develop them, so please check back regularly. Examples included as of 2/6/19:
Even though some examples may only exist in a particular language, they can be a good place to start as the APIs are very similar between languages.
We appreciate the assistance from the community for feedback, contributing, and testing these new features, especially Team 195 The CyberKnights.