REV Hardware Client Overview

The REV Hardware Client 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).
You can also download the REV Hardware Client using an offline installer, bundled with software from March 21st, 2023: - Offline Installer bundled with FRC software - Offline Installer bundled with FTC software - Offline Installer bundled with all available software

Feature Summary

  • Automatically detect supported devices when connected via USB
  • Connect a REV Control Hub via Wi-Fi
  • 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 (Control Hub and SPARK MAX)
  • Install and switch between DS and RC applications on Android Devices
  • Access the Robot Control Console on the Control Hub
  • Auto-update to latest version of the REV Hardware Client
  • Display devices connected via RS485

Supported Devices

  • REV Control Hub (REV-31-1595)
  • REV Expansion Hub (REV-31-1153)
  • REV Driver Hub (REV-31-1596)
  • Android Device via ADB
  • REV SPARK MAX (REV-11-2158)
  • REV Power Distribution Hub (REV-11-1850)
  • REV Pneumatic Hub (REV-11-1852)
  • Generic CAN Devices


Version 1.5.3

New features

  • Includes all software less than 1MB in size in the REV Hardware Client installer
  • Adds alternative installers for offline use that bundle all available software, or all software that applies to just FTC or just FRC


  • Makes it so that downloading software and checking for updates now apply to all users on a computer
  • Improves performance when checking for updates with large software updates downloaded
  • Improves SPARK MAX fault names

Bug fixes

  • Fixes issue where SPARK MAX limit switch polarities would be displayed incorrectly
  • Fixes issue where selecting a DFU device's type would not work
  • Fixes issue where non-CAN devices would not disappear when unplugged
  • Fixes issue where the recovery device type selection menu was not working
  • Improves error message when checking for REV Hardware Client updates while offline

Version 1.5.2

SPARK MAX Improvements

  • Fixes safety issue when stopping a motor that was running in Position or Smart Motion mode
  • Fixes issue where the motor direction applied via the Run tab would be incorrect for an inverted SPARK MAX, making it appear that the inverted mode was broken
  • Fixes error when changing SPARK MAX parameters on the Advanced tab under certain conditions
  • Fixes issue where a SPARK MAX connected via USB would not disappear after being unplugged after a firmware update

MAXSwerve Drive Utility Improvements

  • Sorts MAXSwerve drive configurations by when they were last accessed
  • Adds button for each selected SPARK MAX that makes the device blink momentarily
  • Makes SPARK MAXes blink momentarily when they are assigned a role in a MAXSwerve drive
  • Makes the turning SPARK MAX blink momentarily when a MAXSwerve module's calibration tool is opened
  • Fixes issue where the list of CAN IDs selectable in the MAXSwerve Drive Utility wouldn't be updated after changing a SPARK MAX's CAN ID
Improves the experience of updating to future REV Hardware Client versions
  • It is now safe to navigate away from the About tab while the update is downloading

Version 1.5.1

  • Adds new MAXSwerve Drive Utility to the top-level Utilities tab
    • Current version is a beta, additional features are planned
    • Displays position of each MAXSwerve module's wheel
    • Allows all modules to be easily calibrated in one place
    • Detects configuration issues with the SPARK MAXes being used for MAXSwerve
    • Supports exporting and importing MAXSwerve drive configurations, so that the utility can be used on multiple computers without having to re-select the options
  • Fixes infinite spinner after restoring SPARK MAX factory defaults
  • Increases the number of decimal places shown for the zero offset on the `AbsoluteEncoder` tab, making the result suitable for pasting into your robot program
  • After the Absolute Encoder zero offset has been set, the icon that indicates that a parameter has been modified and needs to be burned to flash is now displayed

Version 1.5.0

General Improvements
  • Upgrades Chart.js to improve performance and appearance of the charts
  • Makes minor UI improvements
SPARK MAX Improvements
  • Adds support for duty cycle absolute encoders, including a new AbsoluteEncoder tab
  • Adds MAXSwerve getting started and module calibration guides to the AbsoluteEncoder tab
  • Adds support for configuring position PID wrapping
  • Adds support for configuring hall sensor velocity calculation
  • Updates SPARK MAX kFeedbackSensorPID0 to use a dropdown instead of numeric values for clearer selection of types of sensors
  • Fixes issue where a SPARK MAX could not be configured to follow another SPARK MAX with an ID higher than 15
  • Allows running SPARK MAXes connected via the CAN bus without having to also run the SPARK MAX connected directly via USB
Pneumatic Hub Improvements
  • Exposes additional telemetry values from the Pneumatic Hub
Control Hub and Expansion Hub Improvements
  • Fixes issue where updating Control/Expansion Hub firmware through a Control Hub more than once would fail

Version 1.4.3

  • Fixes reported solenoid current values from Pneumatic Hubs
  • Adds detailed hardware fault reporting for Pneumatic Hubs and Power Distribution Hubs
  • Fixes issue where entries in exported CSV files were in the incorrect order (newest to oldest)
  • Prevents the "Report an Issue" form from being dismissed accidentally

Version 1.4.2

  • Fixes updating SPARK MAXes over the CAN bus
  • Adds support for restoring Driver Hubs that get stuck on the REV logo
  • Adds support for TensorFlow Lite models, sounds, and external libraries to the Control Hub backup feature
  • Updates bundled version of ADB

Version 1.4.1

  • Fixed setting the CAN ID of a SPARK MAX

Version 1.4.0

  • Adds support for the Power Distribution Hub and the Pneumatic Hub
  • Renames "Hub Firmware" to "Expansion/Control Hub Firmware"
  • Renames "Fatal" log event type to "Assert" in the FTC Log Viewer
    • Hides Assert events by default
  • Allows longer filenames in the FTC log file selector
  • Fixes various bugs

Version 1.3.0

General Improvements
  • Adds FTC log viewer utility
    • Can load log files directly from supported devices, or from anywhere on the user's computer
    • Allows users to easily filter, search, and sort events parsed from log files
    • Graphs the occurrence of important robot issues, and their corresponding timestamps
    • Supports match, robot controller, driver station, Wi-Fi, and updater logs
  • Shows release notes for client even when an update is not available
  • Scales telemetry graph ranges automatically when using default ranges
  • Fixes issue with devices showing up multiple times when changing CAN IDs
  • Shows update progress for all devices that are updating simultaneously
  • Updates users to the latest available client version when removing a software channel
  • Other minor bug fixes
Control Hub Improvements
  • Improves stability of the connection to a Control Hub
  • Includes program and manage logs with Control Hub diagnostic data sent to REV
SPARK MAX Improvements
  • Fixes issue with SPARK MAX analog telemetry
  • Improves SPARK MAX parameter fields
  • Fixes issue where a SPARK MAX in recovery mode could not be updated on some computers
  • Adds interface to run multiple SPARK MAX devices
  • Adds simplified support for configuring follower mode (currently limited to following another SPARK MAX)
  • Shows a dropdown for the Alternate Encoder -> kDataPortConfig parameter

Version 1.2.0

General Improvements
  • Allow installing previous versions of software
  • Show client updates are available more subtly
  • Reconnect to ADB if it resets
  • Show manufacturer names for generic android devices
  • Fixes issues with Control Hub and Expansion Hub firmware falsely saying out of date
  • Other minor bug fixes
Control Hub Improvements
  • Shows warning when the Control Hub internal communication is not responding
  • Shows warning when Control Hub webserver is not running
  • Full screen mode for Program and Manage Tab
  • Prompts to backup Control Hub data if backup on file is over a week old
  • Confirmation now required to restore backed up files
  • Fix issues with not all files being restored
SPARK MAX Improvements
  • Fixed bug where Alternate Encoder telemetry data was displaying incorrectly
  • Allow for complete Factory Reset of all parameters on SPARK MAX
  • Disabled setting of parameters that have no effect in current configuration
  • Fixed bug where the Client would turn white on selecting SPARK MAX

Version 1.1.0

  • Adds support for SPARK MAX and other CAN devices
  • Allows for updating SPARK MAX devices, installing APIs, running motors, and viewing data from the SPARK MAX and its motor.
  • Shows all recognized devices on a CAN bus, and the data that is sent on the bus

Version 1.0.0

  • Original Release