BBR Button Board Documentation

The config app#

Everything is configured in a browser at https://configure.buttonboard.buildingblockrobotics.com, with nothing to install. The page talks to the board directly over USB; your configuration never leaves the laptop.

Chrome or Edge, on a desktop. The app uses Web Serial, which Firefox, Safari and mobile browsers do not support. It has to be served over HTTPS or from localhost; opening the files directly with file:// will not work.

Press Connect and pick the board from the browser’s port list. The first time, the board has to be selected by hand.

Four screens#

Connect#

Board identity: product, firmware version, serial number, tile count, and whether the stored configuration is valid.

This is also where the USB personality is set — frc for the FRC Driver Station, xinput for FTC. The change is stored immediately but only takes effect on the next USB reset, so unplug and plug back in after switching.

Configure#

The panel as it physically is. The chain runs down the left; select a tile and it is drawn in its real layout, so you can click the key itself.

Selecting a key opens the inspector, which does three things: binds it to a logical button, adds it to a group with other keys, and sets its LED colour. See Binding buttons and LED colours.

Select a display tile and the inspector offers what that tile can do instead: text and a bar on the panel, a Picture to send or store, the tile’s Slots, and the Legend codes that let robot code switch between them. See Screen keys and legends.

Diagnose#

The state of the bus.

  • Tiles — every tile the board knows about, its kind, its firmware, whether it is online, and which keys are down right now.
  • Counters — checksum errors and missed replies per tile. Both should sit at zero; a tile that is steadily accumulating either has a cable problem.
  • Power — the LED power budget, the worst-case draw of the current panel, and the brightness that fits it.
  • Test — makes the board report button presses with no tile involved, for checking the Driver Station end on its own.

Firmware#

Updates for the tiles over the bus, and for the main module over USB. See Updating the firmware.

Saved versus not saved#

Changes take effect immediately — bind a key and it works on the next press — but they live in RAM until you press Save. The app shows when there are unsaved changes.

A power cycle discards unsaved changes and returns the board to its last saved configuration.

Without a board#

The config app runs against a built-in fake board with a few tiles on it, so the interface can be used with nothing plugged in.