BBR Button Board Documentation

BBR Button Board#

A button box you build out of tiles. One USB cable to the Driver Station.

The Button Board is a modular control panel for FIRST robotics. A main module plugs into the Driver Station laptop over USB and presents itself as a game controller. Everything a driver actually touches lives on tiles — nine-key keypads, single keys, arcade buttons, rotary encoders — daisy-chained off the main module on one four-wire cable.

  • Build the panel you want. Tiles chain in any order.
  • No code on the robot. The board is an ordinary game controller. Your OpMode or robot code reads buttons exactly the way it reads a gamepad.
  • Works with both Driver Stations. An FRC-friendly HID gamepad with 32 buttons, or an XInput gamepad for the FTC Driver Station — one setting, no hardware change.
  • Configured in the browser. Bind a key by pressing it. No firmware rebuild, no config file.
  • Keys that relabel themselves. A screen key has a colour display inside the cap, so one key can say INTAKE in one part of a match and CLIMB in another. A colour display tile shows the same kind of pictures beside the keys.
  • LEDs your robot drives. Keys on RGB tiles change colour with what the robot is doing. In FTC the OpMode does it directly: bind a rumble code to key colours in the config app, and one rumble() call recolours them, and switches a screen key’s legend at the same time. In FRC a companion app on the Driver Station laptop drives them.

How it fits together#

Driver Station laptop
        │  USB-C
   ┌────┴──────┐      RS-485, one cable per link
   │   main    ├──── tile ──── tile ──── tile
   │  module   │
   └───────────┘

The main module polls every tile in turn, collects which keys are down, and sends one USB report. From the Driver Station’s point of view there is a single game controller with 32 buttons on it.

Start here#

If you want to Read
Know what the parts are What you have
Put a panel together Plugging it together
Get buttons working First run
Decide which key does what Binding buttons
Light the panel from robot state Driver Station app
Change a legend or picture mid-match Display tiles and legends

The board is not a keyboard and does not run your robot code. Nothing on the robot has to change to use one. The exception is changing a screen key’s legend during a match, which needs a few lines in your OpMode — see Changing legends in a match.