arrow-left

Only this pageAll pages
gitbookPowered by GitBook
1 of 71

REV Crossover Products

REV Crossover

Loading...

Sensors

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...

Loading...

Blinkin LED Driver

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

UltraPlanetary System

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Servos & Accessories

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Indicators

Loading...

Loading...

Loading...

Gamepad

Loading...

Loading...

Through Bore Encoder V2

The REV Through Bore Encoder V2 provides precise, reliable shaft position measurement with both incremental (ABI quadrature) and absolute (pulse-width) outputs

The Through Bore Encoder V2 delivers higher measurement accuracy—up to ±0.5°—while maintaining strong performance in environments where dust or debris may affect optical encoders. The magnetic sensing design offers consistent feedback without the need for complex alignment or maintenance.

hashtag
Features

  • Incremental and absolute magnetic encoder

    • Built-in magnet

    • Quadrature output - A, B, and Index

    • Absolute output - Pulse Width (Duty Cycle)

  • Factory calibrated zero-position

    • Zero calibrated to notch in case

  • Through-bore design

    • Easily mounted to any shaft with optional bore inserts

    • 1/2in Hex (default)

  • Mounting holes

    • Hole spacing matches common 0.5in pitch (MAXTube, MAXPlanetary, etc.)

circle-exclamation

The FTC Control System currently only supports Incremental Encoder input through the motor encoder ports. Absolute pulse input is not supported.

triangle-exclamation

Do not disassemble the sensor. Disassembling the Through Bore Encoder will dereference the zero position with the physical case notch. It is not possible to recalibrate the zero position as it is permanently saved inside the sensor at the factory

hashtag
Kit Contents

REV Crossover Landing

hashtag
Sensors

chevron-rightThrough Bore Encoder Quick Linkshashtag
chevron-rightColor Sensors Quick Linkshashtag
chevron-right2m Distance Sensor Quick Linkshashtag
chevron-rightMagnetic Limit Switch Quick Linkshashtag
chevron-rightTouch Sensor Quick Linkshashtag
chevron-rightPotentiometer Quick Links hashtag

hashtag
Blinkin LED Driver

chevron-rightBlinkin LED Driver Quick Linkshashtag

hashtag
UltraPlanetary System

chevron-rightUltraPlanetary Gearbox Quick Linkshashtag
chevron-rightUltra 90 Degree Gearbox Quick Linkshashtag

hashtag
Servos & Accessories

chevron-rightServos & Accessories Quick Linkshashtag

hashtag
Indicators

chevron-rightDigital LED Indicators Quick Linkshashtag
Color Sensor V3 Application Examples
  • Discontinued Color Sensors

  • Application Examples
    Application Examples
    Application Examples
    Application Examples
    Blinkin Getting Started
  • Blinkin Troubleshooting

  • REV ION Application Examples

  • REV DUO Application Examples

  • Cartridge Details
  • Load Ratings

  • Assembly Instructions

  • Mounting Brackets

  • Rotation Direction

    Switching Operating Modes

  • Servo Power Module

  • Application Examples
    Through Bore Encoder Overview
    Application Examples
    Specifications
    Color Sensor V3 Overview
    Color Sensor V3 Specifications
    2m Distance Sensor Overview
    Specifications
    Magnetic Limit Switch Overview
    Specifications
    Touch Sensor Switch Overview
    Specifications
    Potentiometer Switch Overview
    Specifications
    Blinkin LED Driver Overview
    Blinkin Specifications
    UltraPlanetary Gearbox Overview
    UltraPlanetary Features
    Ultra 90 Degree Gearbox
    Assembly Instructions
    Smart Robot Servo
    SRS Programmer
    Digital LED Indicator Overview
    Specifications

    MPS MA600

    3/8in Hex
  • 5mm Hex

  • 1/4in Round

  • 1

    -

    1/4" Round Insert

    1

    JST-PH 6-pin to JST-PH 6-pin Cable

    1

    JST-PH 6-pin to 4 x 3-pin 0.1" (PWM/Dupont) Cable

    1

    JST-PH 6-pin to JST-PH 4-pin Cable

    1

    Part Number

    Description

    Qty

    REV-11-1271arrow-up-right

    Through Bore Encoder V2

    1

    REV-25-1870arrow-up-right

    Through Bore Encoder Insert Pack

    1

    -

    3/8" Hex Insert

    1

    -

    5mm Hex Insert

    Color Sensor V3

    hashtag
    Overview

    The REV Robotics Color Sensor V3 is a combined color and proximity sensor. From a single sensor you can measure colors and rough distances to various targets. Version 3 introduces a new sensor chip from Broadcom due to the end-of-life of the V1/V2 color sensor chip.

    hashtag

    2m Distance Sensor

    The REV Robotics 2m Distance Sensor () uses the ST Microelectronics VL53L0X Time-of-Flight (ToF) laser-ranging module to measure distances up to 2m with millimeter resolution.

    Unlike other ranging sensors that rely on the intensity of reflected light, this sensor can measure how long it takes for the light to bounce back, the “time of flight.” This results in much more accurate measurements that are independent of the target’s reflectance.

    hashtag
    Kit Contents

    Blinkin LED Driver Overview

    The is a compact, all-in-one solution that can control LEDs in a stand-alone mode with just a 12V power source or in a dynamic mode, changing patterns by supplying a standard servo-style PWM signal.

    hashtag
    Frequently Used Resources

    Rotation Direction

    The exterior of the gearbox is completely symmetrical; however, it is NOT symmetrical internally. Depending on the orientation of the gearbox, the bevel gear on the output shaft could be on either side which will affect the rotation direction.

    circle-info

    Before installing the gearbox, check the rotation direction by hand and orient it in the direction that produces the desired rotation direction.

    hashtag

    REV-11-1275arrow-up-right
    REV-11-1817arrow-up-right
    REV-31-1815arrow-up-right
    LED Strip Pattern Table Spreadsheet
  • Status LED Patterns

  • Electrical Specifications

  • FRC Application Examples

  • FTC Application Examples

  • Blinkin LED Driver (REV-11-1105)arrow-up-right
    Image of the Blinkin LED Driver
    Features
    • Digital RGB Color Sensing

    • IR Proximity Emitter and Detector

    • Built-in (switchable) white LED

    • Supports Standard (100kHz) or High Speed (400kHz) I2C

    hashtag
    Kit Contents

    Part Number

    Description

    Qty

    Color Sensor V3

    1

    JST PH 4-pin Sensor Cable - 30cm

    1

    Part Number

    Description

    Qty

    2m Distance Sensor

    1

    JST PH 4-pin Sensor Cable - 30cm

    1

    REV-31-1505arrow-up-right
    Orientation A
    Bevel gears on right side of gearbox
    Bevel gears on right side of gearbox - rotation directions

    hashtag
    Orientation B

    Bevel gears on left side of gearbox
    Bevel gears on left side of gearbox - rotation directions

    Magnetic Limit Switch

    The REV Robotics Magnetic Limit Switch (REV-31-1462arrow-up-right) is a three-sided digital hall effect switch. The three internal hall effect elements (one on top, two on the sides) are connected in parallel so if any one of them is triggered the sensor will report as triggered.

    Hall effect sensors detect the presence of a magnetic fields. The REV Magnetic Limit Switch is an omnipolar momentary switch; it will trigger when there is sufficient field strength of either magnetic pole detected.

    hashtag
    Kit Contents

    Touch Sensor

    The REV Robotics Touch Sensor (REV-31-1425arrow-up-right) is a digital sensor that can be used as a button input or as a basic mechanical limit switch. The touch sensor is similar to a keyboard button, when the button is pressed the touch sensor notifies the Robot Controller and an action in the code is triggered. Sometimes this action may stop the motors or reset the encoder angle, depending on the use case.

    Like all digital sensors, the Touch Sensor acts on a binary. When the button is not pressed, the LED light remains unlit and the value read by the Expansion Hub is 3.3V (high) and when the button is pressed the LED will light and the Expansion Hub will read 0V (Low)

    hashtag
    Kit Contents

    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.

    9-Axis IMU

    hashtag
    Overview

    The 9-Axis IMU, compatible with the REV DUO System, is a high-performance inertial measurement unit (IMU) featuring the Bosch BNO055 smart sensor with an integrated accelerometer, gyroscope, and magnetometer.

    circle-exclamation

    Specifications

    hashtag
    Specifications

    hashtag
    General Specifications

    Load Ratings

    hashtag
    Load Ratings

    Ratings are based on testing conducted by REV Robotics on the UltraPlanetary system. All load ratings are based on a safety factor of 1.2 to accommodate manufacturing tolerances. The torques listed are for the output of the stage.

    Cartridge
    Torque

    Application Examples

    hashtag
    Application Information

    The REV Touch Sensor features an off-center button. Because this sensor requires a contact interface; the sensor must be mounted with regards to the location of the button and the object, or mechanism, intended to trigger the sensor.

    Common applications for the Touch Sensor, such as limit switches, require consideration for unconstrained, or twisting motion. Limit switches limit the range of motion for a mechanism. If the mechanism is not properly , there is a risk that the contact interface will not trigger the Touch Sensor.

    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

    Potentiometer

    The REV Potentiometer () converts the angular position of a shaft into an analog voltage signal. A potentiometer acts as an adjustable resistor, fluctuating resistance as the shaft is turned. As the wiper (the knob) moves up and down along the coils of the resistor and the resistance and voltage output change proportionally at each new position.‌

    The Potentiometer has a 270° limit to rotation. The sensor detects how much rotational motion has occurred in a mechanism. A specific limit is set in code to ensure rotation stops at a certain point. This is helpful when building simple arm joints because if properly applied it can prevent a mechanism from damaging itself or other parts of the robot.

    circle-exclamation

    It is important to install the Potentiometer so that it will not be forced beyond its 270° range of motion.

    Mounting Brackets

    hashtag
    UltraPlanetary Brackets

    REV UltraPlanetary Metal Motor Brackets are nominally 3mm thick and made from 5052 aluminum. Check individual CAD models or drawings for exact dimensions for each bracket. The table below shows all of the UltraPlanetary Mounting Brackets.

    Specifications

    hashtag
    Specifications

    hashtag
    General Specifications

    UltraPlanetary System Overview

    The REV UltraPlanetary System is a cartridge based modular gearbox designed to handle the rigors of the competition and the classroom. Users can configure a single-stage planetary using one of three different reduction cartridges, build multi-stage gearboxes through stacking individual cartridges together, and choose two different ways for transferring power through the output stage through face mounting to the stage or choosing the length of 5mm hex shaft best suited for the application.

    The UltraPlanetary Gearbox Kit () includes an input stage and pinion gear pressed onto the REV HD Hex Motor. Building on the ability to iterate and adjust designs easily using the REV Building System, the UltraPlanetary System consists of pre-assembled and lubricated cartridges allowing for swapping gear ratios on the fly and with ease. The system also allows for the user to choose the length of 5mm shaft to fit their application or to face mount a sprocket, gear, wheel, or structure using the REV Motion Pattern on the output stage.

    Using the UltraPlanetary Gearbox System with other 550 class motors, like the NEO 550 Brushless motor, requires pressing of an UltraPlanetary 550 Motor Pinion () onto the motor, use of the UltraPlanetary 550 Motor Plate (), along with use of individual cartridge reductions and an UltraPlanetary Female 5mm Hex Output ().

    The UltraPlanetary has a variety of options for mounting with four different brackets available for mounting to REV Extrusion, REV C Channel, or REV U Channel.

    Cartridge Details

    hashtag
    Cartridge Details

    hashtag
    Actual Cartridge Gear Ratios

    Configuring the 9-Axis IMU

    circle-info

    To use the 9-Axis IMU the Control Hub must be running Robot Controller App v10.0 or newer.

    circle-check

    The 9-Axis IMU is configured similar to other I2C devices. First, navigate to the Control Hub Portal or Expansion Hub where it is connected in the configuration menu.

    Ultra 90 Degree Gearbox

    hashtag
    Features

    With an efficient right-angle configuration, the Ultra 90 Degree Gearbox () () offers a robust solution to building a more compact robot. The Ultra 90 Degree Gearbox allows you to connect the UltraPlanetary Gearbox and the HD Hex Motor in a 90-degree orientation for maximum flexibility and ease of use in tight spaces. This versatile gearbox can also be used to transfer power between two 5mm hex shafts that are at a right-angle configuration.

    Specifications

    hashtag
    General Specifications

    Parameter
    Value and Units

    Digital LED Indicator

    hashtag
    Digital LED Indicator - Overview

    The Digital LED Indicator (REV-31-2010) is a LED signal module that is digitally controlled (active low) and offers three colors: red, green, and amber. The Digital LED Indicator is designed to directly interface with the DIO ports of the Control Hub and Expansion Hub.When using the Digital LED Indicator outside of the REV Hub environment, make sure to check that your device GPIO pins’ current sink rating can handle 20mA.

    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.


    REV-31-1557arrow-up-right
    REV-31-1407arrow-up-right
    REV-31-1505arrow-up-right
    REV-31-1407arrow-up-right

    Part Number

    Description

    Qty

    REV-31-1462arrow-up-right

    REV Magnetic Limit Switch

    1

    -

    Magnet with mounting tabs

    2

    REV-31-1407arrow-up-right

    JST PH 4-pin Sensor Cable - 30cm

    1

    Part Number

    Description

    Qty

    REV-31-1425arrow-up-right

    REV Touch Sensor

    1

    REV-31-1407arrow-up-right

    JST PH 4-pin Sensor Cable - 30cm

    1

    The 9-Axis IMU is only available on version 10.0 and newer of the Robot Controller App running on the Control Hub. It will not appear in the configuration menu on older versions.
    9-Axis IMU

    hashtag
    Features

    • 9-axis IMU

    • Supports Standard (100kHz) or High Speed (400kHz) I2C

    • ESD Protection

    hashtag
    Kit Contents

    SKU
    Product Name
    Quantity

    REV-31-3332

    9-Axis IMU

    1

    REV-31-1407

    JST PH 4-pin Sensor Cable - 30 cm

    1

    Value and Units

    Sensor Type

    Analog

    Signal Port Mapping

    n

    Output Shaft

    Female 5mm Hex

    Mounting Holes

    REV Motion Pattern(6x M3 tapped)

    Range of Motion

    270°

    Taper

    Linear (B)*

    circle-exclamation

    *The linear taper of this potentiometer means that the resistance changes linearly with the angle of the shaft. However, the linearity can be significantly affected by connected circuitry. Please see the Application Examples for more information.

    hashtag
    Electrical Specifications

    Parameter

    Min

    Typ

    Max

    Units

    Total Resistance

    -

    10

    -

    hashtag
    Mechanical Drawing

    circle-info

    All dimensions are in millimeters

    hashtag
    Pinout and Schematic

    The Potentiometer only sends signal to the hub through the n port, which means during configuration the potentiometer will need to be assigned to port 0 or port 2. This limitation means that two potentiometers can not be hosted on the same physical port using the sensor splitter cable.

    Parameter

    Fails at 40 N-m

    4:1 Cartridge

    Fails at 40 N-m

    5:1 Cartridge

    Fails at 40 N-m

    triangle-exclamation

    Shock loads can cause the gearbox to fail in situations where the steady-state torque is still within allowable limits.

    circle-exclamation

    Cantilevered load on the output shaft puts additional stress on the gearbox and will reduce the torque the gearbox can withstand.

    hashtag
    Cartridge Configuration

    Cartridge configuration tables for UltraPlanetary use a red rating system. If the motor and gear ratio combination is highlighted in red, the torque created by the motor can damage the gearbox. Non-highlighted combinations are within acceptable torque ranges.

    Nominal gear ratios are used to reference the cartridge for ease of use in the following charts. For actual gear ratios for an individual cartridge, please reference the Actual Cartridge Gear Ratios Table. The final actual gear ratios are indicated in the cells.

    circle-exclamation

    When building your gearbox, make sure the highest gear reduction is closest to the motor.

    hashtag
    HD Hex Motor Load Ratings

    hashtag
    Load Rating for Two-Stage Gearboxes

    hashtag
    Load Rating for Three-Stage Gearboxes

    hashtag
    Load Rating for Four-Stage Gearboxes

    hashtag
    NEO 550 Load Ratings

    hashtag
    Load Rating for Two-Stage Gearboxes

    hashtag
    Load Rating for Three-Stage Gearboxes

    hashtag
    Load Rating for Four-Stage Gearboxes

    3:1 Cartridge

    hashtag
    FTC Applications

    hashtag
    Configuring in the Control System

    Configure the Touch Sensor as "REV Touch Sensor" as shown in the image below.

    In this example, the Touch Sensor is configured on port one. It is touched on briefly in the Pinout Section that the Touch Sensor only sends a signal to the Control Hub through the n+1 communication channel. Because of this limitation, the Touch Sensor will only work when configured on the odd-numbered digital ports.

    hashtag
    Programming Applications

    The code blocks below give a basic example of how to use the Touch Sensor to limit the motion range of a motor using if/else logic. If the button is pressed then the motor stops. Otherwise, the motor is allowed to move.

    circle-info

    To learn more about programming Touch Sensors check out Hello Robot for Blocks arrow-up-rightand OnBot Javaarrow-up-right!

    circle-info

    The code assumes the sensor has been named "test_touch" and the motor has been named "test_motor" in configuration.

    constrainedarrow-up-right

    hashtag
    Kit Contents

    Part Number

    Description

    Qty

    2m Distance Sensor

    1

    JST PH 4-pin Sensor Cable - 30cm

    1

    REV-31-1155arrow-up-right

    Long Reach Mounting Bracket

    Outside Mounting Bracket

    hashtag
    Using Mounting Brackets

    hashtag
    Mounting to REV Extrusion Profile

    The UltraPlanetary Bent Mounting Bracket and the UltraPlanetary Flat Mounting Bracket are designed for use with the REV Extrusion Profile located on the REV 15mm Extrusion and REV Channel.

    hashtag
    Mounting on Channel

    The UltraPlanetary Outside Mounting Bracket is designed for use with the REV Extended Motion Pattern present on REV Channel. Using the slotted holes of the Extended Motion Pattern allows for a centered location of the hex shaft. Consider using a 5mm Hex Bearing Block when using the U Channel to provide extra support for the shaft.

    Flat Mounting Bracket REV-41-1624arrow-up-right

    Bent Mounting Bracket REV-41-1623arrow-up-right

    Value and Units

    Sensor Type

    I2C

    I2C Address

    0x52

    Sensor Part

    APDS-9151

    Measurement Channels

    Red, Green, Blue, Alpha, and Proximity

    hashtag
    Electrical Specifications

    Parameter

    Min

    Typ

    Max

    Units

    Operating Voltage Range

    -

    -

    3.3

    V

    Proximity Sensor Range

    1

    -

    10

    hashtag
    Mechanical Drawings

    circle-info

    All dimensions are in millimeters.

    hashtag
    Pinout

    Parameter

    hashtag
    REV-41-1600 Kit Contents

    The REV Robotics UltraPlanetary Gearbox Kit (REV-41-1600arrow-up-right) comes with the following:

    • REV-41-1291arrow-up-right - HD Hex Motor – QTY 1

    • REV-41-1608arrow-up-right – UltraPlanetary Pinion Gear (pressed onto REV-41-1291) – QTY 1

    • REV-41-1607arrow-up-right – UltraPlanetary Mounting Plate – QTY 1

    • – UltraPlanetary Cartridge 3:1 – QTY 1

    • – UltraPlanetary Cartridge 4:1 – QTY 1

    • – UltraPlanetary Cartridge 5:1 – QTY 1

    • – UltraPlanetary Output Stage – QTY 1

    • – UltraPlanetary Hardware Pack – QTY 1

    • – 5mm x 75mm Hex Shaft – QTY 1

    Individual stages, hardware, and pinions can be purchased separately to optimize the gearbox for the application. For more information on optimizing gear ratios check the REV DUO Motor Guidearrow-up-right.

    REV-41-1600arrow-up-right
    REV-41-1608arrow-up-right
    REV-41-1607arrow-up-right
    REV-41-1604arrow-up-right

    Product Name

    Nominal Gear Ratio

    Actual Gear Ratio

    REV-41-1601

    UltraPlanetary Cartridge 3:1

    3:1

    84:29 (2.89:1)

    REV-41-1602

    UltraPlanetary Cartridge 4:1

    4:1

    76:21 (3.61:1)

    REV-41-1603

    UltraPlanetary Cartridge 5:1

    5:1

    68:13 (5.23:1)

    hashtag
    Final Gear Reduction For Two Stage Gearboxes

    Nominal gear ratios are used to reference the product name for ease of use for the following chart. For actual gear ratios please reference the .

    circle-exclamation

    When building your gearbox make sure the highest gear reduction is closest to the motor. Asterisked cells are omitted as they have a lower gear reduction closer to the motor.

    hashtag
    Final Gear Reduction For Three Stage Gearboxes

    Nominal gear ratios are used to reference the product name for ease of use for the following chart. For actual gear ratios please reference the .

    Part Number

    Configuration menu on the Driver Hub

    Next, scroll to find the option to add something to the I2C Bus. Note: The internal IMU appears in I2C Bus 0. For this example, we are adding the 9-Axis IMU to I2C Bus 1.

    I2C Bus options in the configuration menu

    Once in the menu, click "Add". This will show the option to add a new sensor to this I2C Bus.

    Option to add a new I2C device to the bus

    Scroll to select the REV 9-Axis IMU from the dropdown menu.

    9-Axis IMU within the available dropdown menu

    Name the IMU something relevant that will be easy to identify later. Remember the built-in IMU, if applicable, may also appear as an option while programming.

    Naming the IMU to identify it while programming

    Finally, select "Done" and complete the remainder of your configuration process.

    The "Done" option will save the added sensor

    hashtag
    9-Axis IMU in Blocks

    Once configured, the 9-Axis IMU will appear as an option under "Sensors" in the Blocks menu.

    The IMU listing in the Blocks side menu

    When calling the IMU, the configured 9-Axis IMU will appear as the assigned name in the dropdown option on the individual block.

    IMU selection dropdown

    hashtag
    9-Axis IMU in OnBot Java

    When "Setup Code for Configured Hardware" is checked while creating a new OpMode in OnBot Java, the IMU will automatically be added to the hardwareMap using the assigned name from configuration.

    An internal IMU, if applicable, will retain its default name based on the version of IMU (BNO055 or BHI260AP).

    The configured IMU appearing in OnBot's hardwareMap
    A full configuration walkthrough is available here.arrow-up-right
    Mounts directly to the output of the UltraPlanetary Gearbox
  • Mounting holes compatible with the REV Motion Pattern

  • Affix between pieces of channel in a channel drivetrain for a more compact design

    • Through-bore hex on the output allows positioning the gearbox in the middle of a shaft or using a very long shaft without needing to cut it

    • Blind socket hex input allows shafts of varying length and also captures the shaft when mounted to the output of an UltraPlanetary Gearbox

    • Ball bearings located on the input and output for a smooth performance

    REV-41-2080arrow-up-right
    VIDEOarrow-up-right

    I2C Address

    0x29

    Port Type

    JST PH, 4-pin

    hashtag
    Electrical Specifications

    Parameter
    Value and Units

    Max Operating Voltage

    3.3V

    hashtag
    Physical Specifications

    Parameter
    Value and Units

    Length

    41.5mm (1.63in)

    Width

    15mm (0.59in)

    Height

    16.8mm (0.66in)

    Mounting Holes

    2 x M3 Holes on 32mm pitch

    hashtag
    Mechanical Drawing

    9-Axis IMU Top View
    9-Axis IMU Side View
    circle-check

    Full Mechanical Drawingarrow-up-right

    hashtag
    Pinout

    9-Axis IMU Pinout

    Sensor Type

    I2C

    IMU Sensor

    BNO055

    hashtag
    REV-31-2010 Kit Contents

    Part Number

    Description

    Qty

    -

    Digital LED Indicator

    4

    REV-31-1407

    JST PH 4-Pin Sensor Cable

    4

    Discontinued Color Sensors

    hashtag
    Color Sensor V2 Overview

    The REV Robotics Color Sensor V2 is a combined color and proximity sensor with updated features from the original REV Color Sensor. From a single sensor you can measure colors and rough distances to various targets.

    hashtag
    Features

    • Redesigned case

      • Better mounting

      • Wider field of view

    hashtag
    Kit Contents

    hashtag
    Color Sensor V1 Overview

    The REV Robotics Color Sensor V1 a single sensor you can measure colors and rough distances to various targets. The Color Sensor V1 has a built-in IR (optical) and Proximity Sensor and white LED for active target lighting. Using High Speed I2C Communication (400kHz), as well as auto increment register read, allows the user to return all the color register and status register data in one read command instead of 4 separate read commands.

    hashtag
    Features

    • M3 Mounting Hole

    • Built-in white LED

      • LED power is switchable with new built-in switch

    hashtag
    Kit Contents

    UltraPlanetary Features

    The REV Robotics UltraPlanetary System includes the following features:

    • Three different gear ratio cartridges providing twenty-seven gear ratios ranging nominally from 3:1 to 125:1.

    • Pre-assembled cartridges for superior performance and ease of use.

    • Flexible output allowing for the designer to choose shaft length or mounting driven parts directly to the output stage.

    hashtag
    Cartridge Features

    The REV Robotics UltraPlanetary Cartridges are nominally 10mm thick and made of a plastic (reinforced nylon) molded ring gear with hardened steel planet and sun gears. Cartridges are pre-assembled and lubricated allowing for more time for iterating designs rather than assembling individual stages of gearbox. Check individual CAD Models for exact dimensions for each cartridge.

    Alignment Ribs: Protrusions on the input side of the cartridge to help seat stages of the system together.

    Assembly Holes: M3 assembly holes for attaching cartridges to input and output stages.

    Input Gear: Sun Gear with a sliding fit for a 13 tooth, M0.55, gear.

    Output Gear: 13 tooth, M0.55, carrier gear.

    Each cartridge was designed with reliability, durability, and ease of use in mind while having a variety of output ratios when used in combination. Cartridges are referred to at the gear ratio of their closest whole number. For exact gear ratios of individual stages see .

    hashtag
    Output Stage Features

    The REV Robotics UltraPlanetary Output Stage V2 (REV-41-1615) is nominally 17mm thick with 6mm protruding from the casing for output motion. The Output Stage is pre-assembled and made of a plastic (reinforced nylon) molded body with a ball bearing carrying the load of the Female Output Gear. Check the CAD Model for exact dimensions of the Output Stage.

    Alignment Ribs: Protrusions on the input side of the output stage to help seat stages of the system together.

    Assembly Holes: M3 assembly holes for attaching the output stage to cartridge and input stages.

    Input Gear: Piece with sliding fit for a 13 tooth, M0.55, gear.

    Female Output Gear: Female 5mm hex output for custom length shafts. Motion pattern present for directly attaching sprockets, gears, structure, and wheels.

    triangle-exclamation

    When directly attaching Motion Components to the Output Stage, remove the set screw from the 5mm Hex Output

    Servo Hub Firmware Changelog

    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

    SRS Programmer

    hashtag
    SRS Programmer Overview

    The REV Robotics SRS Programmer is the key to unlocking all the smart features of the Smart Robot Servo (SRS).

    Switching between continuous rotation, standard servo, and custom angular modes is easy as pressing a button. The SRS Programmer can not only program the SRS, but it is also acts as a standalone servo tester for any standard RC servo.

    hashtag
    Features

    The REV Robotics SRS Programmer includes the following features:

    • 3 programming modes

      • Continuous rotation

      • Angular limits

    hashtag
    Specifications

    Mechanical Specifications

    hashtag
    Electrical Specifications

    hashtag
    Kit Contents

    The REV Robotics SRS comes with the following:

    • REV SRS Programmer

    hashtag
    Power Off Reminder

    If the SRS Programmer is left on for an extended period of inactivity, it will blink every LED as a reminder to shut off power.

    Application Examples

    The Digital LED Indicator produces light that is usable as visual feedback for a human user. Using the Digital LED Indicator to show what state the robot is in is useful for debugging autonomous and teleoperated programs. Other sensors used with the LED Indicator can let robot operators know a variety of things, from if the robot has game elements to the robot being blocked from completing an action.

    hashtag
    FIRST Tech Challenge

    hashtag
    Configuring in the Control System

    Configure the green LED on port 0 as "green." Configure the red LED on port 1 as "red."

    Each digital port on the Control (or Expansion) Hub is capable of acting as two separate ports, thanks to the two channels of communication. This is why the ports are marked as 0-1, 2-3, etc. The n+1 channel operates on odd-numbered ports 1-7 and the n channel operates on the even number ports 0-6. Due to the two channels of communication, the green and red LED must be configured on the ports that correspond with their respective channel of communication.

    circle-info

    More information on digital ports and the channels of of communication on the Control and Expansions Hubs can be found in the Digital Sensor documentation. More information on the communication channels that the LED Indicator uses can be found in the .

    hashtag
    Programming Examples

    The sample code below changes the color of the Digital LED Indicator based on the state of a Touch Sensor ().

    SRS V2 Specifications

    • Size: 40.2mm x 20mm x 38mm (1.58in x 0.79in x 1.5in)

    • Gear Material: Steel

    • Voltage Rating: 4.8V – 7.4V (6V nominal)

    • Input Pulse Range: 500μs – 2500μs

    • Default Angular Range: 270°

    • Maximum programmable range in angular mode: 280°

    • Cable length: 300 mm (11.81in)

    • Spline type: 25T

    • Spline Internal Thread: M3, 6mm deep (Do not exceed this depth to avoid servo damage)

    hashtag
    Smart Robot Servo V2 - Balanced

    • Powered at 6V

      • Speed: 0.14 sec/60°

      • Stall Torque: 13.5 kg-cm / 187.8 oz-in

    hashtag
    Smart Robot Servo V2 - UltraSpeed

    • Powered at 6V

      • Speed: 0.043 sec/60°

      • Stall Torque: 5.6 kg-cm / 77.90 oz-in

    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.


    Specifications

    hashtag
    General Specifications

    Application Examples

    hashtag
    Application Information

    The REV Magnetic Limit Switch comes with two mountable magnets. Because this sensor does not require a contact interface, the magnet can also be soft-mounted almost anywhere with just tape or glue.

    The strength of the magnetic field determines the maximum distance the magnet can be from the sensor and still be detected. Alternate (stronger or weaker) magnets can easily be used to change the trigger range of this sensor.

    Specifications

    hashtag
    Specifications

    hashtag
    General Specifications

    Specifications

    hashtag
    General Specifications

    Application Examples

    hashtag
    Application Information

    Potentiometers are most commonly used to measure the angle of an arm type joint. There are two different ways to utilize a potentiometer when using it in conjunction with an arm. One way to use the potentiometer is to directly place it on the shaft being used to pivot the arm. However, placing the potentiometer on an adjacent shaft that connects to the pivot-point shaft, via gears or chain, allows for more design flexibility.

    Applying the concept of gear ratios (or sprocket ratios) to the potentiometer; it is possible to manipulate the accuracy/range of motion relationship. When the range of motion increases, through changes in gear ratio, accuracy decreases, and vice versa.

    This Potentiometer has a 5mm female hex socket input and can be used with any 5mm hex axle, like the ones in the REV Building System. There are six M3 tapped holes around the input shaft on a 16mm circle which will mount to any of the REV Robotics Motion Brackets.

    Assembly Instructions

    hashtag
    Hardware Kit Information

    Assembly Type
    Hardware Size
    Head Type

    Specifications

    hashtag
    Specifications

    hashtag
    General Specifications

    Smart Robot Servo V2

    The REV Robotics (SRS V2) is a configurable metal-geared servo that takes the guesswork out of aligning and adjusting servo-based mechanisms. One SRS V2 can be used as a standard angular servo, a custom angular servo, and a continuous rotation servo by simply changing its settings with the .

    hashtag
    Smart Robot Servo V2 Basics

    The Smart Robot Servo V2 has a 25T output spline. A spline is a specific groove pattern cut into the shaft, which allows the rotation of the servo motor to be transmitted to the attached Aluminum Servo Horn () or . Splines are like keys, so only matched types will fit together.

    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

    Remapping Guide

    hashtag
    Getting Started

    hashtag
    Default Assignment

    Specifications

    hashtag
    Electrical Specifications

    import com.qualcomm.robotcore.eventloop.opmode.Disabled;
    import com.qualcomm.robotcore.hardware.DcMotor;
    import com.qualcomm.robotcore.hardware.TouchSensor;
    import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
    import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
    
    @TeleOp
    
    public class HelloRobot_TouchSensor extends LinearOpMode {
        TouchSensor test_touch;  // Touch sensor Object
        private DcMotor test_motor = null;
        private Servo test_servo = null;
        
        @Override
    public void runOpMode() {
            test_motor = hardwareMap.get(DcMotor.class, "test_motor");
            test_touch = hardwareMap.get(TouchSensor.class, "test_touch");
            
            // Wait for the game to start (driver presses PLAY)
            waitForStart();
            
            // run until the end of the match (driver presses STOP)
            while (opModeIsActive()) {
            
                if (touchSensor.isPressed()){
                    //Touch Sensor is pressed.
                    test_motor.setPower(0);
                    telemetry.addData("Touch Sensor", "Is Pressed");
                } else {
                    //Touch Sensor is not pressed 
                    test_motor.setPower(0.3);
                    telemetry.addData("Touch Sensor", "Is Not Pressed");
                            }
            telemetry.update();
            }
        }
    }
    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

  • Stall Current: 2.1A
  • Powered at 7.4V

    • Speed: 0.12 sec/60°

    • Stall Torque: 16.7 kg-cm / 232.32 oz-in

    • Stall Current: 2.6A

  • Weight: 62g (0.137lb)

  • Stall Current: 2.9A
  • Powered at 7.4V

    • Speed: 0.035 sec/60°

    • Stall Torque: 6.2 kg-cm / 86.25 oz-in

    • Stall Current: 3.7A

  • Weight: 60g (0.132lb)

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

    REV-31-1155arrow-up-right
    REV-31-1407arrow-up-right
    Cartridge Details
    REV-41-1625arrow-up-right
    REV-41-1621arrow-up-right

    cm

    REV-41-1601arrow-up-right
    REV-41-1602arrow-up-right
    REV-41-1603arrow-up-right
    REV-41-1604arrow-up-right
    REV-41-1609arrow-up-right
    REV-41-1347arrow-up-right
    Better sensor protection
  • Built-in white LED

    • LED power is switchable with new built-in switch

  • Supports Standard (100kHz) or High Speed (400kHz) I2C

    • Supports auto-increment register reads

  • Built-in IR Proximity Emitter and Detector

  • Supports Standard (100kHz) or High Speed (400kHz) I2C
    • Supports auto-increment register reads

  • Built-in IR Proximity Emitter and Detector

  • Part Number

    Description

    Qty

    REV-31-1537arrow-up-right

    Color Sensor V2

    1

    REV-31-1407arrow-up-right

    JST PH 4-pin Sensor Cable - 30cm

    1

    Part Number

    Description

    Qty

    REV-31-1154arrow-up-right

    Color Sensor V1

    1

    REV-31-1407arrow-up-right

    JST PH 4-pin Sensor Cable - 30cm

    1

    Reset to factory defaults
  • Test modes

    • Automatic sweep

    • Manual position/direction

  • Intuitive operation with LED feedback

  • Self-powered

  • Power-off reminder

  • Parameter

    Description

    Dimensions

    70.5mm x 64.5mm x 35.5mm

    Weight

    Power Source

    4 AA batteries

    Power Output

    6V nominal

    Logic Level (Signal Out)

    3.3V

    Output Pulse Width Range

    550μs – 2450μs

    Center Pulse Width

    1500μs

    Mounting Holes

    #10 Clearance

    Accuracy

    Factory Calibrated to +/- 0.5 degree

    Weight

    23.0g (0.05lbs)

    hashtag
    Electrical Specifications

    Parameter

    Min

    Typ

    Max

    Units

    Input Voltage

    3.3

    -

    5.0

    V

    Logic Level

    -

    3.3

    5.0

    hashtag
    Incremental Output

    Parameter

    Min

    Typ

    Max

    Units

    Quadrature Resolution

    -

    2048

    -

    Cycles per Rev.

    -

    8192

    -

    hashtag
    Absolute Pulse Output (Duty Cycle)

    Parameter

    Min

    Typ

    Max

    Units

    Period

    -

    1000

    -

    μs

    Frequency

    -

    1

    -

    hashtag
    Mechanical Drawings

    hashtag
    Pinout

    Parameter

    Value and Units

    Sensor Type

    Digital, Encoder

    Connector

    JST-PH 6-pin

    hashtag
    Hysteresis

    When designing a system using the REV Magnetic Limit Switch, it is important to consider the impact of hysteresis. When the magnetic field approaches the Magnetic Limit Switch, the sensor triggers after the field strength increases enough to cross the rising trigger point (Bop). As the magnet is then moved away from the sensor, the magnetic field strength falls, but the sensor remains in the triggered state until the field falls below the falling trigger level (BRP). The difference between these two points is the hysteresis.

    For a simple system like stopping an arm at the end of range of motion, the hysteresis might not play much of a role, but for creating one or more stop points on a linear elevator, this may factor into the software design.

    hashtag
    FTC Applications

    hashtag
    Configuring in the Control System

    It is recommended that the Magnetic Limit Switch be configured as a "REV Touch Sensor" as shown below:

    In this example, the Magnetic Limit Switch is configured on port 3 as a "REV Touch Sensor". It is touched on briefly in the Pinout Section that the Magnetic Limit Switch is capable of sending a signal to the Control Hub through the n+1 and n communication channels. The channel the sensor communicates through is decided by which port it is configured on. In this case, the Magnetic Limit Switch communicates through the n channel.

    hashtag
    Programming Applications

    The code blocks below gives a basic example of how to use the Magnetic Limit Switch to limit the motion range of a motor using if/else logic. If the magnet is within range of the sensor, then the motor stops. Otherwise, the motor is allowed to move. When triggered by proximity to a magnet, the sensor is considered pressed.

    circle-info

    To learn more about programming Touch and Limit Sensors check out Hello Robot for Blocks arrow-up-rightand OnBot Javaarrow-up-right!

    Certain blocks will not appear if the Magnetic Limit Switch is configured as just a "Digital Device"
    circle-info

    The code assumes the sensor has been named "test_magnetic" and the motor has been named "test_motor" in configuration.

    Value and Units

    Sensor Type

    Digital, Active-low

    Sensor Configuration

    Normally Open (N.O.)

    Signal

    n & n+1

    Magnetic Polarity

    Omnipolar (both north & south)

    hashtag
    Electrical Specifications

    Parameter

    Min

    Typ

    Max

    Units

    Operating Voltage Range ( )

    3.3

    -

    5.0

    V

    Top Trigger Distance †

    -

    10

    -

    †

    Using the included magnet

    hashtag
    Mechanical Drawings

    hashtag
    Magnetic Limit Switch

    circle-info

    All dimensions are in millimeters

    hashtag
    Mountable Magnet

    circle-info

    All dimensions are in millimeters

    hashtag
    Pinout and Schematic

    The Magnetic Limit Switch can send signal from either the n+1 or n ports.

    circle-info

    This schematic illustrates that the Magnetic Limit Switch is NO "Normally Open".

    Parameter

    hashtag
    Electrical Specifications

    Parameter

    Min

    Typ

    Max

    Units

    Operating Voltage Range

    -

    -

    3.3

    V

    hashtag
    Output States

    Button

    n+1 Voltage

    LED State

    FTC SDK Logic

    Not Pressed

    3.3V

    Off

    TRUE

    Pressed

    0V

    On

    FALSE

    circle-exclamation

    The button is directly in-line with the LED and signal. So if the light is operating correctly, the button is working.

    hashtag
    Mechanical Drawings

    hashtag
    Pinout and Schematic

    In the image below, is the key for the wired connection between the touch sensor and the robot controller. The touch sensor does not use or pick up a signal from the n (blue) wire. This is not a problem if there is one digital sensor per port. However, If you intend to connect more than one digital sensor to the same port using the sensor splitter cable, make sure that the n+1 (white) wire portion of the splitter cable is plugged into the touch sensor.

    Parameter

    Value and Units

    Sensor Type

    Digital, Active-low

    Signal

    n+1

    hashtag
    Calculating the relationship between voltage and angle

    The REV Potentiometer has a linear* relationship between the output voltage and the angle of its shaft.

    circle-info

    *When used in FTC applications, the Hub's analog circuitry changes the linearity of the potentiometer. Skip ahead to the FTC Applications section for more information.

    Assuming a 3.3V input voltage, the degrees per volt can be graphed and calculated as follows:

    Therefore, given a measured output voltage V in volts, you can easily calculate the corresponding angle θ in degrees:

    hashtag
    FTC Applications

    Even though the Potentiometer is a linear taper potentiometer, the analog circuitry on the Control/Expansion Hubs can change the linearity so that the above equations are not as accurate. Therefore, it is recommended to move your robot mechanisms to specific positions of interest and record the Potentiometer voltage at those positions to use in your code.

    Calculating the output voltage for a specific angle θ between 0 and 270° is still possible, but the equation is no longer linear:

    hashtag
    Configuring in the Control System

    Configure the Potentiometer as "Analog Input" as shown in the image below.

    In this example, the Potentiometer is configured on port 0. It is touched on briefly in the Pinout Section that the Potentiometer only sends a signal to the Control Hub through the n communication channel. Because of this limitation, the Potentiometer will only work when configured port 0 and port 2.

    hashtag
    Programming Applications

    This program has a variable called CurrentVoltage that is used to store the current voltage. CurrentVoltage is updated using the AnalogInput block every time that the program loops. When CurrentVoltage less than the midpoint of 1.65 volts, the motor stops. When the voltage is higher than the midpoint, the motor moves. The potentiometer voltage is also displayed via telemetry.

    circle-info

    The code assumes that a Potentiometer was configured with the name “potentiometer”, and that a motor was configured with the name “test_motor”.

    270∘3.3V=81.8∘1V or  0.0818∘1mV\frac{270^{\circ}}{3.3V}=\frac{81.8^{\circ}}{1V}\: or\;\frac{0.0818^{\circ}}{1mV}3.3V270∘​=1V81.8∘​or1mV0.0818∘​
    θ=VOUT×81.8\theta= V_{\textit{OUT}}\times81.8θ=VOUT​×81.8
    VOUT=445.5(θ−270)θ2−270θ−36450V_\textit{OUT}=\frac{445.5(\theta-270)}{\theta^2-270\theta-36450}VOUT​=θ2−270θ−36450445.5(θ−270)​

    Hex Shaft

    5mm x 20mm

    -

    UltraPlanetary Face Mount Spacer

    M3 x 40mm

    Socket

    hashtag
    Assembly Instructions

    For adding a Ultra 90 Degree Gearbox you will need all of the parts in the Hardware Kit, a 1.5mm Allen Wrench, and a 2mm Allen Wrench.

    circle-info

    This assembly guide assumes you have a fully assembled UltraPlanetary Gearbox mounted to your motor of choice. Please see the UltraPlanetary Gearbox assembly instructions if you do not have a fully assembled UltraPlanetary Gearbox.

    1) Insert the 20mm long hex shaft into the output of the gearbox.

    2) Place the Face Mount Spacer on the output of the the gearbox as shown.

    Note: Line up the short edge of the spacer with a flat side of the UltraPlanetary gearbox body.

    3) Rotate the hex shaft output so that it lines up with the hex input on the Ultra 90 Degree Gearbox.

    4) Slide the two gearboxes together. Rotate the Ultra 90 Degree Gearbox until the spacer and gearbox body line up.

    5) Insert the 4 mounting screws in the holes on the end of the Ultra 90 Degree Gearbox. Ensure that they line up with the holes in the spacer and the gearbox.

    6) Tighten the 4 mounting screws hand-tight. Then alternate between slightly tightening screws diagonally across from each other in an X shaped pattern.

    Note: Take care not to over tighten the mounting screws.

    hashtag
    Mounting Thread Engagement

    circle-info

    With standard REV channel or brackets, the recommended screw length for mounting the Ultra 90 Degree Gearbox to REV motor brackets or channels is M3 x 6mm (REV-41-1713). REV recommends that no more than 4mm of thread engagement is used to mount the gearbox on the motion pattern faces.

    Ultra 90 Degree Gearbox

    M3 x 40mm

    Socket

    Value and Units

    Sensor Type

    I2C

    I2C Address

    0x52

    Laser Type

    940 nm (IR) Class 1

    hashtag
    Electrical Specifications

    Parameter

    Min

    Typ

    Max

    Units

    Operating Voltage Range

    3.3

    -

    5.0

    V

    Operating Current

    -

    -

    40

    Parameter

    hashtag
    Operating Modes

    hashtag
    Default Operation

    Out of the box, the SRS V2 operates as a 270° servo. However, the REV SRS Programmerarrow-up-right can reconfigure the SRS V2 to set angular limits or switch it into a continuous rotation mode.

    circle-info

    For more information on how to use the SRS programmer to change the servo modes, see the Switching Operation Modesarrow-up-right section

    The default range for the SRS V2 is 270°. This range is mapped to an input pulse range of 500μs to 2500μs with 1500μs as the center point. The image below describes the pulse-to-angle relationship.

    hashtag
    Continuous Rotation

    The SRS V2 can be configured with the SRS Programmer to operate in a continuous rotation mode. In this mode, the same input pulse range is mapped to direction and speed. The table below lists the pulse mapping for direction and speed.

    hashtag
    Angular Limits

    The SRS V2 can be easily configured with the SRS Programmer to limit right and left motion at two user-defined angles. Input pulses that occur past the limits will be ignored, and the SRS V2 will hold the limit angle. Any two angles can be set as limits as long as the left limit is left of the center dead band and the right limit is to the right of the center dead band. The table below shows the valid regions for left and right limits.

    Once valid limits are programmed, the SRS V2 will ignore any pulses that exceed the limits and hold the limit angle. For example, the image below exhibits what would happen a left limit of -30° and a right limit of +60° was set.

    hashtag
    Servo Accessories / Adapters

    REV Robotics Servo Adapters fit 25T spline servos like the REV Robotics Smart Robot Servo V2. In addition to the variety pack of generic servo horns that come with the Smart Robot Servo V2, there are five other custom servo adapters that make using servos with the REV ION Build System easy.

    Aluminum Servo Shaft Adapters (REV-41-1558arrow-up-right) convert a 25T spline servo output shaft into a female 5mm hex socket. This adapter can be used to drive a hex shaft directly.

    Aluminum Servo Horns (REV-41-1828arrow-up-right) have a tapped hole pattern that can be directly mounted to any of the REV Robotics gears, wheels, or sprockets with the Motion Pattern.

    Aluminum Double Servo Arms (REV-41-1820arrow-up-right) have two tapped holes that can be directly mounted to any of the REV Robotics extrusion, channel, or brackets.

    Aluminum 1/2in Rounded Hex Servo Shaft (REV-21-2892arrow-up-right) converts a servo to a 1/2in Hex shaft for use with all other ION mechanical system components.

    Plastic 1/2in Hex Linkage Arm (REV-21-2895arrow-up-right) used to control a linkage, flap, lever or pushrod.

    Plastic Face Mount Bracket The ION Servo Face Mount Bracket (REV-21-2896arrow-up-right) allows for easy integration of Servo Motors into the ION System.

    Smart Robot Servo V2arrow-up-right
    SRS Programmerarrow-up-right
    REV-41-1363arrow-up-right
    Servo Adapterarrow-up-right
    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

    Before the M1 and M2 buttons are mapped, they default to the following functions:
    Button
    Default Function

    M1

    Circle Button

    M2

    Cross Button

    hashtag
    Buttons for Remap can be set to be the following:

    The following buttons can be mapped to M1 and M2:

    • D-Pad Up, D-Pad Down, D-Pad Left, D-Pad Right

    • Triangle, Circle, Square, Cross

    • Right Trigger, Right Bumper, Right Joystick Button

    • Left Trigger, Left Bumper, Left Joystick Button

    hashtag
    Remapping the M1 and M2 Buttons

    hashtag
    Enabling the M1 and M2 Buttons:

    Before setting up the new function of your M1 and M2 Buttons, make sure that they are enabled!

    Programming button on the back of the gamepad

    To enable or disable the M1/M2 Buttons press and hold the programming button for 3 seconds or until the indicator light blinks orange. The number of blinks will let you know what the

    • Two quick orange blinks – M1 and M2 Buttons are now Disabled

    • One long orange blink – M1 and M2 Buttons are now Enabled

    Indicator light on the top of the gamepad

    hashtag
    Steps to Remap the M1/M2 Buttons:

    circle-exclamation

    Once the M Buttons are remapped if the gamepad is reset or the mappings cleared the M Buttons will no longer act as active buttons until they are remapped again.

    1. First, press and hold either the M1 or M2 button.

    2. While continuing to hold the M button, press the programming button. When the gamepad successfully enters remapping mode, the indicator light will turn orange.

    3. Release the M button.

    4. Press the button you would like to map. To map a M button as multiple buttons, press all desire buttons at the same time.

    5. Finally press the M button you selected in Step 1 to exit remapping mode. The indicator light will return to its original color.

    hashtag
    Clear M1/M2 Button Mapping:

    1. First, press and hold the M button you wish to clear.

    2. While continuing to hold the M button, press the programming button. When the gamepad successfully enters remapping mode, the indicator light will turn orange.

    3. Release the M button.

    4. Press the same M button again to exit remapping mode and clear the assigned mapping.

    hashtag
    Example Program for Testing Mapping:

    After remapping your M buttons, we recommend testing them with a simple program to ensure they are mapped as expected and in a way that is comfortable for the driver. This example outputs a letter to the Driver Hub's screen in response to the gamepad button pressed or when multiple buttons are pressed.

    Example program for testing button mapping

    Here M1 has been mapped to act as both Square and Triangle while M2 is assigned to DpadRight. When M1 is pressed, the Driver Hub will show A on the screen. When M2 is pressed, B will be reported.

    Finally, if Circle is pressed the output will be C. This is to act as a control for using a regular button on the gamepad.

    circle-check

    When using our example below, first click "Save OpMode" after uploading and opening it on your Control Hub. Update the gamepad buttons in code using the dropdown to match how you have remapped your M buttons.

    M1 and M2 buttons on the back of the gamepad
    file-download
    5KB
    GamepadTest.blk
    arrow-up-right-from-squareOpen
    Test program for the gamepad

    DIO (Active Low)

    Color Modes

    Red (Single LED on) Green (Single LED on) Amber (both LEDs on)

    Forward Voltage

    2.2V (Green)2.1V (Red)

    Viewing Angle

    170 degrees

    Dimensions

    28mm x 13.5mm

    Mounting Hole Diameter

    3.81mm (0.15")

    hashtag
    Output Modes

    n Digital Input

    n+1 Digital Input

    LED Mode

    High

    High

    Off

    High

    Low

    Green

    Low

    High

    Red

    Low

    Low

    Amber

    hashtag
    Pinout

    hashtag
    Mechanical Drawing

    ​Parameters

    ​Value and Units

    Operating Voltage

    3.3V

    Current Draw (at 3.3V)

    20mA - single LED40mA - both LEDs

    Input Type

    REV-31-1425arrow-up-right

    Application Examples

    The REV Through Bore Encoder uses the Broadcom AEAT-8800-Q24 magnetic rotary sensor to measure the rotation of a magnet embedded and geared to the through bore shaft hole. The AEAT-8800-Q24 uses hall effect technology to measure changes in the magnetic field as the shaft and magnet rotates.

    A major benefit of the REV Through Bore Encoder is the flexibility of measuring any shaft in your system. Directly measuring the rotation of an output shaft allow users to read encoders without having to calculate gear ratios.

    hashtag
    Cable Options

    hashtag
    Wiring Examples

    The Through Bore Encoder comes with several different cables making it easier to connect to different devices. Below are a few wiring examples for the more commonly used devices with the Through Bore Encoder.

    hashtag
    Control Hub (REV-31-1595)

    To connect the Through Bore Encoder to a Control Hub, use the included JST PH 6-pin to JST PH 4-pin cable. The Through Bore Encoder plugs into the Encoder ports on the Control Hub.

    hashtag
    SPARK MAX (REV-11-2158)

    Wiring of the Through Bore Encoder to a SPARK MAX changes depending on the motor type being used with the SPARK MAX. Both motor types use the included JST PH 6-pin cable.

    hashtag
    Brushed Motors

    When using a brushed motor with SPARK MAX, the Through Bore Encoder is connected directly to the Encoder Port on the front of the SPARK MAX.

    hashtag
    Brushless Motors

    When using a brushless motor with SPARK MAX, the Through Bore Encoder is used as an Alternate Encoder. Using the Alternate Encoder Adapter (REV-11-1881) with the SPARK MAX allows for the JST PH 6-pin cable to connect directly to the adapter and the Through Bore Encoder.

    triangle-exclamation

    Make sure to check the before connecting the Through Bore Encoder.

    hashtag
    NI roboRIO

    NI's roboRIO supports both quadrature and duty cycle encoders. There are slight differences in wiring depending on what mode is desired. Both wiring setups use the included JST PH 6-pin to 4 Channel PWM Cable.

    hashtag
    Quadrature Encoder (Relative)

    When using the Through Bore Encoder as a quadrature encoder, plug the ENC A (blue) and ENC B (yellow) signal lines into the DIO ports on the roboRIO.

    hashtag
    Duty Cycle Encoder (Absolute)

    When using the Through Bore Encoder as a duty cycle encoder plug the ABS (white) signal line into a DIO port on the roboRIO.

    hashtag
    Shaft Options

    hashtag
    1/2” Hex

    This is the default shaft configuration that comes with the encoder out of the box.

    hashtag
    3/8” Hex

    When using the 3/8” Hex insert, press the insert into the 1/2” Hex hole.

    If you are having difficulty pressing the insert into the encoder, try flipping the insert over and press it in. There is a slight taper in the insert, so it is recommended to press the insert with the smaller end first. When removing, it is recommended to push the insert out in the reverse order (larger end first).

    hashtag
    5mm Hex

    When using the 5mm Hex insert, press the insert into the 1/2” Hex hole.

    If you are having difficulty pressing the insert into the encoder, try flipping the insert over and press it in. There is a slight taper in the insert, so it is recommended to press the insert with the smaller end first. When removing, it is recommended to push the insert out in the reverse order (larger end first).

    hashtag
    1/4" Round

    When using the 1/4” round insert, press the insert onto the shaft first and then place the encoder onto the insert.

    This adapter fits the encoder shaft on common gearboxes like the Toughbox Mini, which is traditionally included in the FRC Kit of Parts Chassis.

    hashtag
    Switch Options

    There is a switch on the side of the encoder and with two options: ‘A’ and ‘S’. ‘A’ is the ABI encoder output mode which outputs the incremental and absolute encoder signals. ‘S’ is the SSI/SPI mode used in the manufacturing stage and potential future features. Currently, only the ‘A’ mode is supported. Make sure that the switch is in the ‘A’ position when using this encoder.

    hashtag
    AM14U KOP Chassis – Encoder Install

    The REV Through Bore Encoder is specifically designed with the end user in mind, allowing teams to place sensors in the locations closest to the rotation that they wish to measure. Using the ¼” round insert allows teams to easily attach the Through Bore Encoder to the output shaft of the ToughBox Mini with the AM14U series kit of parts chassis. This guide is to show the process for attaching the Through Bore Encoder to the ToughBox Mini gearbox

    hashtag
    Additional Resources

    Additional information about the AEAT-8800-Q24, its capabilities, and its features can be found in the following datasheet:

    Application Examples

    hashtag
    Application Examples

    While the REV 2m Distance Sensor produces a significantly more accurate and reliable measurement than other types of ranging sensors, the following tips will help minimize errors.

    A major benefit to time-of-flight measurements is that the target’s surface reflectance does not significantly impact the calculated distance. However, the smallest errors and farthest measurements are achieved with more reflective targets. Similarly, larger targets are easier to detect because they fill more of the sensors 25° field of view.

    Ambient infrared (IR) interference can also affect the measurement distance and quality. The sensor can produce accurate measurements in sunlit environments, but the maximum distance will be reduced. The following table outlines the typical ranging capabilities of the sensor:

    hashtag
    FTC Applications

    hashtag
    Configuring in the Control System

    Configure the 2m Distance Sensor as "REV 2M Distance Sensor," shown in the image below.

    circle-info

    The Robot Controller Application currently only supports the default profile for the sensor.

    In this example, the 2m Distance Sensor is configured on I2C bus 1. The 2m Distance Sensor can be configured on any of the I2C busses as long as a Color Sensor V3 is not configured to the same bus.

    circle-info

    Recall that I2C sensors must have different addresses in order to operate on the same bus. The Color Sensor V3 and 2m Distance Sensor share the same address.

    hashtag
    Programming Applications

    This program moves a motor if there is an object less than 10 centimeters from the distance sensor, and stops it if there is no object within that range.

    circle-info

    The Java version of this program is pasted below. It assumes that the Distance Sensor was configured with the name “test_distance” and that a motor was configured with the name “test_motor.”

    hashtag
    FRC Applications

    For use with WPILib and the roboRIO the . Utilize the roboRIO's I2C port and a 4-pin JST PH to 4-pin roboRIO I2C Cable () to easily connect the sensor to the roboRIO.

    • Example Code

    hashtag
    Additional Resources

    Additional information about the VL53L0X, its capabilities, and the ST Application Programming Interface (API) can be found through the ST website:

    Application Examples

    hashtag
    Application Information

    The REV Robotics Color Sensor has two sensing elements: color and proximity.

    Color measurements consist of Red, Green, Blue, and Alpha (clear) values. The white LED on the sensor has a slide switch to turn the LED on or off. Unlit targets are best illuminated with the build-in LED while bright or light-emitting targets may not require the build-in LED. Color data is best collected within 2cm of the target for the strongest color differentiation.

    Proximity measurements are based on IR reflectance and can vary depending on lighting conditions and target reflectivity. The proximity sensor is ideally used to determine if something is in front of the sensor. While you can receive rough distance data, we recommend using the or similar time-of-flight sensor for accurate distance measurement.

    hashtag
    FTC Application

    hashtag
    Configuring for the Control System

    circle-exclamation

    Note to users transitioning from Color Sensor V2 to V3: Color values will not be consistent between V2 and V3 sensors and there are minor changes to the FTC SDK. Be sure to update to the latest SDK.

    When working with the Color Sensor V3 configure your robot to use the "REV Color Sensor V3" as shown in the image below.

    In this example, the Color Sensor V3 is configured on I2C bus 1. The Color Sensor V3 can be configured on any of the I2C busses as long as a 2m Distance Sensor is not configured to the same bus.

    circle-info

    Recall that I2C sensors must have different addresses in order to operate on the same bus. The Color Sensor V3 and 2m Distance Sensor share the same address.

    hashtag
    Programming Example

    This program shows a readout of values from the Color Sensor on your Driver Hub's screen while the program runs. "Light Detected" shows the amount of light detected between 0 and 1.

    "Blue", "Red", and "Green" each show the amount of that "component" in the color the sensor is pointed at. If pointed at a red color, for example, it will likely have the highest amount shown.

    circle-info

    To learn more about programming a Color Sensors check out Hello Robot for and !

    circle-info

    The code assumes that the Color Sensor was configured with the name “test_color.”

    hashtag
    FRC Application

    circle-exclamation

    ​When using the Color Sensor V3 on the navX’s I2C Interface, you will need to make sure that the Voltage Select Jumper on the navX is set to 3.3V. The Color Sensor V3 has a max operating voltage of 3.3V and applying 5V can damage the sensor.

    hashtag
    Software Libraries

    hashtag
    API Documentation

    hashtag
    REV Color Sensor V3 Example Code

    hashtag
    Additional Resources

    Additional information about the APDS-9151, its capabilities, and its features can be found in the following datasheet:

    V1 Specifications & Examples

    hashtag
    General Specifications

    Parameter Description

    Parameter

    Sensor Type

    I2C

    I2C Address

    hashtag
    Electrical Specifications

    hashtag
    Mechanical Drawings

    circle-info

    All dimensions are in millimeters.

    hashtag
    Pinout

    hashtag
    Application Examples

    hashtag
    Application Information

    The REV Robotics Color Sensor has two sensing elements, proximity and color.

    Proximity measurements are based on IR reflectance and can vary depending on lighting conditions and target reflectivity.

    Color measurements consist of Red, Green, Blue, and Alpha (clear) values. The white LED on the sensor has a slide switch to turn the LED on or off. Unlit targets are best illuminated with the build-in LED while bright or light-emitting targets may not require the build-in LED. Color data is best collected within 2cm of the target for the strongest color differentiation.

    hashtag
    FTC Application

    hashtag
    Configuring for the Control System

    When working with the Color Sensor V1 configure your robot to use the "REV Color/Range Sensor" as shown in the image below.

    In this example, the Color Sensor V1 is configured on I2C bus 2. The Color Sensor V1 can be configured on any of the I2C busses.

    circle-info

    Recall that I2C sensors must have different addresses in order to operate on the same bus.

    hashtag
    Programming Example

    This program shows the values from the Color Sensor on your phone. Your team will need to figure out the logic to use this information in your program. Below there are three examples of different color modes and their readings. Light Detected mode will read the amount of light on the sensor from 0-1.0. Because the sensor is close to a surface, the LED in the sensor reads 1.0 in the examples.

    circle-info

    The code assumes that the Color Sensor was configured with the name “Color.”

    hashtag
    Additional Resources

    Additional information about the TMD37821, its capabilities, and its features can be found in the following datasheet:

    Through Bore Encoder V1

    The REV Through Bore Encoder is designed with the end user in mind, allowing teams to place sensors in the locations closest to the rotation they wish to measure. This rotary sensor measures both relative and absolute position through its ABI quadrature output and its absolute position pulse output.

    hashtag
    Features

    • Incremental and absolute magnetic encoder

      • Built-in magnet

      • Quadrature output - A, B, and Index

      • Absolute output - Pulse Width (Duty Cycle)

    • Factory-calibrated zero-position

      • Zero calibrated to notch in case

    • Through-bore design

      • Easily mounted to any shaft

      • Bore inserts

    • Mounting holes

      • Hole spacing matches common FRC gearboxes and chassis

    circle-exclamation

    The FTC Control System currently only supports Incremental Encoder input through the motor encoder ports. Absolute pulse input is not supported.

    triangle-exclamation

    Do not disassemble the sensor. Disassembling the Through Bore Encoder will dereference the zero position with the physical case notch. It is not possible to recalibrate the zero position as it is permanently saved inside the sensor at the factory

    hashtag
    Kit Contents

    Application Examples

    The REV Through Bore Encoder uses the Monolithic Power Systems MA600, a precision high-bandwidth magnetic angle sensor that detects the absolute angular position of a permanent magnet and geared to the through bore shaft hole. The MPS MA600 uses precision tunnel magnetoresistance technology to measure changes in the magnetic field as the shaft and magnet rotates.

    A major benefit of the REV Through Bore Encoder is the flexibility of measuring any shaft in your system. Directly measuring the rotation of an output shaft allow users to read encoders without having to calculate gear ratios.

    hashtag
    Cable Options

    hashtag
    Wiring Examples

    The Through Bore Encoder comes with several different cables making it easier to connect to different devices. Below are a few wiring examples for the more commonly used devices with the Through Bore Encoder.

    hashtag
    Control Hub (REV-31-1595)

    To connect the Through Bore Encoder to a Control Hub, use the included JST PH 6-pin to JST PH 4-pin cable. The Through Bore Encoder plugs into the Encoder ports on the Control Hub.

    hashtag
    SPARK MAX (REV-11-2158)

    Wiring of the Through Bore Encoder to a SPARK MAX changes depending on the motor type being used with the SPARK MAX. Both motor types use the included JST PH 6-pin cable.

    hashtag
    Brushed Motors

    When using a brushed motor with SPARK MAX, the Through Bore Encoder is connected directly to the Encoder Port on the front of the SPARK MAX.

    hashtag
    Brushless Motors

    When using a brushless motor with SPARK MAX, the Through Bore Encoder is used as an Alternate Encoder. Using the Alternate Encoder Adapter (REV-11-1881) with the SPARK MAX allows for the JST PH 6-pin cable to connect directly to the adapter and the Through Bore Encoder.

    triangle-exclamation

    Make sure to check the before connecting the Through Bore Encoder.

    hashtag
    NI roboRIO

    NI's roboRIO supports both quadrature and duty cycle encoders. There are slight differences in wiring depending on what mode is desired. Both wiring setups use the included JST PH 6-pin to 4 Channel PWM Cable.

    hashtag
    Quadrature Encoder (Relative)

    When using the Through Bore Encoder as a quadrature encoder, plug the ENC A (blue) and ENC B (yellow) signal lines into the DIO ports on the roboRIO.

    hashtag
    Duty Cycle Encoder (Absolute)

    When using the Through Bore Encoder as a duty cycle encoder plug the ABS (white) signal line into a DIO port on the roboRIO.

    hashtag
    Shaft Options

    hashtag
    1/2” Hex

    This is the default shaft configuration that comes with the encoder out of the box.

    hashtag
    3/8” Hex

    When using the 3/8” Hex insert, press the insert into the 1/2” Hex hole.

    If you are having difficulty pressing the insert into the encoder, try flipping the insert over and press it in. There is a slight taper in the insert, so it is recommended to press the insert with the smaller end first. When removing, it is recommended to push the insert out in the reverse order (larger end first).

    hashtag
    5mm Hex

    When using the 5mm Hex insert, press the insert into the 1/2” Hex hole.

    If you are having difficulty pressing the insert into the encoder, try flipping the insert over and press it in. There is a slight taper in the insert, so it is recommended to press the insert with the smaller end first. When removing, it is recommended to push the insert out in the reverse order (larger end first).

    hashtag
    1/4" Round

    When using the 1/4” round insert, press the insert onto the shaft first and then place the encoder onto the insert.

    This adapter fits the encoder shaft on common gearboxes like the Toughbox Mini, which is traditionally included in the FRC Kit of Parts Chassis.

    hashtag
    Switch Options

    There is a switch on the side of the encoder and with two options: ‘A’ and ‘S’. ‘A’ is the ABI encoder output mode which outputs the incremental and absolute encoder signals. ‘S’ is the SSI/SPI mode used in the manufacturing stage and potential future features. Currently, only the ‘A’ mode is supported. Make sure that the switch is in the ‘A’ position when using this encoder.

    hashtag
    AM14U KOP Chassis – Encoder Install

    The REV Through Bore Encoder is specifically designed with the end user in mind, allowing teams to place sensors in the locations closest to the rotation that they wish to measure. Using the ¼” round insert allows teams to easily attach the Through Bore Encoder to the output shaft of the ToughBox Mini with the AM14U series kit of parts chassis. This guide is to show the process for attaching the Through Bore Encoder to the ToughBox Mini gearbox

    circle-info

    These instructions show the Through Bore Encoder (REV-11-1271) but the steps are the same for the Through Bore Encoder (REV-11-3174)

    hashtag
    Additional Resources

    Additional information about the MPS MA600, its capabilities, and its features can be found in the following datasheet:

    SRS V1 Gear Replacement

    The Smart Robot Servo is a metal-geared servo with the ability to replace the metal-gears it they become damaged during use. Damage to the gear set can occur if the servo receives a shock load to the system. This guide explains the process of removing and replacing the gears in the REV Smart Robot Servo (REV-41-1097arrow-up-right) using the Replacement Gear Set (REV-41-1168arrow-up-right).

    hashtag
    TOOLS NEEDED

    To replace the gear set in the Smart Robot Servo you will need the following items:

    • Smart Robot Servo () – QTY 1

    • Replacement Gear Set () – QTY 1

    • Phillips Head Screwdriver (PH0) – QTY 1

    triangle-exclamation

    Please note that these replacement gears are intended solely for the SRS V1 and are not compatible with the SRS V2.

    circle-exclamation

    The replacement gears are shipped un-greased. They need grease to run smoothly, so make sure the is enough grease in the gearbox, and if not, add equivalent of ~1/4” diameter sphere of grease to gears in the gearbox.

    hashtag
    Replacing the Gears Walkthrough

    Gamepad Overview

    The REV USB PS4 Compatible Gamepad (REV-31-2983) is compatible with both the REV DUO and REV ION Systems.

    REV USB PS4 Compatible Gamepad
    circle-info

    When plugged into a PC, the REV USB PS4 Compatible Gamepad switches to an Xbox compatibility mode. This mode may alter some functionality.

    hashtag
    Button Layout

    Number
    Button

    hashtag
    Features

    • USB type-A connection

    • Multi-touch, clickable touch pad

    • Two remappable buttons on back of controller

    hashtag
    Specifications

    • Interface: USB

    • Cable length: 700mm (27.5in)

    circle-info

    For help programming for a gamepad, check out or !

    V2 Specifications & Examples

    hashtag
    General Specifications

    Blinkin Specifications

    hashtag
    Electrical Specifications

    REV DUO Application Examples

    hashtag
    FIRST Tech Challenge Programming

    One of the most common requests from Control Hub users is how to use the Blinkin to signal to a driver different actions the robot is performing. The basic code below walks through how to use the SDK to code the Blinkin to different actions. When a certain gamepad button is pressed the LED turns a solid color, if no buttons are pressed the LED defaults to the Beats Per Minute pattern with a Forest Pallette.

    circle-info

    Switching Operating Modes

    Out of the box, the SRS operates as a 270° servo. However, the can reconfigure the SRS to set angular limits or switch it into a continuous rotation mode. The SRS Programmer has several operating modes for configuring and testing the . The following sections describe each operating mode in detail.

    hashtag
    Switching Operation Modes

    hashtag

    Servo Power Module

    hashtag
    Overview

    The REV Servo Power Module is a 6V 90W power injector that enables the use of standard servos in applications where a robot controller cannot provide adequate power. The following Quick Start Guide describes the Servo Power Module features and the necessary information to get it up and running.

    package org.firstinspires.ftc.teamcode;
     
    import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
    import com.qualcomm.robotcore.hardware.TouchSensor;
    import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
    import com.qualcomm.robotcore.hardware.DcMotor;
     
    @TeleOp
    public class LimitSwitchTest extends LinearOpMode {
        // Define variables for our touch sensor and motor
        TouchSensor test_magnetic;
        DcMotor test_motor;
     
        @Override
        public void runOpMode() {
            // Get the touch sensor and motor from hardwareMap
            test_magnetic = hardwareMap.get(TouchSensor.class, "test_magnetic");
            test_motor = hardwareMap.get(DcMotor.class, "test_motor");
            
            // Wait for the play button to be pressed
            waitForStart();
     
            // Loop while the Op Mode is running
            while (opModeIsActive()) {
                // If the Magnetic Limit Swtch is pressed, stop the motor
                if (test_magnetic.isPressed()) {
                    test_motor.setPower(0);
                } else { // Otherwise, run the motor
                   test_motor.setPower(0.3);
                }
                
            telemetry.addData("Arm Motor Power:", test_motor.getPower());
            telemetry.update();
                }
        }
    }
    package org.firstinspires.ftc.teamcode;
     
    import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
    import com.qualcomm.robotcore.hardware.AnalogInput;
    import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
    import com.qualcomm.robotcore.hardware.DcMotor;
     
    @TeleOp
    public class PotentiometerTest extends LinearOpMode {
        // Define variables for our potentiometer and motor
        AnalogInput potentiometer;
        DcMotor test_motor;
     
        // Define variable for the current voltage
        double currentVoltage;
     
        @Override
        public void runOpMode() {
            // Get the potentiometer and motor from hardwareMap
            potentiometer = hardwareMap.get(AnalogInput.class, "potentiometer");
            test_motor = hardwareMap.get(DcMotor.class, "test_motor");
            
            // Loop while the Op Mode is running
            waitForStart();
            while (opModeIsActive()) {
                // Update currentVoltage from the potentiometer
                currentVoltage = potentiometer.getVoltage();
                
                // Turn the motor on or off based on the potentiometer’s position
                if (currentVoltage < 1.65) {
                    test_motor.setPower(0);
                } else {
                    test_motor.setPower(0.3);
                }
     
                // Show the potentiometer’s voltage in telemetry
                telemetry.addData("Potentiometer voltage", currentVoltage);
                telemetry.update();
            }
        }
    }
    package org.firstinspires.ftc.teamcode;
    
    import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
    import com.qualcomm.robotcore.hardware.LED;
    import com.qualcomm.robotcore.hardware.DigitalChannel;
    import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
    import com.qualcomm.robotcore.util.ElapsedTime;
    
    @TeleOp
    
    public class LEDCode extends LinearOpMode {
        private DigitalChannel touch;
        private DigitalChannel redLED;
        private DigitalChannel greenLED;
    
    
        @Override
        public void runOpMode() {
            // Get the LED colors and touch sensor from the hardwaremap
            redLED = hardwareMap.get(DigitalChannel.class, "red");
            greenLED = hardwareMap.get(DigitalChannel.class, "green");
            touch = hardwareMap.get(DigitalChannel.class, "touch");
            
            // Wait for the play button to be pressed
            waitForStart();
            
                // change LED mode from input to output
                redLED.setMode(DigitalChannel.Mode.OUTPUT);
                greenLED.setMode(DigitalChannel.Mode.OUTPUT);
    
            // Loop while the Op Mode is running
                while (opModeIsActive()) {
                    if (touch.getState()){
                    //Touch Sensor is not pressed 
                        greenLED.setState(false);
                        redLED.setState(true);
                    
                    } else {
                        //Touch Sensor is pressed
                        redLED.setState(false);
                        greenLED.setState(true);
                }
            
            }
        }
    }

    mA

    Measurement Range

    5

    -

    200

    cm

    Measurement Resolution

    -

    1

    -

    mm

    Field of View

    -

    25

    -

    degrees

    Max. Bus Frequency

    -

    -

    400

    kHz

    Cable

    Output Connector

    Intended System

    Output Signals

    REV-11-1275arrow-up-right

    6-Pin JST PH

    SPARK MAX Brushed Motor Mode

    A, B, I, ABS

    REV-11-1817arrow-up-right

    3-pin 0.1" Connector (PWM/Dupont) (4x)

    roboRIO DIO

    A, B, I, ABS

    REV-31-1815arrow-up-right

    4-Pin JST PH

    Control/Expansion Hub Encoder Port

    A, B

    Alternate Encoder Mode bring up in the SPARK MAX documentationarrow-up-right
    AM14U KOP Chassis – Encoder Installarrow-up-right
    AEAT-8800-Q24 Datasheetarrow-up-right

    Cable

    Output Connector

    Intended System

    Output Signals

    REV-11-1275arrow-up-right

    6-Pin JST PH

    SPARK MAX Brushed Motor Mode

    A, B, I, ABS

    REV-11-1817arrow-up-right

    3-pin 0.1" Connector (PWM/Dupont) (4x)

    roboRIO DIO

    A, B, I, ABS

    REV-31-1815arrow-up-right

    4-Pin JST PH

    Control/Expansion Hub Encoder Port

    A, B

    Alternate Encoder Mode bring up in the SPARK MAX documentationarrow-up-right
    AM14U KOP Chassis – Encoder Installarrow-up-right
    MPS MA600 Datasheetarrow-up-right

    V

    Maximum RPM

    -

    -

    10000

    RPM

    Counts per Rev.

    Index Pulse Frequency

    -

    1

    -

    Pulse per Rev.

    Index Pulse Width

    -

    0.04

    -

    Degree

    kHz

    Minimum Pulse (0°)

    -

    3.884

    -

    μs

    Maximum Pulse (360°)

    -

    998.06

    -

    μs

    Pulse Resolution

    -

    12

    -

    bit

    mm

    Side Trigger Distance †

    -

    5

    -

    mm

    Hysteresis

    -

    5

    -

    mm

    Included Magnet Strength

    -

    4300

    -

    G

    VINV_{IN}VIN​
    pinoutarrow-up-right
    Labviewarrow-up-right

    Target Reflectance

    Indoor

    Outdoor (overcast)

    White (88%)

    200 cm †

    80 cm

    Grey (17%)

    80 cm

    50 cm

    † Using long range API profile; default profile range is 120cm.

    proper library will need installationarrow-up-right
    REV-11-1729arrow-up-right
    Javaarrow-up-right
    C++arrow-up-right
    VL53L0X Datasheetarrow-up-right
    VL53L0X API and Documentationarrow-up-right

    0x39

    Sensor Part

    TMD37821

    Measurement Channels

    Red, Green, Blue, Alpha, and Proximity

    Parameter

    Min

    Typ

    Max

    Units

    Operating Voltage Range

    -

    -

    3.3

    V

    Proximity Sensor Range

    5

    -

    25

    TMD37821 Datasheetarrow-up-right

    cm

    package org.firstinspires.ftc.teamcode;
     
    import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
    import com.qualcomm.robotcore.hardware.DcMotor;
    import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit;
    import com.qualcomm.robotcore.hardware.DistanceSensor;
    import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
     
    @TeleOp
    public class DistanceTest extends LinearOpMode {
        DistanceSensor test_distance;
        DcMotor test_motor;
        
        @Override
        public void runOpMode() {
            // Get the distance sensor and motor from hardwareMap
            test_distance = hardwareMap.get(DistanceSensor.class, "test_distance");
            test_motor = hardwareMap.get(DcMotor.class, "test_motor");
            
            // Loop while the Op Mode is running
            waitForStart();
            while (opModeIsActive()) {
                // If the distance in centimeters is less than 10, set the power to 0.3
                if (test_distance.getDistance(DistanceUnit.CM) < 10) {
                    test_motor.setPower(0.3);
                } else {  // Otherwise, stop the motor
                    test_motor.setPower(0);
                }
            }
        }
    }
    package org.firstinspires.ftc.teamcode;
     
    import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
    import com.qualcomm.robotcore.hardware.ColorSensor;
    import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
     
    @TeleOp
    public class TestColorSensor extends LinearOpMode {
        // Define a variable for our color sensor
        ColorSensor color;
        
        @Override
        public void runOpMode() {
            // Get the color sensor from hardwareMap
            color = hardwareMap.get(ColorSensor.class, "Color");
            
            // Wait for the Play button to be pressed
            waitForStart();
     
            // While the Op Mode is running, update the telemetry values.
            while (opModeIsActive()) {
                telemetry.addData("Red", color.red());
                telemetry.addData("Green", color.green());
                telemetry.addData("Blue", color.blue());
                telemetry.update();
            }
        }
    }
    Broadcom AEAT-8800
    1/2" Hex (default)
  • 3/8" Hex

  • 5mm Hex

  • 1/4" Round

  • 1

    JST-PH 6-pin to JST-PH 6-pin Cable

    1

    JST-PH 6-pin to 4 x 3-pin 0.1" (PWM/Dupont) Cable

    1

    JST-PH 6-pin to JST-PH 4-pin Cable

    1

    Part Number

    Description

    Qty

    REV-11-1271arrow-up-right

    Through Bore Encoder

    1

    -

    3/8" Hex Insert

    1

    -

    5mm Hex Insert

    1

    -

    1/4" Round Insert

    Step 8

    Next place the output shaft gear in position. Make sure to align the slot in the gear with the tab on the servo.

    Step 9

    Once the output shaft is in place correctly, it should be seated securely but not touching any other gears.

    Step 10

    Place the final gear on the middle shaft. It should first mesh with the output shaft on its lower set of teeth, and then its upper teeth will mesh with the gear on the right shaft.

    Step 11

    Finally, reattach the top plastic cover, making sure to place it directly down on top of the gears so that they don’t become misaligned. Reattach the 4 screws and the servo is ready to operate.

    Step 1

    Remove the four screws that hold the upper casing.

    Step 2

    Remove the upper casing. Orient the servo so that the servo wire is to the left-hand side.

    Step 3

    Remove the the reduction and output gears. The last silver gear is removed with the axle as one unit.

    Step 4

    Remove the axle pin from the silver gear and replace gear if necessary. Note: replacement gears are shipped un-greased. Please grease all replacement gears before installing.

    Step 5

    Attach silver gear to the axle pin.

    Step 6

    Place the new silver gear onto the servo unit making sure contact with the servo motor's output shaft first, then slide the axle into the axle opening.

    Step 7

    Place the second gear in place. Make sure the lower level of teeth on this gear mesh with the upper level of teeth on the silver gear.

    REV-41-1097arrow-up-right
    REV-41-1168arrow-up-right

    R1 Button/Right Bumper

    8

    Options

    9

    Action Buttons - Triangle, Circle, Cross, Square

    10

    Right Joystick/R3

    11

    R2/Right Trigger

    12

    M1 Programmable Button (Defaults to Circle)

    13

    Gamepad Reset

    14

    Programming Button

    15

    M2 Programmable Button (Defaults to Cross)

    16

    L2/Left Trigger

    17

    Indicator Light

    Enhanced rumble/vibration
  • 3.5mm stereo headphone jack

  • RGB Color LED for programmable indication

  • 1

    L1 Button / Left Bumper

    2

    Share

    3

    Directions/D-pad

    4

    Left Joystick/L3

    5

    Home/PS Button

    6

    Pad Button

    Button layout for the front of the gamepad
    Button layout for the back of the gamepad

    7

    Sensor Part

    TMD37821

    Measurement Channels

    Red, Green, Blue, Alpha, and Proximity

    hashtag
    Electrical Specifications

    Parameter

    Min

    Typ

    Max

    Units

    Operating Voltage Range

    -

    -

    3.3

    V

    Proximity Sensor Range

    5

    -

    25

    hashtag
    Mechanical Drawings

    circle-info

    All dimensions are in millimetres.

    hashtag
    Pinout

    hashtag
    Application Examples

    hashtag
    Application Information

    The REV Robotics Color Sensor has two sensing elements, proximity and color.

    Proximity measurements are based on IR reflectance and can vary depending on lighting conditions and target reflectivity.

    Color measurements consist of Red, Green, Blue, and Alpha (clear) values. The white LED on the sensor has a slide switch to turn the LED on or off. Unlit targets are best illuminated with the build-in LED while bright or light-emitting targets may not require the build-in LED. Color data is best collected within 2cm of the target for the strongest color differentiation.

    hashtag
    FTC Application

    hashtag
    Configuring for the Control System

    When working with the Color Sensor V2 configure your robot to use the "REV Color/Range Sensor" as shown in the image below.

    In this example, the Color Sensor V2 is configured on I2C bus 2. The Color Sensor V2 can be configured on any of the I2C busses.

    circle-info

    Recall that I2C sensors must have different addresses in order to operate on the same bus.

    hashtag
    Programming Example

    This program shows the values from the Color Sensor on your phone. Your team will need to figure out the logic to use this information in your program. Below there are three examples of different color modes and their readings. Light Detected mode will read the amount of light on the sensor from 0-1.0. Because the sensor is close to a surface, the LED in the sensor reads 1.0 in the examples.

    circle-info

    The code assumes that the Color Sensor was configured with the name “Color.”

    hashtag
    Additional Resources

    Additional information about the TMD37821, its capabilities, and its features can be found in the following datasheet:

    • TMD37821 Datasheetarrow-up-right

    Parameter Description

    Parameter

    Sensor Type

    I2C

    I2C Address

    0x39

    13.5V

    Absolute Input Voltage ††

    5.2V

    -

    25V

    Power Input

    -

    XT30 Connector, Male

    -

    PWM Input

    -

    3-pin 0.1in pitch connector

    -

    LED Strip Adapter

    -

    7-pin JST PH connector

    -

    12V LED Output Current ‡

    -

    -

    12A

    5V LED Output Current ‡‡

    -

    -

    5A

    †

    Minimum start-up operation for the 5V LEDs is 7V.

    12V LEDs output is driven directly off this input voltage therefore lower or significantly higher input voltage may not allow for proper operation and may result in damage.

    ††

    Recommended input operating voltage is from 5.5V to 13.5V. Absolute input voltage range is 5.2V- 25V—use caution before exceeding the recommended input range to prevent damage.

    ‡

    Maximum of 12A output. Supports a maximum of 300 LEDs in series, or up to two strings of 300 in parallel.

    • Equivalent to 10m of LEDs on 60 LED/m strips.

    ‡‡

    Maximum of 5A output. Supports up to 240 LEDs for more patterns and brightness.

    • Equivalent to 4m of LEDs on 60LED/m strips.

    hashtag
    Supported LED Strip Types

    The Blinkin can control either 12V RGB LEDs or 5V Addressable LED strips.

    12V RGB LEDs

    These LEDs are all connected together so the strip will always be all the same solid color, but this kind of LED strip is generally cheaper than the 5V kind. Blinkin is designed for 12V Common Anode LEDs such as . These strips have a four-wire interface and can be cut to length every three LEDs.

    5V Addressable LEDs

    Blinkin can control the WS2812 5V individually addressable LED type strips such as . This kind of strip is more expensive than the 12V type, but each individual LED can be a different color and brightness to create very colorful animations. These strips have a 3-wire interface and can be cut to length between each LED.

    hashtag
    Mechanical Drawing

    Parameter

    Min

    Typ

    Max

    Recommended Operating Voltage †

    5.5V

    12V

    For information on the different patterns visit the LED Pattern Tables.
    circle-info

    In Java the Blinkin LED pattern is assigned by using the CONSTANT_CASE naming convention. For instance, if you would like to utilize the Custom Color Pattern, Color Gradient the constant variable name is:

    CP1_2_COLOR_GRADIENT

    package org.firstinspires.ftc.teamcode;
    
    import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
    import
    

    hashtag
    Stand-Alone Wiring

    The Blinkin can run in a stand-alone operation mode when there is no way to generate a PWM signal, or a single output pattern is all that is needed. In this mode the Blinkin will be operating in Normal Mode with no input signal (blue blinking LED) and will default to the programmed no input signal pattern (factory setting is pattern 29 – Color Waves, Party Palette).

    The currently displayed pattern can be changed at any time by pressing the up and down buttons to scroll through the pattern list. Unless a new default no signal test pattern is saved in memory by completing the setup mode process, the Blinkin will default back to the last saved pattern after a power cycle.

    1. Connect to a 12V power source which can supply up to 5amps.

    2. Select either a 12V or 5V LED strip.

    3. Follow through Setup and Configuration to program to a default pattern.

    hashtag
    Competition Robotics Application Ideas

    Adding LEDs to your robot (or other project) can do more than just make them look cool, you can use LEDs to provide critical visual feedback. Here are some examples:

    • Program a controller button to change the LED output pattern (e.g. 85 – Solid Yellow) and the drive can use the LEDs to communicate to the human player at a portal station across the field that the robot is ready to receive a game object.

    • If the driver has poor visibility to see if the robot has acquired a game object, add a sensor to the intake and the LED strip can be programmed to automatically display a new pattern when the object is acquired. The driver never has to take their eyes off the robot to check the dashboard because the robot will clearly display its status.

    • Using the match time value available in software, the LEDs can be changes to a time warning pattern (e.g. – Solid Red) with X seconds left in a match.

    • The robot can display a different pattern when enabled vs disabled which provides a more visible indicator of the state of the robot than the RSL.

    Default Operation

    The default range for the SRS is 270°. This range is mapped to an input pulse range of 500μs to 2500μs with 1500μs as the center point. The image below describes the pulse-to-angle relationship.

    hashtag
    Continuous Rotation

    The SRS can be configured with the SRS Programmer to operate in a continuous rotation mode. In this mode, the same input pulse range is mapped to direction and speed. The table below lists the pulse mapping for direction and speed.

    hashtag
    Switching Modes

    Follow the steps below to switch a REV Smart Robot Servo between Continuous Mode and Servo Mode. The figure below shows the process to select Continuous Mode.

    1. Connect the SRS to the programmer.

    2. Turn on the programmer.

    3. Slide the mode switch to the desired mode: C - Continuous, S - Servo.

    4. Press and release the PROGRAM button once.

    5. The PROGRAM LED should blink and then stay solid indicating success.

    hashtag
    Angular Limits

    The SRS can be easily configured with the SRS Programmer to limit right and left motion at two user-defined angles. Input pulses that occur past the limits will be ignored and the SRS will hold the limit angle. Any two angles can be set as limits as long as the left limit is left of the center dead band and the right limit is to the right of the center dead band. The table below shows the valid regions for left and right limits.

    Once valid limits are programmed, the SRS will ignore any pulses that exceed the limits and hold the limit angle. For example, the image below exhibits what would happen a left limit of -30° and a right limit of +60° was set.

    hashtag
    Setting Angular Limits

    Follow the steps below to set the angular limits for the Servo Mode. The figure below shows an example of setting a left and right limits at -54° and +81° respectively.

    Start with the SRS already configured in Servo Mode, see section Switching Modes for instructions.

    1. Connect the SRS to the programmer.

    2. Turn on the programmer.

    3. Slide the mode switch to S position.

    4. This step is optional, but recommended to make it easier to see the valid limit ranges. Please refer to the SRS User's Manual for more information about the valid limit ranges.

      1. Press and release the TEST button twice to enter Manual Test Mode (see for more information).

      2. Press the PROGRAM button to center the servo at 0°.

      3. Press and release the TEST button once to leave the test mode.

    5. Manually rotate the servo to the desired left limit position.

    6. Press and release the LEFT button. The LEFT LED will illuminate if the position is valid.

    7. Manually rotate the servo to the desired right limit position.

    8. Press and release the RIGHT button. The RIGHT LED will illuminate if the position is valid.

    9. After both limits are set, press and release the PROGRAM button. The PROGRAM LED should blink and then stay solid indicating success.

    hashtag
    Resetting to Default

    Follow the steps below to reset the Smart Robot Servo to its default mode and limits. The figure below shows the process to reset to defaults.

    1. Connect SRS to the programmer.

    2. Turn on the programmer.

    3. Slide the mode switch to S position.

    4. Press and hold the PROGRAM button for at least 5 seconds.

    5. The LEDs will blink and then the PROGRAM LED will stay solid indicating success.

    hashtag
    Test Modes

    In either Continuous or Servo Modes, pressing and releasing the TEST button cycles through the two test modes:

    • 1st press - Automatic Sweep Mode

    • 2nd press - Manual Test Mode

    • 3rd press - Return to default state

    The section below will cover the two different test modes.

    In Automatic Sweep Mode, the SRS Programmer will automatically sweep the SRS through motions appropriate for its configuration. the table below describes the behavior based on the configured mode.

    Servo and Programmer Mode

    Behavior

    Continuous Mode (C)

    Sweeping direction and speed

    Servo Mode (S)

    Sweeping between limits

    In Manual Test Mode the LEFT, PROGRAM, and RIGHT buttons control the movement of the SRS. The table below describes how the SRS will behave based on the configured mode.

    hashtag
    Power-off Reminder

    If the SRS Programmer is left on for an extended period of inactivity, it will blink every LED as a reminder to shut off power.

    hashtag
    How to Video

    REV SRS Programmer
    REV Smart Robot Servo
    hashtag
    Features
    • #6 Screw Mounting Holes

    • Six High-Power 6V DC Output for Servos

    • Status LED for each Channel

    • 6V Power LED Indicator

    • Integrated DC-DC Converter

    • Over-Current Shutdown

    • ESD Protection

    • 12V Power Input

    hashtag
    Over-Current Shutdown

    If the Servo Power Module detects a total output current larger than 15A it will enter a shutdown mode where the 6V output is disabled until the over-current condition has remedied. While in shutdown the blue power LED will turn off, dim, or flicker indicating the over-current condition is still present. In the case of frequent over-current shutdowns, ensure that the total stall current of all connected servos does not exceed 15A.

    hashtag
    Specifications

    Parameter

    Value and Units

    Nominal Input Voltage

    12V

    Operating Voltage Range

    7.0-20V

    Minimum Startup Voltage

    9.0V

    Output Voltage

    6V

    Number of Channels

    6

    Max. Total Output Current (across all Channels)

    15A

    †

    Updated August 2024 to include clarifications for using the Servo Power Module with newer, more powerful servos that have stall currents greater than what the hardware of the port is rated for. Please see our section for more information.

    hashtag
    About the Max. Current Specifications

    Due to the shared power architecture of the six output ports, if a single connected servo draws larger than its expected power, the internal regulator will provide up 15A before going into a limiting over-current mode. While the regulator is designed to provide 15 A of current, the 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 Power Module and the servo it is driving.

    Additionally, as technology has advanced and become more accessible, teams have started using more powerful servos- many having 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.

    circle-check

    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
    Electrical Connections

    The Servo Power Module has two screw terminals for 12V power input. It is recommended to use ring or fork terminals designed for #6 or M3 screw terminals. Using an appropriate wire gauge, 18 AWG or larger, tightly crimp either a ring or fork terminal on the wire. Insert the crimped terminal into the screw terminal and tighten the screw. The input and output channels accept standard 3-wire 0.1” pitch servo/PWM cables. Please refer to the figure below or the case markings for proper orientation.

    hashtag
    Status LEDs

    Each channel has a corresponding status LED that will indicate the sensed state of the connected PWM signal. The table below describes each state’s corresponding LED pattern.

    State
    Pattern

    No Signal

    Blinking Amber

    Left/Reverse Signal

    Solid Red

    Center/Neutral Signal

    Solid Amber

    Right/Forward Signal

    Solid Green

    2m Distance Sensorarrow-up-right
    Latest REVLib Installation Informationarrow-up-right
    Online REVLib Java Documentationarrow-up-right
    Online REVLib C++ Documentation arrow-up-right
    C++ Examplesarrow-up-right
    Java Examplesarrow-up-right
    LabVIEW Examplesarrow-up-right
    APDS-9151 Datasheetarrow-up-right
    Example Blocks Code for the Color Sensor

    Specifications

    hashtag
    General Specifications

    Parameter

    Value and Units

    Sensor Type

    Digital, Encoder

    Connector

    hashtag
    Electrical Specifications

    hashtag
    Incremental Output

    hashtag
    Absolute Pulse Output (Duty Cycle)

    hashtag
    Mechanical Drawings

    hashtag
    Pinout

    circle-info

    With the switch in the S position, the SSI pins on the AEAT-8800 Magnetic Encoder are exposed on the 6-pin JST PH connector instead of the quadrature and absolute signals (A, B, I, Abs.). Details about the SSI protocol for the sensor can be found in the

    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!

    Blinkin Troubleshooting

    hashtag
    Status LED Patterns

    LED Status
    LED Description
    Blinkin Status
    package org.firstinspires.ftc.teamcode;
     
    import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
    import com.qualcomm.robotcore.hardware.ColorSensor;
    import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
     
    @TeleOp
    public class TestColorSensor extends LinearOpMode {
        // Define a variable for our color sensor
        ColorSensor color;
        
        @Override
        public void runOpMode() {
            // Get the color sensor from hardwareMap
            color = hardwareMap.get(ColorSensor.class, "Color");
            
            // Wait for the Play button to be pressed
            waitForStart();
     
            // While the Op Mode is running, update the telemetry values.
            while (opModeIsActive()) {
                telemetry.addData("Red", color.red());
                telemetry.addData("Green", color.green());
                telemetry.addData("Blue", color.blue());
                telemetry.update();
            }
        }
    }
    @TeleOp
    public class ColorSensorTest extends LinearOpMode {
        private NormalizedColorSensor test_color;
        
        @Override
        public void runOpMode() {
            test_color = hardwareMap.get(NormalizedColorSensor.class, "test_color");
    
            waitForStart();
    
            while (opModeIsActive()) {
                telemetry.addData("Light Detected", ((OpticalDistanceSensor) test_color).getLightDetected());
                NormalizedRGBA colors = test_color.getNormalizedColors();
        
        //Determining the amount of red, green, and blue
                telemetry.addData("Red", "%.3f", colors.red);
                telemetry.addData("Green", "%.3f", colors.green);
                telemetry.addData("Blue", "%.3f", colors.blue);
                telemetry.update();
            }
        }
    }
    
    REV-11-1275arrow-up-right
    REV-11-1817arrow-up-right
    REV-31-1815arrow-up-right

    cm

    REV-11-1197arrow-up-right
    REV-11-1198arrow-up-right

    Max. Total Output Current Per Channel †

    3A

    Max. Total Output Power

    90W

    Size

    3.6" x 1.52" x 0.81"

    Weight

    2.0oz/57g

    about the Max. Current Specifications
    Actual Cartridge Gear Ratios Tablearrow-up-right
    Actual Cartridge Gear Ratios Tablearrow-up-right

    Maximum RPM

    -

    -

    10000

    RPM

    Index Pulse Frequency

    -

    1

    -

    Pulse per Rev.

    Index Pulse Width

    -

    90

    -

    °e

    Minimum Pulse (0°)

    -

    1

    -

    μs

    Maximum Pulse (360°)

    -

    1024

    -

    μs

    Pulse Resolution

    -

    10

    -

    bit

    JST-PH 6-pin

    Mounting Holes

    #10 Clearance

    Parameter

    Min

    Typ

    Max

    Units

    Input Voltage

    3.3

    -

    5.0

    V

    Logic Level

    -

    3.3

    5.0

    Parameter

    Min

    Typ

    Max

    Units

    Quadrature Resolution

    -

    2048

    -

    Cycles per Rev.

    -

    8192

    -

    Parameter

    Min

    Typ

    Max

    Units

    Period

    -

    1025

    -

    μs

    Frequency

    -

    975.6

    -

    AEAT-8800 datasheetarrow-up-right

    V

    Counts per Rev.

    Hz

    com.qualcomm.hardware.rev.RevBlinkinLedDriver;
    import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
    import com.qualcomm.robotcore.util.ElapsedTime;
    @TeleOp
    public class BlinkInTest extends LinearOpMode {
    RevBlinkinLedDriver blinkinLedDriver;
    RevBlinkinLedDriver.BlinkinPattern pattern;
    @Override
    public void runOpMode() {
    blinkinLedDriver = hardwareMap.get(RevBlinkinLedDriver.class, "blinkin");
    waitForStart();
    while (opModeIsActive()) {
    if(gamepad1.x){
    pattern = RevBlinkinLedDriver.BlinkinPattern.BLUE;
    blinkinLedDriver.setPattern(pattern);
    }
    else if(gamepad1.y){
    pattern = RevBlinkinLedDriver.BlinkinPattern.ORANGE;
    blinkinLedDriver.setPattern(pattern);
    }
    else if (gamepad1.b){
    pattern = RevBlinkinLedDriver.BlinkinPattern.WHITE;
    blinkinLedDriver.setPattern(pattern);
    }
    else if (gamepad1.a){
    pattern = RevBlinkinLedDriver.BlinkinPattern.VIOLET;
    blinkinLedDriver.setPattern(pattern);
    }
    else{
    pattern = RevBlinkinLedDriver.BlinkinPattern.BEATS_PER_MINUTE_FOREST_PALETTE;
    blinkinLedDriver.setPattern(pattern);
    }
    }
    }
    }
    hashtag
    Features
    • Connectivity

      • USB

      • RS485

      • CAN

    • Advanced Servo Channels

      • Status LED indicates PWM signal status and faults

      • Individual channel current measurement†

    • Configurable output voltage††

    • Over-current protection

    • Reverse polarity protection

    • ESD protection

    †

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

    ††

    Features available after future software updates.

    hashtag
    Main Electrical Specifications

    Parameter
    Min
    Typ
    Max
    Units

    Operating Voltage Range

    7

    -

    15

    V

    Output Voltage

    0.5

    -

    7.4

    V

    †

    Please see the notes for more information.

    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

    Number of Servo Channels

    -

    6

    -

    -

    Length

    -

    85.7 (3.374)

    -

    mm(in)

    Status - Solid Blue

    Normal Operation, PWM Signal Detected

    Status - Blinking Blue

    Normal Operation, No PWM Signal Detected

    Status - Solid Yellow

    Setup Mode, PWM Signal Detected

    Status - Blinking Yellow

    Setup Mode, No PWM Signal Detected

    Status - Solid Blue with Magenta Blink †

    Command Signal Detected

    12V Output - Solid Blue ††

    12V LED Strip Selected

    5V Output - Solid Blue ††

    5V Addressable LED Strip Selected

    †

    With some commands, the Magenta Blink may last until the next LED Pattern Command Signal has been received

    ††

    If the 12V Output and 5V Output LEDs are on at the same time, please proceed to completing a

    hashtag
    General Troubleshooting

    hashtag
    LEDs near the end of a strip are dimmer, off color, or behaving erratically.

    Possible Cause: LEDs are exceeding Blinkin current supply.

    Solution: Turn down the strip brightness, shorten the strip, or use a pattern with less LEDs lit at the same time.

    Possible Cause: There is too much voltage drop over the length of the strip so LEDs near the end don’t have enough voltage to operate properly.

    Solution: Shorten the LED strip or if more LEDs are needed shorten the strip and run the remaining strip in parallel to the other strip

    hashtag
    Programmed pattern changing on robot start up/temporary power loss

    Possible Cause: A spurious pulse when some robots start up or shut down matching a command code used when factory testing the Blinkin.

    Solution:

    1. Send the pulse (listed below) for the necessary strip type. The Status LED should turn to solid magenta and the Strip Select LED will remain the same as it was before the command was sent.

      • 5V Strip = 2125 μs

      • 12V Strip = 2145 μs

    2. Send the pulse for a pattern different than the pattern that the Blinkin was originally displaying. At this time the LEDs should change to the new strip and be set with the pattern you chose. The Status LED will go back to solid blue and the Strip Select LED will switch to the strip type you selected in Step 1.

    3. Send the pulse for the original desired pattern to your Blinkin.

    circle-check

    We recommend having a button programmed on your controller to reset the pattern in the case of a temporary power loss.

    hashtag
    Unable to Control via PWM

    If a Blinkin LED Driver is able to run the pre-installed light sequences and is unable to be controlled via a standard PWM Signal, like those that control a Servo Motor, make sure the Blinkin and your Control Hub or roboRIO both share a power source or have a shared electrical ground. Most of the time, fixing the power input for your Blinkin will resolve this issue!

    hashtag
    Factory Reset

    The Blinkin can store custom user settings in its Memory so that they persist through power cycles. To restore the Blinkin to factory default settings using the following procedure:

    circle-exclamation

    A factory reset will cause your Blinkin to reload the default values will into its permanent memory. All current settings will be deleted.

    1. Power off the Blinkin

    2. Press and hold the Mode and Strip Select buttons

    1. Power on the Blinkin

    1. Wait for ~2 Seconds

    2. Release the Mode and Strip Select buttons

    Test Modes

    Assembly Instructions

    The REV Robotics UltraPlanetary standard configuration comes with the gearbox deconstructed allowing for the user to modify the total reduction needed for the application. Each cartridge is pre-assembled and lubricated allowing for easier customization. Below are steps for assembling a three stage, nominally 54:1 reduction, gearbox. For specifics on final gear reductions are in Cartridge Details.

    hashtag
    Hardware Kit Information

    The UltraPlanetary Hardware Kit comes with four different lengths of M3 socket head bolts and one length M3 button head bolts for assembling the gearbox. Different lengths of socket head bolts are needed to complete the assembly depending on the number of cartridges chosen. See the table below for more information.

    circle-info

    The M3x6mm Set Screw is used to mount 5mm Hex Shaft in the Female Output. This is not needed if a wheel, gear, sprocket, or pulley is face-mounted to the output.

    hashtag
    Greasing Guide

    UltraPlanetary Gearbox Cartridges are pre-lubricated and sealed. If during maintenance you find that a cartridge needs more grease, we recommend using a Molybdenum Grease to apply more lubrication such as or .

    hashtag
    Assembly Instructions

    circle-check

    Choose which configuration you plan to assemble from the tabs below.

    hashtag
    Output Mounting Options

    The Output Cartridge of the UltraPlanetary Gearbox allows for two different methods of powering motion by either attaching any length of 5mm hex shaft or attaching a sprocket, gear, pulley, or wheel to the motion pattern on the Output Cartridge. For adding a shaft on the UltraPlanetary Gearbox just loosen the set screw, slide in a hex shaft, and tighten the set screw.

    REV wheels, sprockets, and gears all have the motion pattern on them. To attach a REV wheel, sprocket, or gear, line up the motion profile and add M3 hardware to bolt it into place.

    circle-exclamation

    When attaching Motion Components directly to UltraPlanetary Output do not insert the M3 set screw into the Female 5mm Hex Output.

    Smart Robot Servo V1

    The REV Robotics Smart Robot Servo (SRS) (REV-41-1097arrow-up-right) is a configurable metal-geared servo that takes the guesswork out of aligning and adjusting servo based mechanisms. One SRS can be used as a standard angular servo, a custom angular servo, and a continuous rotation servo by simply changing its settings with the SRS Programmer.

    hashtag
    Smart Robot Servo Basics

    The Smart Robot Servo has a 25T output spline. A spline is a specific groove pattern cut into the shaft, which allows the rotation of the servo motor to be transmitted to the attached Aluminum Servo Horn (REV-41-1363arrow-up-right) or Servo Adapterarrow-up-right. Splines are like keys, so only matched types will fit together. If the internal gears or spline of the REV Robotics Smart Robot Servo become damaged, they are replaceable using a Replacement Gear Set ().

    hashtag
    Product Specifications

    The REV Robotics Smart Robot Servo includes the following features:

    • Default operation:

      • 270° motion over full input pulse range

    • Metal gears

    hashtag
    Mechanical Specifications

    hashtag
    Electrical Specifications

    hashtag
    Kit Contents

    The REV Robotics SRS comes with the following:

    • REV Smart Robot Servo

    • Servo horn (arm) assortment

    • Servo horn mounting hardware

    hashtag
    Operating Modes

    hashtag
    Default Operation

    Out of the box, the SRS operates as a 270° servo. However, the REV can reconfigure the SRS to set angular limits or switch it into a continuous rotation mode.

    circle-info

    For more information on how to use the SRS programmer to change the servo modes, see the section

    The default range for the SRS is 270°. This range is mapped to an input pulse range of 500μs to 2500μs with 1500μs as the center point. The image below describes the pulse-to-angle relationship.

    hashtag
    Continuous Rotation

    The SRS can be configured with the SRS Programmer to operate in a continuous rotation mode. In this mode, the same input pulse range is mapped to direction and speed. The table below lists the pulse mapping for direction and speed.

    hashtag
    Angular Limits

    The SRS can be easily configured with the SRS Programmer to limit right and left motion at two user-defined angles. Input pulses that occur past the limits will be ignored, and the SRS will hold the limit angle. Any two angles can be set as limits as long as the left limit is left of the center dead band and the right limit is to the right of the center dead band. The table below shows the valid regions for left and right limits.

    Once valid limits are programmed, the SRS will ignore any pulses that exceed the limits and hold the limit angle. For example, the image below exhibits what would happen a left limit of -30° and a right limit of +60° was set.

    hashtag
    Servo Accessories / Adapters

    REV Robotics Servo Adapters fit 25T spline servos like the REV Robotics Smart Robot Servo. In addition to the variety pack of generic servo horns that come with the Smart Robot Servo, there are five other custom servo adapters that make using servos with the REV ION Build System easy.

    Aluminum Servo Shaft Adapters () convert a 25T spline servo output shaft into a female 5mm hex socket. This adapter can be used to drive a hex shaft directly.

    Aluminum Servo Horns () have a tapped hole pattern that can be directly mounted to any of the REV Robotics gears, wheels, or sprockets with the Motion Pattern.

    Aluminum Double Servo Arms () have two tapped holes that can be directly mounted to any of the REV Robotics extrusion, channel, or brackets.

    Aluminum 1/2in Rounded Hex Servo Shaft () converts a servo to a 1/2in Hex shaft for use with all other ION mechanical system components.

    Plastic 1/2in Hex Linkage Arm () used to control a linkage, flap, lever or pushrod.

    Plastic Face Mount Bracket The ION Servo Face Mount Bracket () allows for easy integration of Servo Motors into the ION System.

    LED Pattern Tables

    hashtag
    LED Strip Pattern Table Spreadsheet

    file-pdf
    160KB
    REV-11-1105-LED-Patterns.pdf
    PDF
    arrow-up-right-from-squareOpen

    hashtag
    Blinkin Factory Default Values

    Blinkin Getting Started

    hashtag
    Connections

    Troubleshooting

    hashtag
    Troubleshooting Guide

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

    hashtag
    Power Issues

    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

    Variable

    Default Value

    Color 1

    Sky Blue – 0x0080FF

    Color 2

    Gold – 0xFFEA00

    Strip Length

    60 LEDs

    No Signal Pattern

    29 – Color Waves, Party Palette

    Strip Select

    5V

    Individually switchable channel output power†

    Max Total Output

    -

    -

    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)

    -

    -

    Width

    -

    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

    About the Max. Current Specifications
    Smart features
    • Programmable with REV SRS Programmer (REV-31-1108arrow-up-right)

    • Servo Limit Mode

      • Set right and left angular limits

      • SRS will not move past limits

    • Continuous Mode

      • SRS spins continuously

      • Speed and direction set by input pulse

    40.2mm x 20.0mm x 38.0mm

    Weight

    2.05oz.

    Input Pulse

    500

    1500

    2500

    μs

    Parameter

    Value and Units

    Stall torque (at 6V)

    13.5 kg-cm / 187.8 oz-in

    Speed (at 6V)

    0.13s/60º

    Maximum angular range

    270º

    Gear Material

    Brass

    Spline Type

    25T

    Parameter

    Min

    Typ

    Max

    Units

    Voltage Rating

    4.8

    6.0

    7.4

    V

    Stall Current (at 6V)

    -

    -

    2.0

    REV-41-1168arrow-up-right
    SRS Programmer
    Switching Operation Modes
    REV-41-1558arrow-up-right
    REV-41-1828arrow-up-right
    REV-41-1820arrow-up-right
    REV-21-2892arrow-up-right
    REV-21-2895arrow-up-right
    REV-21-2896arrow-up-right

    Dimensions

    A

    Take the UltraPlanetary Mounting Plate and press it against the motor with pinion.

    Take the two M3 x 8mm Button head screws and insert them into the mounting plate. Tighten the mounting plate to the motor. Note: Using any other screws then the M3 x 8mm Button head screws may lead to issues with your gearbox.

    Take your gear Cartridge and place it onto the input pinon.

    Note: Placing a finger on the output of the Cartridge helps for placement.

    Take the Output Cartridge and place it onto the output of the gear Cartridge.

    Note: Placing a finger on the output of the Cartridge helps for placement.

    Take 6 of the M3 x 20mm screws and insert them into the outer recessed ring of the UltraPlanetary Gearbox. Evenly tighten them in a star-pattern until they are hand tight. Note: Take care not to over tighten the gearbox housing screws. Hand tight is enough to keep the gearbox assembled.

    UltraPlanetary Gearbox assembly is complete and ready for mounting and shaft selection.

    Note: If using a 5mm Hex Shaft an M3 Set Screw is recommended to secure the hex shaft in the output.

    Take the UltraPlanetary Mounting Plate and press it against the motor with pinion.

    Take the two M3 x 8mm Button head screws and insert them into the mounting plate. Tighten the mounting plate to the motor. Note: Using any other screws then the M3 x 8mm Button head screws may lead to issues with your gearbox.

    Take the higher gear ratio of the two gear Cartridges and place it onto the input pinon.

    Note: Placing a finger on the output of the Cartridge helps for placement.

    Repeat the above step with the second gear Cartridge and place it onto the output of the previous cartridge.

    Note: Placing a finger on the output of the Cartridge helps for placement.

    Take the Output Cartridge and place it onto the output of the second gear Cartridge.

    Note: Placing a finger on the output of the Cartridge helps for placement.

    Take 6 of the M3 x 30mm screws and insert them into the outer recessed ring of the UltraPlanetary Gearbox. Evenly tighten them in a star-pattern until they are hand tight. Note: Take care not to over tighten the gearbox housing screws. Hand tight is enough to keep the gearbox assembled.

    Take the UltraPlanetary Mounting Plate and press it against the motor with pinion.

    Take the two M3 x 8mm Button head screws and insert them into the mounting plate. Tighten the mounting plate to the motor. Note: Using any other screws then the M3 x 8mm Button head screws may lead to issues with your gearbox.

    Take the highest gear ratio of the gear Cartridges and place it onto the input pinon.

    Note: Placing a finger on the output of the Cartridge helps for placement.

    Repeat the above step with the second highest ratio gear Cartridge and place it onto the output of the previous cartridge.

    Note: Placing a finger on the output of the Cartridge helps for placement.

    Repeat the above step with the third gear Cartridge and place it onto the output of the previous cartridge.

    Note: Placing a finger on the output of the Cartridge helps for placement.

    Take the Output Cartridge and place it onto the output of the last gear Cartridge.

    Note: Placing a finger on the output of the Cartridge helps for placement.

    Assembly Type

    Hardware Size

    Head Type

    550 Motor Plate (required for all configurations)

    M3x8mm

    Button

    Output Only

    M3x10mm

    Socket

    1 Cartridge and Output

    M3x20mm

    Socket

    2 Cartridges and Output

    M3x30mm

    Socket

    3 Cartridges and Output

    M3x40mm

    Socket

    5mm Hex Shaft Mounting

    M3x6mm

    Set

    Take the UltraPlanetary Mounting Plate and press it against the motor with pinion.

    Take the two M3 x 8mm Button head screws and insert them into the mounting plate. Tighten the mounting plate to the motor. Note: Using any other screws then the M3 x 8mm Button head screws may lead to issues with your gearbox.

    Take the Output Cartridge and place it onto the pinion.

    Take 6 of the M3 x 10mm screws and insert them into the outer recessed ring of the UltraPlanetary Gearbox. Evenly tighten them in a star-pattern until they are hand tight. Note: Take care not to over tighten the gearbox housing screws. Hand tight is enough to keep the gearbox assembled.

    UltraPlanetary Gearbox assembly is complete and ready for mounting and shaft selection.

    Note: If using a 5mm Hex Shaft an M3 Set Screw is recommended to secure the hex shaft in the output.

    Synthetic NLGI #2 Molybdenum Greasearrow-up-right
    MOLYKOTE® G-2008 Synthetic Tool Gear Greasearrow-up-right

    Connect to a 12V nominal battery or other equivalent power source.

    PWM Input

    Provide a standard servo-style PWM signal to control the LED output pattern/color.

    Status Indicator

    RGB LED mode indicator. See Setup and Configuration for colors and meanings.

    Setup and Adjustment

    Three potentiometers are used to set customer color palette colors and addressable strip length in set-up mode, and are used to adjust brightness and other pattern properties like speed and pattern density during normal operation

    5V/12V LED Indicators

    Indicate which kind of strip is currently selected as the output type

    LED Strip Connection

    Use the included JST PH, 7-pin to JST SM pigtail connector to connect to LED strip(s).

    hashtag
    Setup and Configuration

    1. Connect 12V power to the Blinkin using an XT30 Cable

    2. Select either a 12V or 5V Addressable LED strip and connect it to the 7-Pin JST PH Port using a Blinkin LED Cable Adapter (REV-11-1196)arrow-up-right

    3. If the LED output indicator for the 12V/5V strip which is connected is not lit, press and hold the Strip Select button until the corresponding strip indicator LED is lit. Your LED strip should now be displaying the default pattern (29 - Color Waves, Party Palette), or the user programmed default pattern.

    1. With no input PWM active (blue blinking Status LED), clicking (short press) the Up (Mode) and Down (Strip Select) buttons will change the pattern being displayed (See LED Pattern Tables). This pattern will reset to the default after a power cycle unless the default is changed using the setup mode.

    hashtag
    Setup Mode

    In addition to the pre-programmed fixed color palette patterns, the Blinkin can be customized to use user selected colors and strip length to create more unique look. These settings can be saved in to permanent memory so they persist through power cycles.

    hashtag
    Setup Mode Features

    • Addressable Strip Length - Up to 240 WS2812 LEDs

    • Team Colors - Select two of 22 different color options to represent your team

    • Default No Signal Pattern - Select which pattern is displayed with there is not PWM input

    hashtag
    Setup Mode Steps

    1. Power up the Blinkin as described in Getting Started. The LED strip selected cannot be changed during setup mode, so ensure that the desired strip is connected and running before continuing.

    1. To enter Setup Mode, press and hold the Mode button for ~6 seconds, the Status LED will change from blue to yellow. The LED strip will automatically display pattern 75 (Color 1 and Color 2: no blending) which uses Color 1 and Color 2 to aid in configuration.

    1. Use a small screwdriver, like the one included, to adjust the Color 1, Color 2, and Length potentiometers

      • Left: Color 1 – Primary Pattern Color

      • Middle: Color 2 – Secondary Pattern Color

      • Right: Addressable Strip Number of LEDs (1-240)

    1. With no input PWM signal (yellow blinking Status LED), select the default no signal pattern by clicking (short press) the Up (Mode) and Down (Strip Select) buttons until the desired pattern is displayed.

    circle-check

    Leave the displayed pattern on the test pattern (75) on exit to leave the default no signal pattern unchanged.

    hashtag
    Exiting Setup Mode

    • Save and Exit: Press and hold the Mode and Strip Select buttons for ~6 seconds. colors, strip length and new default no signal pattern values are permanently saved in EEPROM and will persist between power cycles.

    • Exit without Saving: press and hold the Mode button. Nothing is saved and Blinkin will return to its previously saved state after power cycle.

    circle-check

    The Status LED will return to blue when Setup Mode has been exited

    hashtag
    PWM Control

    The Blinkin can be controlled via software using a standard servo-style PWM signal. The Blinkin measures the width of the incoming pulse from the PWM signal, and then based on that value selects a pattern from a corresponding pattern table. Valid input pulse widths are from 1000us to 2000us.

    1.) Connect the Blinkin to a PWM control port on the robot controller, such as a Control Hub or roboRIO, using a standard PWM cable.

    2.) Using the programming language of your choice, generate a PWM signal.

    circle-info

    For use with the FRC Control System and WPILib, create a motor of type SPARK. (Other Motor and Servo types will work, but might change the values associated with specific patterns)

    3.) In your main robot code where motor (or servo) output power is normally updated, set your output power to the value corresponding to the pattern desired (see The LED Pattern Tables).

    hashtag
    Pattern Adjustments

    All of the LED strips and patterns can have their overall brightness adjusted and many of the patterns can be adjusted to change the pattern density and speed. The LED Pattern Table details what patterns have which adjustments.

    1. While your Blinkin is not in Setup Mode, select a pattern which is adjustable

    2. Use a small screwdriver, like the one included, to adjust the Adj. 1, Adj. 2, and Brightness potentiometers

    circle-info

    Generally, the three potentiometers will adjust the following during Normal Operation:

    • Adj. 1 - Pattern Density, Pattern Width, or Dimming

    • Adj. 2 - Speed

    • Brightness - Brightness of the whole LED Strip

    Mode/Up Button

    Switch between normal running mode and set-up mode.

    Strip Select/Down Button

    Switch which kind of LED strip is being controlled.

    XT30 Power Input

    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.

    : 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

    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.


    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

    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).

    hashtag
    Continuous Rotation Servos

    LED Status
    LED Description
    When
    Hub Status

    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).

    Factory Reset

    UltraPlanetary Gearbox assembly is complete and ready for mounting and shaft selection.

    Note: If using a 5mm Hex Shaft an M3 Set Screw is recommended to secure the hex shaft in the output.

    Take 6 of the M3 x 40mm screws and insert them into the outer recessed ring of the UltraPlanetary Gearbox. Evenly tighten them in a star-pattern until they are hand tight. Note: Take care not to over tighten the gearbox housing screws. Hand tight is enough to keep the gearbox assembled.

    UltraPlanetary Gearbox assembly is complete and ready for mounting and shaft selection.

    Note: If using a 5mm Hex Shaft an M3 Set Screw is recommended to secure the hex shaft in the output.

    Solid Cyan

    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.

    Green Solid

    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.

    Green Solid

    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.

    REV ION Application Examples

    hashtag
    Wiring with the FIRST Robotics Competition Control System

    The BLINKIN LED Driver comes with the 36” PWM Cable (REV-11-1130), that can be used to connect the BLINKIN to the NI roboRIO’s PWM ports for communication. To power the BLINKIN you need an XT30 Cable with one male connector and bare wire on the opposing end. Plug the male connector into the BLINKIN and the bare wire ends into the appropriate Power Distribution Hub channel.

    The BLINKIN is capable of driving either a 5V Addressable LED Strip (REV-11-1198) or a 12V RGB LED Strip (REV-11-1197). The image below shows how both types of LED strips connect to the BLINKIN using the BLINKIN LED Cable Adapter (REV-11-1105).

    circle-info

    Always be sure to read the relevant rules and use appropriate gauge wiring before using anything on your competition robot.

    After wiring your Blinkin into your robot, follow the and follow the instructions on as desired.

    hashtag
    FIRST Robotics Competition Programming Example

    In the FRC Control System, motor outputs range varies depending on which type of motor controller is initialized. The output pulse range is scaled from the user requested output power of -1 to 1 to the range defined for each type of Motor controller.

    The SPARK motor controller type output directly matches the input to the Blinkin, which makes the math to convert the -1 to 1 code range to the 1000-2000us Blinkin input range the simplest. Other control types, including servo, from the roboRIO can also be used, but the user will need to scale input range correctly to ensure they are sending only a valid PWM range and that they can select the desired LED pattern.

    As an example, referencing the includes an excerpt from the , and includes the correct SPARK motor output value for each pattern. The table below lists motor control values associated with specific patterns:

    hashtag
    Example Spark Control Values based on the LED Pattern Table

    hashtag
    Excerpt from the LED Pattern Tables

    hashtag
    Competition Robotics Application Ideas

    Adding LEDs to your robot (or other project) can do more than just make them look cool, you can use LEDs to provide critical visual feedback. Here are some examples:

    • Program a controller button to change the LED output pattern (e.g. 85 – Solid Yellow) and the drive can use the LEDs to communicate to the human player at a portal station across the field that the robot is ready to receive a game object.

    • If the driver has poor visibility to see if the robot has acquired a game object, add a sensor to the intake and the LED strip can be programmed to automatically display a new pattern when the object is acquired. The driver never has to take their eyes off the robot to check the dashboard because the robot will clearly display its status.

    • Using the match time value available in software, the LEDs can be changes to a time warning pattern (e.g. – Solid Red) with X seconds left in a match.

    2322

    Fixed Palette Pattern

    Rainbow, Ocean Palette

    ...

    1325

    -0.35

    Fixed Palette Pattern

    Larson Scanner, Red

    ...

    1515

    0.03

    Color 1 Pattern

    Heartbeat Slow

    1525

    0.05

    Color 1 Pattern

    Heartbeat Medium

    1535

    0.07

    Color 1 Pattern

    Heartbeat Fast

    ...

    1765

    0.53

    Color 1 and 2 Pattern

    Color Waves, Color 1 and 2

    1935

    0.87

    Solid Colors

    Blue

    1945

    0.89

    Solid Colors

    Blue Violet

    1955

    0.91

    Solid Colors

    Violet

  • The robot can display a different pattern when enabled vs disabled which provides a more visible indicator of the state of the robot than the RSL.

  • WPI Motor Control

    Open Type

    Minimum Pulse

    Width Output (us)

    Maximum Pulse

    Width Output (us)

    SPARK

    1000

    2000

    SRX

    997

    2004

    Talon SR

    989

    2037

    Jaguar

    LED Color/Pattern

    Motor Output Value

    Ocean Colored Rainbow

    -0.95

    Larson Scanner (Similar to a Cylon)

    -0.35

    Fast Heartbeat in User Selected Team Color 1

    0.07

    Solid Blue

    0.87

    Pulse Width

    (us)

    roboRIO SPARK

    Value

    Pattern Type

    Pattern/Palette

    1005

    -0.99

    Fixed Palette Pattern

    Rainbow, Rainbow Palette

    1015

    -0.97

    Fixed Palette Pattern

    Rainbow, Party Palette

    1025

    setup instructions
    PWM control
    Excerpt from the LED Pattern Tables
    LED Pattern Tables

    697

    -0.95

    Image of Blinkin LED Driver pointing to locations of buttons and ports listed in the table below
    Blocks
    OnBot Java
    Hello Robot - Blocks
    Hello Robot - OnBot Java