Robot Best Practices
This article collects best practices for building a reliable FIRST Tech Challenge robot. Each section below covers a specific area of robot design and can be read independently.
Servo Power Usage Best Practices
There are many best practices that teams should keep in mind regarding servo usage.
Voltage Compatibility
Teams should be aware of the voltage requirements of their servos and ensure they are compatible with the power source. The REV Control Hub and the REV Expansion Hub both provide 5V to servos, while the goBILDA Servo Power Injector, REV Servo Power Module, Studica Servo Power Block, and REV Servo Hub all provide 6V.
Current Draw Limits
Each pair of servo ports on the REV Control Hub and REV Expansion Hub is limited to 2A. Additionally, the 6 servo ports and +5V auxiliary part have a maximum of 5A total. Therefore, it is recommended to only place servos on ODD or EVEN ports, and not both, which means only placing up to 3 servos on each Control or Expansion hub. Teams should also be mindful of the 20A fuse on the which limits the full electrical system.
Power Source
The power from each servo port is only for powering servos connected to that port. The Competition Manual prohibits teams from mixing power between devices.
See the Servos page for background on servo ports and power.
Power Management Best Practices
Given the extensive amount of motors and servos allowed on a ROBOT, teams are encouraged to consider the total power available from the ROBOT battery during the design and build of the ROBOT. Drawing large amounts of current from many motors and/or servos at the same time could lead to drops in ROBOT battery voltage that may result in exceeding the battery fuse limits or browning out the control system leading to power loss or communications loss. It is suggested that teams measure their power draw and ensure that they are staying below the 20A fuse limit. This is an incomplete list of devices and systems that can draw significant amounts of current from the ROBOT battery: - Flywheels - Servo Power Injectors - LED systems on a ROBOT - Cameras (It is recommended to only power 2 cameras directly off USB, and to use a powered USB hub)
See the Power Distribution page for background on power ports.
Robot Grounding Best Practices
The Competition Manual requires that the ROBOT frame be electrically isolated from all wiring and electrical devices. Compliance with this rule can be checked by unplugging the battery from the ROBOT main power switch assembly and using a multimeter to observe a >120Ω resistance between the (+ / red) input terminal of the ROBOT main power switch assembly in the “ON” position or the (- / black) input terminal of the ROBOT main power switch assembly and any electrically connected point on the ROBOT. Most aluminum has a clear anodizing layer or oxidation layer on it that acts as an insulator. In order to make a good electrical connection with the grounding strap to the frame, it may be necessary to scratch/file/remove the anodize/oxidation layer from the area of contact with the metal first. Note that some cameras, decorative lights, and sensors (some encoders, some IR sensors, etc.) have grounded enclosures or are manufactured with conductive plastics. These devices must be electrically isolated from the ROBOT frame to ensure compliance with this rule.
See Managing ESD Effects for more detail on grounding straps and electrostatic discharge mitigation.
Robot Controller Mounting Best Practices
Controlling your ROBOT requires that your ROBOT CONTROLLER and DRIVER STATION are able to talk to each other. Teams are strongly encouraged to mount their ROBOT CONTROLLER away from noise generating devices such as motors. Teams also avoid putting EMF shielding materials, like sheets of metal or carbon fiber, anywhere between the ROBOT CONTROLLER and DRIVER STATION. Refer to the specific documentation for your devices to determine where the WiFi radio is. The locations on the REV Control Hub and REV Expansion Hub are here.
Robot Wiring Best Practices
While the Competition Manual provides requirements for minimum wire size, those are the bare minimums and teams are strongly encouraged to use larger gauge wire to maximize performance and reduce voltage drop. It is also recommended to use copper wire, as it has better conductivity than aluminum wire.
See the Robot Wiring Guide for a full guide on wire management, strain relief, and connectors.
Control System Software Management Best Practices
The following table lists the recommended software versions for each core control electronics module, and a link on how to update this software. Note that some devices have multiple pieces of software that may need to be updated each season, and not all software is available prior to Kickoff each season.
Regardless of the versions selected, it is highly recommended that the installed ROBOT CONTROLLER App and DRIVER STATION App versions match major and minor values to ensure compatibility as not all software versions are compatible with each other.
Device |
Software and Minimum Recommended Versions |
How to Update |
|---|---|---|
REV Control Hub (REV-31-1595) |
Control Hub OS Recommended: 1.1.6 |
|
REV Control Hub (REV-31-1595) |
Hub Firmware Recommended: 1.8.2 |
|
REV Control Hub (REV-31-1595) |
ROBOT CONTROLLER App Recommended: 12.0 |
|
REV Expansion Hub (REV-31-1153) |
Hub Firmware Recommended: 1.8.2 |
|
Android Smartphone (ROBOT CONTROLLER device) |
ROBOT CONTROLLER App Recommended: 12.0 |
|
Android Smartphone (DRIVER STATION device) |
DRIVER STATION App Recommended: 12.0 |
|
REV Driver Hub (REV-31-1596) |
Driver Hub OS Recommended: 1.2.0 |
|
REV Driver Hub (REV-31-1596) |
DRIVER STATION App Recommended: 12.0 |
|
REV Servo Hub (REV-11-1855) |
REV Servo Hub Firmware Recommended: 25.0.2 |
Gamepad Best Practices
While there are no rules around which gamepads teams may use on their OPERATOR CONSOLE, not all gamepads are supported by the FTC Driver Station app. The following gamepads have custom drivers that are included in the FTC SDK and are known to work with the FTC Driver Station app:
Logitech F310
Xbox 360 Controller for Windows
Sony DualShock 4 Wireless Controller for PS4
Sony DualSense Wireless Controller for PS5
Etpark Wired Controller for PS4
REV Robotics USB PS4 Compatible Gamepad
Quadstick game controller in Xbox 360 Emulation Mode
Starting with FTC SDK version 12.0, the gamepad indicators on the top right of the Driver Station App will be orange if the assigned gamepad is not recognized and thus is using a built-in Android gamepad driver instead of a known FTC SDK gamepad driver. In this case, the built-in Android driver might work, but it’s possible the device input (button/stick) mappings might be incorrect. Teams are not allowed to modify the Driver Station app in any way, which includes adding custom drivers for gamepads. Teams are strongly encouraged to use the Test Gamepads Utility OpMode to verify that their gamepad is registering the inputs correctly.
It is recommended to add a ferrite cable clip close to the USB connector in order to reduce the amount of electrical noise. Teams are also encouraged to use a short USB extension cable on the DRIVER STATION to limit the amount of wear and tear on the USB ports from frequent plugging and unplugging of the gamepad. The extenders should always remain plugged into the DRIVER STATION and, with proper strain relief, can help protect the port from accidental damage.
Battery Mounting Best Practices
It is important to be thoughtful about how you mount your battery in your robot. A poor mounted battery is a safety hazard, and could cause your robot to lose power during a match.
Make sure that your battery is secure and won’t fall out of the robot. Some vendors, such as REV Robotics and goBILDA, sell batter holders designed to hold your battery in place. You can also use bungee, rubber bands, hook and loop tape (e.g., Velcro), or another type of strap to secure your battery.
You also need to mount your battery away from sharp points, such as screws, in order to avoid puncturing the battery insulation.
See the Robot Wiring Guide for related battery security guidance.
Smartphone Best Practices
While Android smartphones are not officially supported, some teams use them as a Robot Controller and/or Driver Station. See Android Smartphones for important information to be aware of when using a smartphone as a robot controller.