BBR Button Board Documentation

LED colours#

Tiles with RGB keys — mx9rgb today — have one addressable LED under every key. There are two independent ways to drive them.

Two layers#

Defaults are part of your saved configuration. They are what the panel looks like when it powers up: a red key for the emergency stop, blue for the intake, dark for everything unbound. Set them in the config app’s Configure screen, and press Save.

The live layer is set at runtime, over USB, by a companion app on the Driver Station laptop. It is never saved. Use it to, for example, flash the arm button red while the arm is out of bounds, or light the scoring buttons only when the robot is in range.

In FTC mode there is no USB channel for a companion app, but the robot can still write the live layer: a rumble code can be set up to recolour keys. See Changing a key’s colour the same way.

The live layer wins wherever both are set, per LED. Clearing it returns every LED to the saved defaults. See Driver Station app for how to write to it.

Colours follow the button, not the key#

An LED colour set for a logical button moves with that button. Rebind Button 7 to a different key and its colour goes with it.

LEDs that are not under a bound key — edge glow, spare positions — are addressed by tile and LED number instead.

Effects#

Effect What it does
solid On, steady. The default.
blink Slow flash
fast Fast flash
breathe Smooth fade in and out

Once set, an effect keeps running without a companion app sending anything further.

Press feedback#

By default a key flashes white while it is held, over whatever colour it was showing. Where several keys share a button, this shows which one was pressed.

You can change the feedback colour, or turn it off per button.

Brightness and the power budget#

The whole panel runs off the USB cable, and the LEDs draw most of that power.

The main module adds up the worst-case draw of every tile on the chain and lowers the global brightness until the total fits the budget. Adding another lit tile dims the whole panel slightly.

The Diagnose → Power view shows all three numbers: the budget, the worst case, and the brightness actually in use. If you are running from a port that can supply more than the default, raise the budget there.

If a panel cannot fit even at minimum brightness, the board holds the LEDs off and raises a fault. The Power view says so.

Turning everything off#

There is a single “all LEDs off” command, and it takes priority over anything else in flight. Use it when a panel is doing something unexpected on a field.