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.