Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Sometimes, when updating the firmware on an ION Control System Device, it is possible for the process to be interrupted or for the firmware to be corrupted by a bad download or other type of interruption in data transfer. In this state, the Status LED will be dark or dim and the device will fail to operate. There is a built-in recovery mode that can force your device to accept new firmware even if the controller seems to be bricked and the procedure is outlined below:
Performing this procedure will erase all data and settings on the device. You'll need to reconfigure your device after performing recovery mode.
A small tool, like a straightened paper clip or a SIM card removal tool, to press the Mode Button
Data-capable USB-C to USB-A cable
Computer with the installed and updated to the latest version
With the Device powered off, press and hold the Mode Button
While still holding the Mode Button, connect the Device to the computer using the USB-C cable - the Status LED will not illuminate - this is expected.
With the REV Hardware Client 2 running on the computer, wait a few seconds for the audible tone or icon for the device to be recognized, then release the Mode Button - no lights will be present on the device during this stage of the process. This is expected
For the most up-to-date changelog, please reference the within the REV Hardware Client 2
Adds support for configuring new MAXSpline Encoder parameters
Fixes start/stop button moving when running a SPARK
Fixes motors not stopping immediately when running multiple motors simultaneously
Fixes a bug causing devices to appear as remaining in bootloader mode after updating
Adds button to install DFU drivers on Windows
Adds warning when trying to run a motor without 12V
Adds ability to reset SPARK slider to zero by double-clicking on slider handle
Fixes splash screen not appearing in the foreground
Adds warning about SPARK devices with an unconfigured CAN ID
Adds button to clear telemetry signals
Adds dialog to move the application into the Applications folder on macOS for improved experience:
Adds warning when trying to run a motor with the roboRIO present on the bus
Adds error toast for when a SPARK parameter value is rejected
Adds help dialog when loading devices takes a long time, especially for brand new SPARK MAXes on unsupported factory firmware
Adds ability to start and stop multiple selected motors simultaneously
Fixes high CAN utilization when switching between many SPARK device tabs
Fixes an issue causing some SPARKs to continue spinning when disabling multiple at once
Fixes crash when opening on macOS
Fixes detection of devices on Linux
Fixes app icon
Initial stable release of REV Hardware Client 2
Please note that you cannot update the original Hardware Client to Hardware Client 2. You must install Hardware Client 2 separately, as they are completely different applications. While they can be installed simultaneously, it is not recommended to have both open at the same time.
If you don't see all of the devices that you expect to see, follow these steps:
Make sure that you are connected to the Internet, so that Windows can download the necessary drivers
Disconnect the device from the computer and then reconnect it
If you plan on using RHC2 on a macOS machine, please note that recovery mode devices will only show up on mac if the app is copied into /Applications.
Make sure that the SPARK MAX is not being used by another application, such as the REV SPARK MAX Client
Unplug the SPARK MAX from the computer and plug it back in
To use your device with RHC2, you must have 2026 firmware (v26.x.x). Devices with 2025 firmware or lower must be updated to 2026 via . SPARKs can be updated via CAN with RHC2 if the bridge device (the device connected to USB) is updated to firmware 2026.
Verify you have completely assembled your MAXSwerve or EasySwerve Module and have the Steering Motor’s SPARK Flex or SPARK MAX connected to the Module's Through Bore Encoder
Connect the Steering Motor’s SPARK Motor Controller directly to your computer via the included USB-C to USB-A cable
The Hardware Tab is where supported hardware devices are managed in the REV Hardware Client. When opening the REV Hardware Client, the Hardware Tab is displayed.
Scan for Devices - When supported REV hardware is connected to a Windows or Mac PC the Client will auto scan for new devices.
Report an Issue - If you're experiencing technical difficulties with the REV Hardware Client or a related REV device, click this button to send a diagnostic report directly to support staff.
Fixes taskbar icon not appearing immediately on Windows
Fixes SPARK slider setpoint resetting to zero after interacting with the minimum and maximum setpoint input boxes
Fixes detecting MAXSpline Encoders in bootloader mode
Fixes device drawer not defaulting to update page for devices in bootloader mode
Fixes firmware version select taking a long time to load for devices in bootloader mode
Fixes application not updating after clicking the Update button on macOS
Adds AdvantageScope logo
Fixes AdvantageScope sometimes not loading layout correctly on startup or when loaded from a file
Fixes AdvantageScope not resuming when computer wakes from sleep
Fixes regression preventing telemetry to resume when reconnecting a device
Improves CAN utilization when running multiple devices on telemetry page
Prevents multiple instances of the app from running at once
Fixes bug causing SPARKs in brushed mode to get set to brushless upon connection
Fixes issue with parameters not refreshing when switching devices on telemetry run tab
Fixes spike in CAN utilization when opening a SPARK device by switching to lazy loading parameters
Fixes issue with SPARK run slider sometimes continuing to drag with mouse after releasing
Fixes device list sometimes not updating when unplugging USB
Disables highlighting across general areas of the application
Updates troubleshooting steps on about page
From the Device Type dropdown menu, choose the device name that matches the type of device you are attempting to recover. **Note: It is possible to install incorrect firmware on your device.
After the proper Device Type has been selected, the Current Firmware Version Dropdown menu will automatically select the most up-to-date firmware. If you wish to install a different version of firmware, please select it from this menu now. To use the REV Hardware Client 2, this firmware will still need to be version 26.x.x or newer.
Wait for the software update to complete
Power cycle your device (unplug and plug in USB-C) click on the device's icon, and then clear any sticky faults that may show
Firmware Recovery Complete!
Select the Steering SPARK from the list of Connected Devices and navigate to the Update Tab to verify your Firmware is up to date.
Ensure the Steering SPARK is still selected, and then navigate to Absolute Encoder under the Utilities Tab.
Then, follow the steps below for the Swerve Module that you are calibrating to ensure that the zero position is set correctly.
Insert a 1/8in or 3mm Hex Key into the calibration on the top of the EasySwerve Module. You will feel the Hex Key reach the azimuth gear inside of the top cover.
Rotate the module's wheel manually while applying light pressure to the hex key until it slots into the alignment pocket. The Hex key will travel about 1/4in further into the swerve module when it has aligned.
Click the Zero Encoder button to calibrate the zero position of the absolute encoder to this position.
Put the Calibration Tool on the MAXSwerve module.
The Calibration Tool needs to be placed on the MAXSwerve module with the lip facing the module.
The MAXSwerve Wheel will only fit in one orientation because of the placement of the wheel's bevel gear. The Calibration Tool is not symmetrical, so you will need to align the bevel gear with the side of the cutout indicated with the orange dot in this image.
Dark Mode - Click to switch the REV Hardware Client to a native dark mode.
Navigation - Four tabs are at the top of the REV Hardware Client, allowing you to navigate the different features.
Connecting supported hardware to a Windows PC with the REV Hardware Client running will automatically scan and add the devices to the Hardware Tab.
Supported Hardware - Each type of supported hardware will appear. Clicking on the Hardware will bring up each unit's Device Menu.
Selecting a Device will bring up that device's menu. Below is a screenshot of the Power Distribution Hub's Summary Menu.
Device Menu Tabs - Swap between the Summary and Update pages here.
Firmware - Displays the current software version installed on the device.
General Stats - Useful electrical information corresponding to the selected device.
Faults and Warnings - If your selected device has any faults or warnings, they can be seen here and can be cleared.
Device Specific Information - Showcases the primary
Device Menu Tabs - Swap between the Summary and Update pages here.
Firmware Version - Clicking the dropdown tool allows you to select the previous or current software versions.
Release Notes - Describes what improvements, changes or bug fixes the selected firmware version contains.
Download and Install - Under each update type are buttons to download and install that update.
Signals - Where you can select different signals for REV devices.
Start & Restart Graph - Start initiates recording of telemetry.
Signal Key and Scale Adjustment - Signals you choose to monitor will be shown here.
Run Single or Multiple Motors - Click the single or double play button to run one or multiple motors for testing.
The Downloads Tab is where downloaded software files are managed. The latest software updates are able to be downloaded without a hardware device connected to the REV Hardware Client.
Software Channels - If you acquire a channel code to test beta software, simply input the code and press the plus to have it available.
Downloaded Update Files - This section allows for each version of software already downloaded to be viewed, release notes checked, and deleting the files from the local machine.
Available Update Files - This section displays the latest version of software to download, release notes for that software, and a button to initiate the download.
The About Tab is where the REV Hardware Client is managed. Here, updates for the REV Hardware Client are checked, downloaded, and installed.
Check for Updates - This section displays the current version of the REV Hardware Client and allows for checking for software updates to the REV Hardware Client.
Changelog - Lists all significant changes, enhancements, bug fixes, and new features made to REV Hardware Client 2 so far.
Supported Devices - This section lists all of the currently supported devices for the version of the REV Hardware Client installed on the user's device.
Troubleshooting - If you're experiencing technical difficulties with the REV Hardware Client, follow these steps first.

Now that the device is wired and the connections carefully checked, power on the robot. You should see the SPARK Flex slowly blinking its light for a new device; the color will be Magenta. If the LED is dark or you see a different blink pattern, refer to the guide for troubleshooting.
Before any parameters can be changed, you must first assign a unique CAN ID to the device. This can be any number between 1 and 63. After setting a unique CAN ID, the user interface will refresh and allow you to change other parameters.
If you are using a NEO or NEO 550, verify that the motor type is set to REV NEO Brushless, Sensor Type is Hall Effect, and the LED is blinking Magenta or Cyan.
There are two ways to protect your robot’s motors from electrical damage in high-current situations: Circuit Breakers and the SPARK Flex’s Smart Current Limit Setting. To protect your motors from currents that are too high, it is best practice to limit your current both with the SPARK Flex’s Smart Current Limit








Rotate the wheel along with the Calibration Tool until the tool's lip firmly drops into place around the MAXSwerve module's edges. Once this happens, the wheel and Calibration Tool will be unable to rotate freely until the tool's lip has been lifted above the edges of the module.
Click the Set Zero Offset button to calibrate the zero position of the absolute encoder to this position.




Circuit breakers, while an extremely important part of a robot's wiring and safety, are only designed to trip at a specific temperature, after a set amount of time, to protect the electrical system from fire or other electrical hazards. Due to this, we recommend setting a Smart Current Limit to protect your motors from damage due to high currents.
The SPARK Flex Motor Controller includes a Smart Current Limit feature that can adjust the applied output to the motor to maintain a constant phase current.
Out of the box, the SPARK Flex's Smart Current Limit default setting is 80A for any motor that you use. We recommend utilizing our or the table below to decide what to set your Smart Current Limit to for your robot.
Your ideal current limit may vary based on your specific application, but these values can be used as a starting point to reduce the chance of an overload on your motor as you begin tuning your specific mechanism's Smart Current Limit.
NEO
40A - 60A
NEO 550
20A - 40A
The settings must be saved for the SPARK Flex to remember its new configuration through a power cycle. To do this, press the Persist Parameters button at the bottom right of the page. It will take a few seconds to save, indicated by the loading symbol on the button.
Any settings saved this way will be remembered when the device is powered back on. You can always restore the factory defaults if you need to reset the device.
To spin the motor, go to the Run tab, keep all of the default settings, and press Run Motor. The setpoint is 0 by default, meaning that the motor is being commanded to idle (0% power). When you press Run you should see the LED go from slow blinking to solid, indicating that the motor is idling.
Slowly ramp the setpoint slider up. The motor should start to spin, and you should see a green blink pattern proportional to the speed you have set for the motor. Slowly ramp the slider down. The motor should spin in reverse, and you should see a red blink pattern proportional to the speed you have set for the motor.
If you are unable to spin the motor, visit our troubleshooting guide.
If you are using a brushed motor, you may see a sensor error. This is expected until you configure the device to accept a brushed motor in the following steps.
If you can not see the SPARK Flex, make sure that the SPARK Flex is not being used by another application . Then unplug the SPARK Flex from the computer and plug it back in.
Eventually, you may set up a CAN network on your test bench or robot. Be sure each device on the network has a unique CAN ID. It is helpful to label each device with its ID number to aid in troubleshooting.
If you see a Sensor Fault blink code, make sure the encoder cable is plugged in completely.



Remember that some settings, like Smart Current Limit, must be burned to flash via code or the Hardware Client in order to be retained through a power cycle of the SPARK Flex.
Warning: Setting current limits outside of the suggested ranges listed above may cause unintended overload and severe damage to components that are not covered by warranty.
Before running any motor, make sure all components are in a safe state, that the motor is secured, and that anyone nearby is aware. FRC motors are very powerful and can quickly cause damage to people and property.
If the SPARK's CAN ID is still set to 0 when you attempt to run the motor, it will not spin. Ensure that the CAN ID has been properly set and that you have clicked the persist parameters button after .
Keep the CAN cable disconnected throughout the test. For safety reasons, the REV Hardware Client will not run the motor if the roboRIO is connected. If the roboRIO was connected, power cycle the SPARK Flex.





The REV Hardware Client 2 (RHC2) is software designed to make managing REV devices easier for the user. This Client automatically detects connected device(s), downloads the latest software for those device(s), and allows for seamless updating of the device(s)
REV Hardware Client 2 - All Versions
Download the REV Hardware Client 2 Installer
Run the Installer
Run the REV Hardware Client 2 from the applications menu or a desktop shortcut
Automatically detect supported devices when connected via USB
One-click update of all software on connected devices
Pre-download software updates without a connected device
Back up and restore user data from supported devices
Operating System Options:
Windows 11, Windows 10 (version 1709 - October 2017) or newer
macOS 15 (Sequoia) or newer
REV SPARK Flex (REV-11-2159)
REV SPARK MAX (REV-11-2158)
REV Power Distribution Hub (REV-11-1850)
REV Pneumatic Hub (REV-11-1852)
REV Devices must be running Firmware Versions 26.x.x or newer to be compatible with REV Hardware Client 2. Devices with 2025 firmware and below will need to be updated to 2026 firmware via before use.
Auto-update to the latest version of the REV Hardware Client 2
Processor: 64-bit
RAM: yes
REV Servo Hub (REV-11-1855)
Generic CAN Devices
If your REV Device shows up in the REV Hardware Client 2 as an "Outdated REV Device" please follow the to update its firmware.


