arrow-left

All pages
gitbookPowered by GitBook
1 of 8

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Servo Hub

hashtag
Servo Hub Overview

The REV Servo Hub is compatible with both the REV ION and REV DUO systems. Over a single communication interface, it can provide advanced control of up to six (6) servos. This means that the Servo Hub needs no additional PWM cabling between it and your robot controller, greatly simplifying wiring.

The Servo Hub is easy to update and configure over the USB-C connection utilizing the REV Hardware Client. With a total current output of 15A shared across all channels, the Servo Hub will give you the power you need to succeed on the field!

hashtag
Features

  • Connectivity

    • USB

    • RS485

hashtag
Main Electrical Specifications

Parameter
Min
Typ
Max
Units

hashtag
About the Maximum Current Specifications

Each of the Servo Hub's individual port pins are rated for approximately 3 A. This rating, of the port itself, highly depends on the quality of the connection between the Servo Hub and the connector of the servo it is driving.

The Servo Hub has been designed with powerful servos in mind. Many of REV's customers' favorite servos have a stall current of 4 Amps or more. While we don't believe the 4 A stall current will produce enough heat to cause problems with a properly seated and quality connection, a poor connection can cause overheating and thermal runaway that can lead to damage.

The best way to ensure you are making the most of your Servo Power Module's output, is to check that all input and output connections are fully seated with no gaps.

hashtag
Output Current Calculations

It is important to ensure that you do not exceed the maximum total output current of your Servo Power Module. To do this, add together the stall current of each servo being powered by the Servo Power Module. If the total stall current is higher than 15A, you risk triggering the overcurrent protection. Consider reducing the number of servos connected to prevent triggering the overcurrent protections.

hashtag
Mechanical Specifications

Parameter
Min
Typ
Max
Unit

CAN
  • Advanced Servo Channels

    • Status LED indicates PWM signal status and faults

    • Individual channel current measurement†

    • Individually switchable channel output power†

  • Configurable output voltage††

  • Over-current protection

  • Reverse polarity protection

  • ESD protection

  • -

    -

    15

    A

    Channel Max Output Current †

    -

    -

    3

    A

    Latching WAGO Connectors

    Supported Wire Gauge (Bare Solid/Stranded)

    26

    14

    AWG

    Bare Wire Strip Length

    0.31

    0.33

    0.355

    in

    Supported Wire Gauge (Stranded, with ferrule)

    24

    18

    AWG

    Servo Connectors

    Input

    -

    PWM cable (standard 3-wire 0.1” pitch)

    -

    -

    Output

    -

    PWM cable (standard 3-wire 0.1” pitch)

    -

    -

    -

    47.6 (1.874)

    -

    mm(in)

    Height

    -

    18.3 (0.72)

    -

    mm(in)

    Mounting Hole Diameter

    -

    #10 Clearance

    -

    -

    Mounting Hole Pattern

    -

    3 by 1.5

    -

    in

    †

    Features accessible through REV Hardware Client 2 and REVLib. Not accessible through the FTC SDK.

    ††

    Features available after future software updates.

    Operating Voltage Range

    7

    -

    15

    V

    Output Voltage

    0.5

    -

    7.4

    V

    †

    Please see the notes About the Max. Current Specifications for more information.

    Number of Servo Channels

    -

    6

    -

    -

    Length

    -

    85.7 (3.374)

    -

    mm(in)

    Max Total Output

    Width

    Servo Hub Wiring

    hashtag
    Wiring Diagrams

    hashtag
    Wiring the Servo Hub to a Control Hub

    Please note that each servo motor's ground pin will face the outer edge of the Servo Hub and the signal pin will be closest to the center. Servos plugged into ports 0, 1, and 2 will be mirrored by servos plugged into ports 3, 4, and 5.

    hashtag
    Wiring the Servo Hub for control over CAN

    Please note that each servo motor's ground pin will face the outer edge of the Servo Hub and the signal pin will be closest to the center. Servos plugged into ports 0, 1, and 2 will be mirrored by servos plugged into ports 3, 4, and 5.

    Configuring the Servo Hub with a Control Hub

    circle-check

    You must be running Robot Controller App and Driver Station App version 10.0 to use a Servo Hub.

    hashtag
    Setting Servo Hub IDs

    circle-info

    Servo Hub IDs should be set while the Servo Hub is disconnected from a Control Hub OR before powering the robot on. Servo Hubs previously connected to a robot may need to be power cycled before changing IDs.

    By default, the Servo Hub's ID should be set to 3. This can be changed by connecting the Servo Hub directly to the REV Hardware Client using a USB-C cable. The Servo Hub will appear in the Hardware List as shown below:

    The "CAN ID" is the individual ID for the Servo Hub.

    circle-exclamation

    Each Servo Hub and Expansion Hub must have a unique ID before being able to complete the configuration process.

    The CAN ID can be set between 1-10 for FTC. After choosing the ID, click "Set CAN ID".

    circle-info

    Expansion Hubs default to ID 1 or 2.

    The new Servo Hub ID is not set!

    hashtag
    Accessing the Configuration Utility

    1. Select the menu in the stop right corner of the Driver Station app. Then select Configure Robot.

    1. In the Available configurations page, select New.

    1. In the USB Devices in configuration page select the Control Hub Portal. Note: If you have an Expansion Hub connected via USB it will appear as an Expansion Hub Portal.

    triangle-exclamation

    Pressing "Scan" on an existing configuration may result in the already named devices being erased. A new configuration file is needed when adding a camera or Expansion Hub over USB.

    1. All connected Servo or Expansion Hubs using RS485 will appear within the menu of the portal. If you are using multiple Servo Hubs, they can be identified by their ID number.

    Menu while using a single Servo Hub:

    Menu while using multiple Servo Hubs:

    circle-info

    This menu will appear the same if the Servo Hub is connected to another Servo Hub or an Expansion Hub connected using RS485.

    hashtag
    Configuring Servos

    1. Select the Servo Hub where you are adding servos

    1. Select the "Servos" option

    1. This will open a configuration menu similar to what is used for motors and sensors!

    1. Select your desired option from the dropdown menu

    1. Assign the device an appropriate name

    1. Click "Done" once all names are entered to return to the main Servo Hub menu

    1. Click "Done" again on to return to the list of all connected Hubs

    Channel Power

    hashtag
    Channel Power

    The REV Servo Hub allows each servo channel to be powered individually. This lets users power only the channels they need at any given time. A channel can have power without a signal, or vice versa, depending on the configuration.

    hashtag
    FTC SDK with Control Hub

    The FTC SDK does not currently support runtime control of channel power.

    • Channels are always powered when enabled.

    • When disabled, channels follow the configured Disable Behavior.


    hashtag
    REVLib for FRC and other Controllers

    REVLib provides complete runtime control over channel power.

    • Enabled channels can be turned on or off at any time via the robot program.

    • Disabled channels always adhere to their Disable Behavior configuration, regardless of runtime settings.

    hashtag
    Disable Behavior

    A program can dynamically control whether a channel is powered. However, some users may want a channel to supply power even when it’s disabled. To address this, the Disable Behavior configuration is provided. Each channel has its own Disable Behavior configuration, allowing fine-grained control.

    circle-exclamation

    Important: Ensure you understand your servo's behavior when it has power but no signal, as this may vary between models.

    • kSupplyPower: Power is provided to the servo while disabled, but no signal is sent.

      • Note: The kSupplyPower setting is most similar to the behavior of the REV Servo Power Module, while the kDoNotSupplyPower setting is closer to the behavior of the Control Hub's servo ports. However, neither of these configurations is an exact match to these devices.

    hashtag
    When to Use Each Disable Behavior

    Selecting the appropriate Disable Behavior depends on your team's specific needs and the use case for each servo channel. Below are some scenarios where each behavior may be advantageous in FIRST Tech Challenge (FTC) or FIRST Robotics Competition (FRC).

    By carefully choosing the appropriate Disable Behavior for each servo channel, teams can optimize their robot’s performance and ensure reliable operation under various conditions. Testing your configuration during practice is highly recommended to avoid surprises during competition.

    hashtag
    kSupplyPower

    When maintaining servo position is critical: Use this behavior if your servo must hold its position even when disabled. For example:

    • Keeping a gripper closed around a game element while the robot is temporarily disabled.

    • Ensuring a mechanism like an arm or elevator stays in place when the robot is disabled during testing or a match pause.

    When transitioning from disabled to enabled needs to be seamless: If the servo should maintain a consistent state (e.g., avoid sudden movements) when re-enabled, supplying power ensures the servo remains stable.

    When you know the servo behavior with no signal: Servos behave differently when powered without a signal. Some may hold their position, while others may drift or "go limp", and others may return to the center position. Ensure you test your servos and understand their behavior in this mode.


    hashtag
    kDoNotSupplyPower

    When the servo model exhibits undesirable behavior with power but no signal: Some servo models behave unpredictably when powered but not receiving a signal. For example, certain servos may jitter or drift uncontrollably in this state, and others return to center position. In such cases, using kDoNotSupplyPower ensures that the servo does not power on until a valid signal is present.

    When servo movement while disabled is acceptable: If the mechanism attached to the servo does not require precise positioning or locking, removing power can reduce wear on the servo.

    • Example: Allowing an intake arm to fall into a "neutral" position when not powered.

    When protecting servos from overuse: In some cases, continually powering a servo when disabled may contribute to overheating or wear. Use this mode to prolong servo lifespan.


    Channel Pulse

    hashtag
    Servo Pulse Width Control

    Servo Motors are controlled using a technique called Pulse Width Modulation (PWM), where the width of a pulse determines the servo's behavior. The pulse is typically sent to the servo every 20 milliseconds, and the duration of the pulse (measured in microseconds) communicates the desired position or speed.

    hashtag

    kDoNotSupplyPower: Power is not provided to the servo while disabled.

    Angular Servos

    For angular servo motors, the pulse width directly corresponds to the target position of the servo arm. The Servo Hub allows users to customize the pulse width range to suit their specific servo with a configurable minimum, maximum, and center position. Users can adjust these values to match the servo's capabilities or desired behavior.

    • A shorter pulse width, typically either 1,000 µs (1 ms), or 500 µs (0.5ms), moves the servo to its minimum position (e.g., fully counterclockwise).

    • A longer pulse width, typically either 2,000 µs (2 ms), or 2500 µs (2.5ms), moves the servo to its maximum position (e.g., fully clockwise).

    • A pulse width near the midpoint, typically 1,500 µs (1.5 ms), positions the servo arm at the center.

    hashtag
    Example Range:

    Pulse Width (µs)
    Position

    500 µs

    Fully Counterclockwise

    1,500 µs

    Center

    2,500 µs

    Fully Clockwise

    hashtag
    Continuous Rotation Servos

    For continuous rotation servos, the pulse width determines the direction and speed of rotation rather than position. The Servo Hub's configurable minimum, maximum, and center settings can also help calibrate continuous rotation servos. Fine adjustments can be made to the center pulse width to ensure the servo stops accurately at the neutral point.

    • A pulse width of 1,500 µs (1.5 ms) typically stops the servo (no movement).

    • Shorter pulse widths (e.g., 1,000 µs) cause the servo to rotate in one direction, with speed increasing as the pulse width decreases.

    • Longer pulse widths (e.g., 2,000 µs) cause the servo to rotate in the opposite direction, with speed increasing as the pulse width increases.

    hashtag
    Example Range (Typical):

    Pulse Width (µs)
    Action

    500 µs

    Full Speed (Clockwise)

    1,500 µs

    Stop

    2,500 µs

    Full Speed (Counterclockwise)


    hashtag
    Tips and Tricks

    Understanding how pulse width controls your servo and leveraging the REV Servo Hub's features can help optimize your servo’s performance for your robot. Test each servo to confirm its behavior and supported pulse width range before integrating it into your system. We suggest the following as a good place to start understanding your servo motors:

    • Servo Variations: Always check the documentation for your specific servo, as pulse width ranges and behavior may vary.

    • Signal Integrity: Ensure the PWM signal is clean and consistent to avoid jittering or erratic behavior.


    Servo Hub Firmware Changelog

    hashtag
    Version 26.1.3

    • Fixes USB compatibility for Mac

    hashtag
    Version 26.1.2

    • Fixes bug preventing updating downstream SPARK devices

    hashtag
    Version 26.1.1

    • Improves performance of USB bridging

    hashtag
    Version 26.1.0

    • Fixes bug preventing proper communication with downstream SPARKs

    • Updates the bootloader. This update must be done via DFU.

    • Switches the USB CAN bridging to use SLCan

    hashtag
    Version 25.0.2

    • Fixes 'Servo Hub x reported temporary power loss' reported when a battery is charged above 13.5V

    hashtag
    Version 25.0.1

    • Fixes bug causing some servo hub boards to read channel current more slowly

    • Fixes case where Servo Hub doesn't report being in the primary lock state

    hashtag
    Version 25.0.0

    • Improves robustness of overcurrent handling

    • Tracking for whether any CAN message came from hardware CAN

    • Recovery task to detect when the short-circuit is removed

    hashtag
    Version 24.0.4

    Initial Servo Hub Release

    • Control servos via RS-485 or CAN

    • Channels can be enabled/disabled individually

    • Channels can be powered on/off individually

    Note: Devices that use SLCan are NOT compatible with REV Hardware Client when used over USB. Devices running v26.x.x+ can only be used via REVUI, or downstream of a REV CAN device running v25.x.x or lower with RHC.
    Turn off the Buck Regulator when PGood falls
  • Set PGood Fault based on pin state

  • Status LEDs show the current state of each channel
  • Adds over-current protection per-channel

  • Servo Hub Status LED Patterns

    hashtag
    LED Indicators

    The REV Servo Hub uses LEDs to provide visual feedback about the device's status and individual channel states. Understanding these indicators helps diagnose issues and monitor system performance.

    circle-info

    Important: These led patterns only apply to firmware version 24.0.0 and later


    hashtag
    General Status LED

    The main Status LED on the Servo Hub communicates the overall state of the device. Below is a table explaining the various patterns and their meanings:

    LED Status
    LED Description
    When
    Hub Status

    hashtag
    Channel Status LEDs

    Each servo channel on the REV Servo Hub has its own dedicated LED, which provides feedback about the channel’s state and current PWM signal. Below is the meaning of each LED pattern:

    hashtag
    Notes:

    • Channel LEDs reflect the current state of the PWM signal, helping users verify servo behavior in real-time.

    • Disabled channels still show feedback via a blinking amber LED, making it easy to differentiate inactive channels.

    hashtag
    Angular Servos

    LED Status
    LED Description
    When
    Hub Status

    hashtag
    Continuous Rotation Servos

    LED Status
    LED Description
    When
    Hub Status

    Troubleshooting

    hashtag
    Troubleshooting Guide

    This troubleshooting guide helps diagnose and resolve issues with the REV Servo Hub.

    hashtag
    Power Issues

    Anytime

    The Servo Hub is connected to a roboRIO or other CAN controller. †

    Green Solid

    Anytime

    The Servo Hub is connected to a Control Hub or other RS-485 controller. The number of blue blinks is the same as the Servo Hub's address. The factory default address is 3.

    Orange/Cyan Blinking

    Anytime

    Battery Voltage is lower than 5.5V. Please check the Servo Hub's Power Supply. This fault will clear when the input voltage is raised above 6.5V.

    Orange/Yellow Blinking

    Anytime

    A CAN fault has been detected. Verify CAN bus wiring and connections.

    Orange/Magenta Blinking

    Anytime

    An overcurrent fault has occurred. Check the connected servos and reduce the load if necessary.

    Anytime

    The channel is at the maximum position (e.g., 2,000 µs).

    Red Blinking

    Anytime

    The pulse width is between center and minimum (e.g., 1,500–1,000 µs).

    Red Solid

    Anytime

    The channel is at the minimum position (e.g., 1,000 µs).

    Amber Blinking

    Anytime

    The channel is disabled. The signal pin is pulled low, and no PWM signal is being sent.

    Quick Amber Blinking

    Anytime

    The channel is faulted. This can mean that either the device does not have sufficient power, neither the RoboRIO nor the Control Hub heartbeat is present, or the channel is experiencing an overcurrent event.

    Anytime

    The servo is running forward at maximum speed (e.g., 2,000 µs).

    Red Blinking

    Anytime

    The servo is running in reverse (e.g., 1,500–1,000 µs).

    Red Solid

    Anytime

    The servo is running in reverse at full speed (e.g., 1,000 µs).

    Amber Blinking

    Anytime

    The channel is disabled. The signal pin is pulled low, and no PWM signal is being sent.

    Quick Amber Blinking

    Anytime

    The channel is faulted. This can mean that either the device does not have sufficient power, neither the RoboRIO nor the Control Hub heartbeat is present, or the channel is experiencing an overcurrent event.

    Magenta Blinking

    Anytime

    The Servo Hub is powered on but not connected to a controller or the REV Hardware Client.

    Blue Solid

    Anytime

    The Servo Hub is connected to the Communication established the REV Hardware Client.

    †

    Faults are not reported to logs when the Servo Hub is connected via RS485.

    Amber Solid

    Anytime

    The channel is at the center position (typically 1,500 µs pulse width).

    Green Blinking

    Anytime

    The pulse width is between center and maximum (e.g., 1,500–2,000 µs).

    Amber Solid

    Anytime

    The servo is stopped (typically 1,500 µs pulse width).

    Green Blinking

    Anytime

    The servo is running forward (e.g., 1,500–2,000 µs).

    Solid Cyan

    Green Solid

    Green Solid

    If the Servo Hub is unresponsive (no lights):
    1. Check Power Supply:

      • Verify the power supply provides sufficient voltage (6–12V recommended).

      • If using a REV PDH, check the breaker for the channel powering the Servo Hub.

    2. Inspect Wiring:

      • Ensure all wires are securely connected.

      • Perform a tug test on the power connections.

    3. Enter Recovery Mode:

      • If the Servo Hub has power but no LEDs light up, follow the recovery mode instructions below.

    hashtag
    Overcurrent Faults

    The Servo Hub protects itself and the connected servos from overcurrent conditions. There are two types of overcurrent faults:

    1. Channel Overcurrent Fault

    2. Total Device Overcurrent Fault

    hashtag
    Channel Overcurrent Fault

    Condition: A channel exceeds 6A for a prolonged period or experiences short spikes above 7A.

    Indicators: Channel LED blinks amber at a high frequency and/or power to the affected channel is removed.

    Resolution:

    1. Remove the load from the servo.

    2. Allow the current to drop to clear the fault.

    hashtag
    Total Device Overcurrent Fault

    Condition: The total current across all six channels exceeds 15A.

    Indicators: All channel LEDs blink amber at a high frequency and/or power to all channels is removed.

    Resolution:

    1. Disconnect servos and inspect for faults or excessive current draw.

    2. Ensure no channel is shorted.

    3. The fault will clear 1 second after the total current drops below 15A.

    Common Causes:

    • Overcurrent faults may indicate excessive load or a servo malfunction. Disconnect and test the servos individually.

    • Stalled high-power servos (e.g., Axon Max with a stall current of ~4A).

    • Shorts in servo wiring.43

    hashtag
    Low Battery Warnings

    The Servo Hub will alternate between blue and orange on the main status LED when the input voltage is low:

    • Low Voltage Threshold: Below 5.5V.

    • Clearing Voltage: Above 6.5V.

    Resolution:

    • Check the voltage of the battery powering the Servo Hub and recharge if needed.

    • Ensure connections to the battery are secure.

    • Low voltage can cause unexpected behavior.

    hashtag
    CAN Bus Faults

    A CAN fault occurs when the Servo Hub detects unreliable communication on the CAN bus. The main status LED will alternate between yellow and orange.

    hashtag
    Troubleshooting Steps:

    1. Inspect Wiring:

      • Perform a tug test to ensure connections are secure.

      • Verify there’s enough bare wire in the Wago connectors.

    2. Check Termination Resistors:

      • Ensure proper termination at both ends of the CAN bus.

    3. Test for Shorts:

      • Inspect for shorts in the CAN wiring.

    hashtag
    No Connection Detected

    When the Servo Hub cannot detect a connection to a controller or the REV Hardware Client, the main status LED will flash magenta.

    hashtag
    Troubleshooting Steps:

    1. Check the Hardware Client:

      • Open the REV Hardware Client and ensure it recognizes the Servo Hub.

    2. Check CAN Connection:

      • Verify the CAN bus wiring.

      • Use the Hardware Client to check if other devices on the CAN bus are visible.

    3. Inspect roboRIO:

      • Ensure the roboRIO has power.

      • Verify the roboRIO configuration and connections.

    hashtag
    Servo and Channel Issues

    hashtag
    Servo Not Responding

    • Ensure the channel is enabled (LED is not blinking amber).

    • Check the servo wiring for loose connections or damage.

    • Verify the servo is compatible with the configured pulse width range.

    hashtag
    Erratic or Unstable Servo Movement

    • Inspect the Disable Behavior configuration:

    • Some servos may jitter or misbehave when powered but not receiving a signal. Consider using kDoNotSupplyPower.

    • Test with another servo to rule out hardware issues.

    hashtag
    Channel LED Does Not Light Up

    • If the channel LED is off, verify the channel is properly configured in the program.

    • Check wiring and servo functionality.

    • Test with another servo to confirm channel operation.

    hashtag
    Software Issues

    hashtag
    Unable to Configure Multiple Servo Hubs to use with a Control Hub

    • Double check that each Servo Hub has a unique CAN ID by connecting it via USB to the REV Hardware Client

    • Servo Hubs must have a different ID than an Expansion Hub. Expansion Hubs default to ID 1 or 2

    hashtag
    Servo Hub is not Appearing in the Configuration Menu

    circle-info

    You must be running Robot Controller App AND Driver Station App version 10.0 to use a Servo Hub.

    • Check first that the Servo Hub is receiving proper power and that the RS485 cable is secure

    • Double check that each Servo Hub has a unique CAN ID by connecting it via USB to the REV Hardware Client

    • Servo Hubs must have a different ID than an Expansion Hub. Expansion Hubs default to ID 1 or 2

    hashtag
    Unable to set the CAN ID/CAN ID not Saving on the Servo Hub

    When a Servo Hub is connected to a Control Hub, directly or through another Hub, it will be set to a "read-only" mode when interacting with the REV Hardware Client. This means the Client cannot update the ID or firmware, and features, such as the ability to run servos, will not be available.

    • Power down the robot or disconnect the RS845 cable leading to the Servo Hub

    • Power cycle the Servo Hub

    • You should now be able to connect the Servo Hub via USB-C to the REV Hardware Client to set the ID or use the Client features

    hashtag
    Driver Hub Showing "Servo Hub not currently responding to commands" Error

    This error appears if the Control Hub has lost communication with a Servo Hub that was previously established in the configuration file

    • Double check the Servo Hub is receiving proper and securely wired

    • If the Servo Hub ID has been changed or a different Servo Hub with a different ID has been connected as a substitute:

      • Change the Servo Hub ID to match the one in the configuration OR

      • Create a new configuration file with the updated ID

    If you are removing the Servo Hub completely, create a new configuration file.

    hashtag
    Driver Hub showing "Addresses higher than 10 are reserved for system use" warning

    Change the Servo Hub's ID to between 1-10 to avoid potential conflicts. Expansion Hubs default to having ID 1 or 2.

    hashtag
    Servo Hub Appearing as an Expansion Hub in the REV Hardware Client

    When connecting over USB-C to a Control Hub with a Servo Hub connected it will appear as an Expansion Hub within the Client as seen below:

    This is expected behavior as of RHC Version 1.7.0. To update the Servo Hub, disconnect it from the Control Hub and power cycle it before connecting only the Servo Hub via USB-C.

    hashtag
    Firmware Recovery Mode

    If the Servo Hub is unresponsive, use recovery mode to restore functionality.

    Steps to Enter Recovery Mode:

    1. Power off the Servo Hub.

    2. Press and hold the mode button on the Servo Hub.

    3. While holding the button, power on the Servo Hub.

    4. Release the button once the channel 4 red LED and channel 5 green LED are on.

    The Servo Hub will now be ready to recover via the REV Hardware Client.


    By following this guide, users can diagnose and resolve most common issues with the REV Servo Hub. If problems persist, contact REV Robotics support for further assistance.