Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Steps
Power on the Control Hub, by plugging the 12V Slim Battery (REV-31-1302) into the XT30 connector labeled “BATTERY” on the Control Hub.
The Control Hub is ready to connect with a PC when the LED turns green. Note: the light blinks blue every ~5 seconds to indicate that the Control Hub is healthy.
Plug the Control Hub into the PC using a USB-A to USB-C Cable (REV-11-1232)
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 re-connect it
Click the "Scan for Devices" link in the bottom-right corner of the Hardware tab
If that doesn't work, follow the steps for the type of device that is missing.
Make sure that the Control Hub is plugged in via USB-C, not Mini USB
Make sure the Control Hub has had a chance to finish starting up, and that its light is green
Unplug the Control Hub from the computer and plug it back in
Make sure that the Control Hub is running version 5.5 or later of the Robot Controller app
Make sure the Control Hub has had a chance to finish starting up, and that its light is green
Make sure that you are currently connected to the Control Hub's WiFi network
Try rebooting the Control Hub. Re-connect to its WiFi network after its light turns green
Plug the Control Hub in via USB instead
Make sure that the Expansion Hub is in the active configuration file
Make sure that the Control Hub is running version 5.5 or later of the Robot Controller app
Make sure that USB debugging is enabled in the Developer Options
If you can't find Developer Options anywhere in the Settings app (it may be listed on a System screen or similar), make sure it is enabled by tapping on the Build number 7 times on the About screen of the Settings app.
Unplug the phone from the computer and plug it back in. Look for a prompt to allow USB debugging, and click OK when it comes up.
Make sure that the ADB driver for your Android phone is installed. For Motorola phones, do this by installing Motorola Device Manager.
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
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 April 12, 2024: - Offline Installer bundled with FRC software - Offline Installer bundled with FTC software - Offline Installer bundled with all available software
As of April 12, 2024 Windows 10 or later is required for the latest version of the REV Hardware Client. Please use 1.6.4 if you are on an older version of Windows.
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
REV DUO: Control Hub
REV ION: SPARK Flex 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
REV Control Hub (REV-31-1595)
REV Expansion Hub (REV-31-1153)
REV Driver Hub (REV-31-1596)
Android Device via ADB
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)
Generic CAN Devices
When the Driver Hub and any other supported REV Hardware devices that require updates are connected the Update All button will appear.
Once Update All is is selected the REV Hardware Client will confirm the updates for all connected devices. Select Update to download and update all devices.
To install individual updates to you Driver Hub select the Driver Hub from the list of devices on the Hardware Tab. This will bring up the Update Tab.
After the Update Tab opens, select Download under Driver Hub Operating System (OS) to begin downloading the update.
Once the OS update has downloaded select Update.
Keep the Driver Hub powered on and connected to the PC while the update finishes.
When the Driver Station Operating System update has completed a status message "Operating System update complete." The status of the Driver Station OS will also change to "Up-to-Date."
After selecting the Connected Hardware the Update tab will pop up. Under Driver Station App select Download.
Once the app has downloaded, select Update.
When the Driver Station Application update has completed a status message "Driver Station App update complete." The status of the Driver Station App will also change to "Up-to-Date."
Before starting download the latest version of the REV Hardware Client.
Operating System: Windows 10 (64-bit) or newer
Processor: 64-bit
As of April 12, 2024 Windows 10 or later is required for the latest version of the REV Hardware Client.
Download the REV Hardware Client Installer
Run the Installer
Run the REV Hardware Client from the Windows Start Menu or a desktop shortcut
Steps
Turn on the Driver Hub.
Wait for the status LED to show solid green
Plug the Driver Hub into your PC using a USB-A to USB-C Cable. (REV-11-1232)
Startup the REV Hardware Client. Once the Driver Hub is on and fully connected it will show up on the front page of the UI under the Hardware Tab.
The Expansion Hub facilitates a line of communication between a connected Robot Controller and the motors, servos, and sensors. In order to improve the quality of the Hub, REV Robotics will release firmware updates for the Expansion Hub. When a firmware release occurs, both Control Hub and Expansion Hub users will need to update their Expansion Hub firmware to the newest version. Expansion Hub
To get started with the updating process, plug the Expansion Hub into a PC using a USB-A to Mini USB Cable.
Startup the REV Hardware Client. Once the hub is fully connected it will show up on the front page of the UI under the Hardware Tab. Select the Expansion Hub.
After selecting the Connected Hardware the Update tab will pop up. Under Hub Firmware select Download.
Once the firmware has downloaded, select Update.
When the firmware update has completed a status message "Firmware successfully updated" The status for the Hub Firmware will also change to "Up-to-Date."
Connect your SPARK Flex Motor Controller to your computer with a USB C cable.
Open the REV Hardware Client application.
The Client should automatically scan and connect to your SPARK Flex
Additional SPARK Flex devices connected via CAN to the USB Host SPARK Flex are visible when using the latest firmware. For more information see the SPARK Flex User's Manual.
The REV Hardware Client has four tabs to manage different features of the Client. The "Hardware Tab" is where supported hardware devices are managed. The "Utilities Tab" allows for viewing log files collected by the Control Hub or Driver Hub. The "Downloads Tab" allows for the downloading of supported device software for updating when offline. The "About Tab" has information on what devices are supported, updating the REV Hardware Client, and troubleshooting.
Individual devices, like the SPARK Flex, have additional tabs available when the device is selected. For a full overview of the default navigation features of the REV Hardware Client see the User's Manual. Below is more information on using the specific features for the SPARK Flex.
The Hardware Tab is used to select devices connected via USB or the USB to CAN bridge for configuration, updates, and more.
Once a SPARK Flex is selected from the Hardware tab a number of device specific tabs will show.
The Basic Tab is used to set the most common parameters for the SPARK Flex.
Device Identify: Blink the selected SPARK Flex's LED for identification.
CAN ID: This assigns a SPARK Flex a CAN ID for identification over the CAN BUS. Any configured SPARK Flex must have a CAN ID.
Configurations: This drop down allows you to select pre-existing configurations store on the Windows machine running the SPARK Flex Client or to pull the existing parameters stored on in RAM on the SPARK Flex. This is helpful when configuring multiple motor controllers to the same settings.
Configured Parameters: Change the motor type, sensor type, idle mode behavior, and more.
The ability to switch "Motor Type" to brushed on the SPARK Flex will be available with the SPARK Flex Dock (Coming Soon!)
The Advanced Tab allows for changing all configurable parameters of the SPARK Flex without needing to set them in code.
Search Parameters: Allows for easy look up of a specific parameter for editing.
Parameter Table: Select the arrow to show all configurable parameters within a specific group.
Remember to burn the parameters to flash memory before disconnecting the SPARK Flex
The Run Tab allows for the SPARK Flex to operate over USB or a USB to CAN Bridge without the need for a full control system. This is helpful for testing mechanisms and tuning their control loops.
Run: Choose setpoints to run a motor connected to a SPARK Flex using various modes, including position, velocity, and duty cycle.
PIDF: Update PIDF parameters on the fly to tune control loops on the SPARK Flex.
View Graph: Moves the Client over to the Telemetry Tab to show any added signals in graph form when running a SPARK Flex. This is helpful when tuning control loops.
The Update tab shows what version of firmware is on the selected device, if that device is up to date, and update the firmware of the selected device.
Download Latest Firmware: Downloads latest firmware onto the local machine running the Client.
Update Firmware: Updates the selected device with the latest firmware.
Out-of-date Firmware Warning: Warning to alert the user there is new firmware available for any connected device.
Connect your SPARK Flex Motor Controller to your computer with a USB-C cable.
Open the REV SPARK Flex Client application.
The Client should automatically scan and connect to your SPARK Flex.
Once the SPARK Flex is connected via USB-C select it within the Connected Hardware.
The Hardware Client will open up on the Basic tab. To update firmware select the Update tab after selecting the SPARK Flex from the Connected Hardware list.
Under SPARK Flex Firmware, select download to download the latest version of the firmware.
Once the firmware has downloaded select update.
The update process will flash the firmware image onto the SPARK Flex. The status bar will show the progress of the process.
Once the firmware update is done your SPARK Flex will show a new status of Up-to-Date.
In order to use the REV Hardware Client the phone's developer settings and USB debugging options need to be turned on.
The developer options on Android Devices are hidden within the phone as a default. Different phone manufactures have different ways of accessing the developer options. However, once the developer options are available in the phone's settings, the steps for activating USB debugging and development settings are similar.
Before moving forward it is advised to look up where the developer options on your Android Device are located. For Motorola users, the has information on how to unlock the developer options.
USB debugging is now on! You can move on to the steps for installing the application.
Depending on the device you may need to change the USB Settings from "Charging only" to "File Transfer".
Plug the Android Device with USB Debugging into the Windows PC running the REV Hardware Client.
Once on the Backup and Restore Tab, select the Backup Files button.
Once selected a prompt will display confirming Configuration Files and Robot Code are backed up. Also, the zip file name is visible.
To Restore Files, select the Restore Files button.
Once selected, a window opens prompting you to select the zip file to restore. Select the zip file and press Restore Files.
Once selected the Client will prompt with the Configuration Files and Robot Code are restored.
The REV Hardware Client has three tabs to manage different features of the Client. The Hardware Tab is where supported hardware devices are managed. The Downloads Tab allows for the downloading of supported device software for updating when offline. The About Tab has information on what devices are supported, updating the REV Hardware Client, and having issue reporting.
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 PC the Client will auto scan for new devices. You can Scan for Devices if the device did not automatically populate.
Check for Updates - This checks for any updates available for the REV Hardware Client
Navigation - Three tabs are at the top of REV Hardware Client allowing
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 units Device Menu
Selecting a Device will bring up that device's menu. Below is a screenshot of the Control Hub's Device Menu.
Out of Date Warning - There are two indicators that a part of the software on the device is out of date.
Download and Install - Under each update type are buttons to download and install that update.
Update All - This button will update all software items for all connected devices. This type of update can take a while depending on the number of devices connected and the type of update.
The Downloads Tab is where download software files are managed. The latest software updates are able to be downloaded without a hardware device connected to the REV Hardware Client.
Downloaded Update Files - This section allows for each version of software already downloaded to be viewed, released 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.
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.
Device Menu Tabs - Different devices will have various supported tabs. All devices have an Updates Tab handling software updates for for device. The Control Hub has a Program and Manage Tab giving access to the Robot Control Console. The Control Hub also has a allowing for the back up and restoration of configuration files as well as blocks and java code.
Version 1.6.6 was released shortly after version 1.6.5 to fix a regression where the Telemetry graph would disappear if you switched away from the Telemetry tab while the graph was running
Windows 10 or later is now required
Listens for safety keys (space and enter) even when not focused
If the FRC Driver Station or another application with administrative privileges is focused, the REV Hardware Client will not see the keypress
Improves the Telemetry feature
Fixes tooltips
Fixes various chart interactions
Improves the visibility of data when more than 4 signals are active or a signal is being hovered over
Fixes the background color of image exports
Fixes an unhandled exception when resizing the window with the Telemetry tab open on a scaled display
Improves the reliability of displaying devices
Fixes an issue where all devices would be cleared out after an unexpected error occurred
Various small improvements to safety and the user experience
Allows typing incomplete numbers into the setpoint text field
Dramatically improves behavior of the setpoint slider
Always disables the setpoint controls and displays a tooltip when the motor cannot be run
Improves the reliability of updating SPARK MAXes with firmware older than version 1.5.0
Displays the input voltage
Renames the "Gate Driver Fault" to "Gate Driver Fault or 12V Missing"
Turns off all solenoids when a safety key (Space or Enter) is pressed
Fixes installing firmware onto directly-connected Expansion Hubs
Fixes an error message appearing when the selected device is unplugged
Improves the reliability of device scans and removals
Includes changes to prevent duplicate devices from being displayed
Improves reliability of detecting new USB CAN devices
Adds support for public Software Channels
Fixes issue where devices could run unexpectedly under certain situations
Fixes issue where the REV Hardware Client could fail to receive data from a directly-connected SPARK after updating it
Fixes issue where the REV Hardware Client would require the CAN bus to be error-free even when you were updating via USB
Disables the Run Motor button when the SPARK is under roboRIO control
Fixes issue where SPARK firmware update retries over CAN fail to succeed
Fixes SPARK Flexes disappearing immediately after a firmware update over CAN
Fixes issue where Recovery Mode devices and SPARKs connected directly via USB fail to update when there is more than one such device.
Prevents SPARK Flexes from being configured in Brushed mode when not connected to a SPARK Flex Dock or when their firmware version does not support the SPARK Flex Dock.
Makes adjustments for SPARK motor controller firmware version 24.0.0
Improves reported NEO Vortex position accuracy when used with a SPARK Flex running firmware version 24.0.0 or later
Fixes a crash on startup under certain circumstances
Adds support for the SPARK Flex motor controller
Reduces the amount of data that needs to be downloaded for updates to the REV Hardware Client
Starts respecting the operating system proxy and certificate settings (improves compatibility with school and corporate networks)
Improves the warning displayed when the current FTC Robot Controller app was built using Android Studio
This warning is now always shown as a pop-up that must be confirmed if you try to replace the app.
Fixes the bundled software not being copied correctly if the REV Hardware Client was being installed for the first time
Fixes various issues related to canceling software downloads
Fixes loading certain SPARK MAX configurations
Increases default increment on SPARK MAX/Flex PIDF screen
Fixes FTC log viewer pan/zoom buttons not working until after pan/zoom with mouse
Fixes issue where uploading log files for REV support would sometimes fail
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
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
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
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
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
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
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
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
Fixed setting the CAN ID of a SPARK MAX
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
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
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
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
Original Release
Open the Android Devices settings |
Scroll to the bottom of the settings, where the unlocked developer options are available. Open the developer options |
At the top of the developer options page is an on/off switch. Turn the developer options on. |
The device will open a confirmation message. Select 'OK.' |
Scroll through the developer options until you find the Debugging section. Turn USB Debugging on. |
Another confirmation message will appear, click 'OK.' |
Once one or more supported REV Hardware devices are connected that require updates, the Update All button will appear.
Once Update All is selected the REV Hardware Client will confirm the updates for all connected devices. Select Update to download and update all devices.
After selecting the Connected Hardware the Update tab will pop up. Under Control Hub Operating System select Download.
Once the OS has downloaded, select Update.
Keep the Control Hub powered while the upload finishes.
A successful upload will be denoted by the "Update Verification Succeeded" message highlighted in the image below. Once the upload is successful the install will begin.
Keep the Control Hub powered while the update is installed. The Control Hub will reboot to complete the update.
When the OS update has completed a status message "Operating System update complete." The status for the Control Hub Operation System will also change to "Up-to-Date."
There are two boards within the Control Hub: an Expansion Hub and an Android controller. The Expansion Hub board built into the Control Hub, facilitates a line of communication between the built in Robot Controller and the motors, servos, and sensors. In order to improve the quality of the Hubs, REV Robotics will release firmware updates for the Expansion Hub. When a firmware release occurs, both Control Hub and Expansion Hub users will need to update their Expansion Hub firmware to the newest version.
In order to use the REV Hardware Client for firmware updates, the Robot Controller Application must first be updated to version 5.5. After updating the application you may need to close out of the REV Hardware Client in order for the firmware update to be available.
After selecting the Connected Hardware the Update tab will pop up. Under Hub Firmware select Download.
Once the firmware has downloaded, select Update.
When the firmware update has completed a status message "Firmware successfully updated" The status for the Hub Firmware will also change to "Up-to-Date."
After selecting the Connected Hardware the Update tab will pop up. Under Robot Controller App select Download.
Once the app has downloaded, select Update.
When the Robot Controller Application update has completed a status message "Robot Controller app update complete." The status of the Robot Controller App will also change to "Up-to-Date."
Connect your SPARK MAX Motor Controller to your computer with a USB-C cable.
Open the REV SPARK MAX Client application.
The Client should automatically scan and connect to your SPARK MAX.
Once the SPARK MAX is connected via USB-C select it within the Connected Hardware.
If the SPARK MAX connected via USB-C is running firmware version 1.5.0 or later allows the SPARK MAX to work as a USB to CAN Bridge. Other CAN connected SPARK MAXs running version 1.4.0 can be selected for firmware updates over CAN.
Within the Hardware Client, for the SPARK MAX, there are 5 tabs. The Hardware Client will open up on the Basic tab. To update firmware select the Update tab.
Under SPARK MAX Firmware, select download to download the latest version of the firmware.
Once the firmware has downloaded select update.
The update process will flash the firmware image onto the SPARK MAX. The status bar will show the progress of the process.
Once the firmware update is done your SPARK MAX will show a new status of Up-to-Date.
If your SPARK MAX is running firmware older than 1.4.0, you may need to unplug and replug the USB-C cable into the SPARK MAX for it to reconnect to the Client.
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:
A USB-connected SPARK MAX that is updated to firmware version 1.5.0 or newer to act as the Bridge.
Other SPARK MAXs connected on the CAN bus must be individually updated to firmware version 1.4.0 before they are able to receive mass-updates from the Bridging SPARK MAX.
Once these requirements are satisfied, navigate to the Hardware tab, select the Update All button.
Each device with the Out-of-Date warning will update with the latest version of the firmware.
12V Power source
SPARK MAX
Motor connected to the SPARK MAX
Windows Computer with the REV Hardware Client installed
Data Capable USB C cable
First, connect your SPARK MAX to a computer with the REV Hardware Client installed via a data capable USB C cable. Then selecting it from the list of connected devices.
Verify that the settings are correct for the motor you have attached to your SPARK MAX. Once you have verified the settings and hit "Burn Flash" to save any changes, click on the run tab.
Within the Run Tab you can run one motor with a SPARK MAX. You can control it in many different ways, and change the PIDF algorithm.
Run Motor: Click this button to run the motor with the selected settings
Mode: Choose the run mode for running your motor. Percent mode is a great starting point for turning a motor on to test a prototype mechanism.
Setpoint: Set the value for running the motor here
Once your settings have been chosen, click the orange Run Motor button.
When you are done running your motor, press the Stop Motor button.
Startup the REV Hardware Client. Once the Power Distribution Hub is fully connected it will show up on the front page of the UI under the Hardware Tab. Select the Power Distribution Hub.
After selecting the Connected Hardware, the Update tab will pop up. Under Power Distribution Hub Firmware select Download.
Once the firmware has downloaded, select Update.
When the firmware update has completed a status message "Update Completed" will appear. The status for the Power Distribution Hub Firmware will also change to "Up-to-Date."
The REV Hardware Client has three tabs to manage different features of the Client. The Hardware Tab is where supported hardware devices are managed. The Downloads Tab allows for the downloading of supported device software for updating when offline. The About Tab has information on what devices are supported, updating the REV Hardware Client, and having issue reporting.
The Basic Tab is used to set the most common parameters for the Power Distribution Hub. You can also view and clear sticky faults here.
Sticky Fault - an indicator there was a fault that will stay until the fault has been cleared manually.
The steps below show installing the Driver Station Application. Follow the same steps, except for the Robot Controller
Connect the Android Device to a PC with the installed.
Startup the REV Hardware Client. Once the Android Device is fully connected it will show up on the front page of the UI under the Hardware Tab. Select the Android Device.
After selecting the Connected Hardware the Update tab will pop up. Under Driver Station App select Download.
Once the Driver Station App has downloaded, select Install.
When the application installation has completed the status for the Driver Station App will change to "Up-to-Date."
When troubleshooting problems with the REV Control System log files provide indicators of what the status of the Control Hub or Expansion Hub were during an event. A look at the Robot Controller, WiFi log, or Updater log may help you better understand the root cause of the issue.
However the logs document all activities that the Control System performs, not just issues, but normal startup procedures or op mode runs. The means that logs often contain more information than can be reasonably sifted through. To make the content in the logs more palatable to sort through, the logs need to be parsed.
The REV Hardware Client has a Log Viewer that makes it easier to parse overall log files. Through a series of filters, tags, and a search function makes it easy to see what is happening on the Control Hub or Driver Hub during any opmode run.
To access the Log Viewer, head to the Utilities Tab.
From there you can select and open log files for connected devices or for ones downloaded onto the computer.
One of the most common issues that arises when trying to interpret logs is the wrong time and date on the Driver Hub or Driver Station phones. Ensuring that your Driver Station is set to the right time before observing or sending a log can help make data between the Robot Controller Log and Driver Station more interpretable. It also helps when observing a unique issue to pay attention to the time of the incident. If a problem or an indicator of a problem starts occurring at 4:38:57 PM then that time can be tracked in the logs to help determine what happened that initiated the issues.
Once you have confirmed the correct date and time you can use the Log Viewer to try to track the problem within the logs.
If you select a connected device, such as a Control Hub, the Log viewer will give you an option to select standard logs or matches. Matches are segments of the robot controller log where a particular op mode is running. This is helpful to parse the data further by limiting the content to particular op mode runs that you know a system failure occurred during.
Aside from helping parse data down to specific time intervals the Log Viewer offers filters to select narrow down data in the logs to a particular type of data. The Log Viewer splits the data from the logs into six types: error, warning, info, fatal, debug, and verbose.
Errors occur when system actions do not execute properly. These log lines are typically indicative of a user created issues, such as errors in code, configuration, or wiring. For instance, in the image above the error is stating that it failed to calibrate the camera, which could be a sign that the USB Camera was detached from the Control Hub.
Another common error you might see are compilation errors. These particular errors are the same error messages you receive in OnBot Java when you attempt to Build code and it fails.
When something none fatal occurs in the system, the system sends warning messages. Instances that warrant a warning message, do not cause the Control System to fail, but may cause unexpected behavior. This could be a warning about mismatched versions between the Robot Controller and Driver Station applications, or a warning that your Control System is not receiving enough power to function.
Info messages communication information that my be worthwhile to know for troubleshooting but not necessarily indicative of an issue. This is information like, when a program is initialized, started, or stopped.
The debug filter, showcases instances within the logs where debugging functions built into the SDK are performing their jobs. The Log Viewer defaults to filtering out debug information, as the information is typically not needed for troubleshooting.
Many of the log types we have discussed thus far provide the insight needed to troubleshoot an issue. However, the logs track much more information than what falls in the other categories. The verbose log type covers the rest of the information included in the logs. This information is typically recording normal system behaviors that do not provide much insight to a problem.
Connect your SPARK MAX Motor Controller to your computer with a USB C cable.
Open the REV Hardware Client application.
The Client should automatically scan and connect to your SPARK MAX
All SPARK MAX Motor Controllers comes with a USB C to USB A cable.
The REV Hardware Client has four tabs to manage different features of the Client. The "Hardware Tab" is where supported hardware devices are managed. The "Utilities Tab" allows for viewing log files collected by the Control Hub or Driver Hub. The "Downloads Tab" allows for the downloading of supported device software for updating when offline. The "About Tab" has information on what devices are supported, updating the REV Hardware Client, and troubleshooting.
The Hardware Tab is used to select devices connected via USB or the USB to CAN bridge for configuration, updates, and more.
Once a SPARK MAX is selected from the Hardware tab a number of device specific tabs will show.
The Basic Tab is used to set the most common parameters for the SPARK MAX.
Device Identify: Blink the selected SPARK MAX's LED for identification.
CAN ID: This assigns a SPARK MAX a CAN ID for identification over the CAN BUS. Any configured SPARK MAX must have a CAN ID.
Configurations: This drop down allows you to select pre-existing configurations store on the Windows machine running the SPARK MAX Client or to pull the existing parameters stored on in RAM on the SPARK MAX. This is helpful when configuring multiple motor controllers to the same settings.
Configured Parameters: Change the motor type, sensor type, idle mode behavior, and more.
The Advanced Tab allows for changing all configurable parameters of the SPARK MAX without needing to set them in code.
Search Parameters: Allows for easy look up of a specific parameter for editing.
Remember to burn the parameters to flash memory before disconnecting the SPARK MAX
The Run Tab allows for the SPARK MAX to operate over USB or a USB to CAN Bridge without the need for a full control system. This is helpful for testing mechanisms and tuning their control loops.
Run: Choose setpoints to run a motor connected to a SPARK MAX using various modes, including position, velocity, and duty cycle.
PIDF: Update PIDF parameters on the fly to tune control loops on the SPARK MAX.
View Graph: Moves the Client over to the Telemetry Tab to show any added signals in graph form when running a SPARK MAX. This is helpful when tuning control loops.
The Update tab shows what version of firmware is on the selected device, if that device is up to date, and update the firmware of the selected device.
Download Latest Firmware: Downloads latest firmware onto the local machine running the Client.
Update Firmware: Updates the selected device with the latest firmware.
Out-of-date Firmware Warning: Warning to alert the user there is new firmware available for any connected device.
For more information on the firmware updating process see Updating Device Firmware
12V Power source
SPARK Flex
Motor connected to the SPARK Flex
Windows Computer with the REV Hardware Client installed
Data Capable USB C cable
First, connect your SPARK Flex to a computer with the REV Hardware Client installed via a data capable USB C cable. Then selecting it from the list of connected devices.
Verify that the settings are correct for the motor you have attached to your SPARK Flex. Once you have verified the settings and hit "Burn Flash" to save any changes, click on the run tab.
Within the Run Tab you can run one motor with a SPARK Flex You can control it in many different ways, and change the PIDF algorithm.
Run Motor: Click this button to run the motor with the selected settings
Mode: Choose the run mode for running your motor. Percent mode is a great starting point for turning a motor on to test a prototype mechanism.
Setpoint: Set the value for running the motor here
PIDF: Adjust your PIDF algorithm here.
Once your settings have been chosen, click the orange Run Motor button.
When you are done running your motor, press the Stop Motor button.
Need to run more than one SPARK MAX? If on the same CAN Bus you can run multiple SPARK MAX motor controllers using the function under the
PIDF: Adjust your PIDF algorithm here. You can learn more about PIDF in our section on
View Graph: Shortcut to the to view data about your SPARK MAX
Like Errors, Fatal actions occur when something within the system does not execute properly. However, fatal actions are indicative that something more severe is happening in a system. If you are having an issues and notice a lot of instances of the fatal data type, please send your with information on the issue you are having and the status LED behavior.
Additional SPARK MAX devices connected via CAN to the USB Host SPARK MAX are visible when using the latest firmware. For more information see the
Individual devices, like the SPARK MAX, have additional tabs available when the device is selected. For a full overview of the default navigation features of the REV Hardware Client see the Below is more information on using the specific features for the SPARK MAX.
Parameter Table: Select the arrow to show all configurable parameters within a specific group. For more information on each parameter type see .
Need to run more than one SPARK Flex? If on the same CAN Bus you can run multiple SPARK Flex Motor Controllers using the function under the
View Graph: Shortcut to the to view data about your SPARK MAX
The REV Hardware Client has three tabs to manage different features of the Client. The Hardware Tab is where supported hardware devices are managed. The Downloads Tab allows for the downloading of supported device software for updating when offline. The About Tab has information on what devices are supported, updating the REV Hardware Client, and having issue reporting.
The Basic Tab is used to set the most common parameters for the Pneumatic Hub. You can also view and clear sticky faults here.
Sticky Fault - an indicator there was a fault that will stay until the fault has been cleared manually.
Using the REV Hardware Client, you can completely operate and test your pneumatic system without needing a roboRIO or software. Here are some useful applications that can help your team:
Testing your pneumatic system in a bench top setting
Testing the pneumatic system on your robot without the need for software support (e.g. allowing your build team to test the pneumatics while your programmers are busy).
Using pneumatics in your quick and early prototypes during the beginning of the build season
Using the telemetry tab on the Hardware Client, you can see if you have leaks in your systems or check how much pressure you lose during normal operation without needing to write extra software. (An analog pressure sensor is needed).
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. Be sure to burn your desired settings to flash after recovering the device
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
A Windows computer with the REV Hardware Client 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 running on the computer, wait a few seconds for the audible tone or icon for the device to be recognized in recovery mode then release the Mode Button - no lights will be present on the device during this stage of the process, this is expected
Select the Device in Recovery Mode from the REV Hardware Client window
From the Choose a Device type dropdown, choose - the firmware that matches the device you are attempting to recover. It is possible to install incorrect firmware on your device.
Choose the latest version of Firmware from the dropdown and then click update
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
Firmware Recovery Complete!
Devices available in the REV Hardware Client are shown on the left side of the window. The device that the USB C Cable is connected to will be listed first, followed by any devices connected over CAN.
The below devices are able to provide telemetry and allow the Telemetry Tab to be used.
SPARK MAX
SPARK Flex
Power Distribution Hub
Pneumatic Hub
Devices Connected to the SPARK MAX or SPARK Flex Motor Controllers:
NEO Vortex
NEO Brushless Motor V1.1
NEO 550
Brushed DC Motor
Through Bore Encoder
Other inputs connected to the Data Port
Run Motor: Choose setpoints to run a motor connected to a SPARK MAX using various modes, including position, velocity, and duty cycle.
Signals: Select the different signals from the SPARK MAX you want to monitor here
Start & Restart Graph: Start initiates recording of telemetry. Restart will erase the data and start again
Time Span: Change the time span shown on the x-axis of the graph
Scales: Different Signals will have different scales for the y-axis. You can change which are shown by clicking the arrows here
Signal Key and Scale Adjustment: Signals you choose to monitor will be shown here. Click X to delete a signal from the graph and > to adjust the scale of the signal's graph y-axis
Save Data: Save your data as a .CSV or image using this menu
Update PIDF parameters on the fly to tune control loops on the SPARK MAX.
Select the arrow to show all configurable parameters within a specific group. For more information on each parameter type see Configuration Parameters.
Run multiple SPARK MAX and motor pairs over CAN using various modes, including position, velocity, and duty cycle.
If you are only using multiple SPARK MAXs and a power source, you can terminate both ends of your CAN Bus with 120Ω resistors!
Y-Axis Labels: Select the label you want to view by clicking the arrow at the bottom of the label. In this image the Power Distribution Hub Channel Currents are selected.
Y-Axis Scale: Use the drop down arrow next to the parameter you would like to change the scale for. Be sure to un-check the "use defaults" box to apply your changes.
In this example the SPARK MAX and NEO Motor were run at 30% power, switching between forwards and backwards several times. The first switch in direction occurs near t=5s where you can see the Applied Output, Position, and Velocity change.
This will export a .png image of the of the graph. The whole Time Span x-axis will be exported regardless of the time information was collected. The image below exported a 30 second graph while only 8 seconds of data was recorded.
This will export a .csv file of the of the values and timestamps.
Timestamp: This is the timestamp that the data was record for each signal in Unix time. Note that different signals may have their data recorded at different times than other signals.
Signal Name: The Label of signal selected when creating your Telemetry graph.
Device Name: The name of the device and the randomly generated ID assigned to each device when connected to the REV Hardware Client. This is randomly generated each time the device is connected to the REV Hardware Client.
Signal Value: The value recorded for each Signal Name.
This allows you to select an existing .csv file prior to starting your graph and record the data straight to the .csv file. This allows you export additional data to a previously exported telemetry file without headers to seamlessly add to your existing columns.
Please be aware of the CAN lockout feature of the ION Control System. If it has been connected to the roboRIO's CAN bus, a safety feature within all ION Control System Devices and will lock out USB communication. You may be able to change some parameters on select devices but in order to run motors through the telemetry tab disconnecting from the CAN bus and power-cycling the device will release the lock.
Under the device list, select your SPARK motor controller.
Click the "Advanced" tab.
For a SPARK MAX, under the "Alternate Encoder" section, make sure "kDataPortConfig" is set to "Default".
Under the "Closed Loop" section, set "kCtrlType" to "Position".
Under the same section, set "kFeedbackSensorPID0" to "Duty Cycle".
Click "Burn Flash" at the bottom of the page.
To tune your PID gains, click the "Telemetry" tab.
Set the "Mode" to "Position".
Under the "Signals" tab, select "Run Setpoint" and "Duty Cycle Position".
Click the "Tuning" tab.
Begin tuning your PID gains! Note that the setpoint in Hardware Client only allows whole numbers, so it would be helpful to set the Duty Cycle Position Factor parameter to something like 360 for degrees.
Startup the REV Hardware Client. Once the Pneumatic Hub is fully connected it will show up on the front page of the UI under the Hardware Tab. Select the Pneumatic Hub.
After selecting the Connected Hardware, the Update tab will pop up. Under Pneumatic Hub Firmware select Download.
Once the firmware has downloaded, select Update. (Your Hardware Client will say "Update" instead of "Re-install")
When the firmware update has completed a status message "Update Completed" will appear. The status for the Pneumatic Hub Firmware will also change to "Up-to-Date."