Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Using the CLI

irbt finds the bridge by its USB ID (303A:1001). If several are connected, or auto-detection fails, pass --port <path> or set IRBT_PORT. irbt ports lists the detected bridges.

Every command accepts --json for machine-readable output.

Mapping buttons

irbt learn home          # press a remote button to bind it to `home`
irbt list                # show mappings
irbt keys                # all key names

learn waits 10 seconds for a button press (--timeout to change it). To find a button’s code without mapping it, run irbt monitor and press it.

Mappings can also be edited by code. IR codes are NEC codes, in hex (0x00FF02FD) or decimal:

irbt set 0x00FF02FD home
irbt rm 0x00FF02FD
irbt clear               # remove every mapping
irbt reset               # restore the firmware's default keymap

Every change is stored on the device right away.

Backing up the keymap

irbt export keymap.toml
irbt import keymap.toml            # add to / overwrite existing mappings
irbt import keymap.toml --replace  # remove all existing mappings first

The file format:

[[mapping]]
ir = "0x00FF02FD"
key = "home"

[[mapping]]
ir = "0x00FF629D"
key = "up"

import checks the whole file before it changes anything on the device.

Testing and debugging

irbt status              # firmware version and build, BLE state, mapping count, battery
irbt monitor             # received IR codes and their keys, until Ctrl-C
irbt monitor --logs      # ... plus the device's log output
irbt send-hid up         # send a key over BLE without IR
irbt send-ir 0x00FF02FD  # transmit a code through the IR blaster

irbt status also shows the firmware’s commit, its rustc, ESP-IDF and crate versions.

Commands

CommandPurpose
irbt statusfirmware/protocol version, build info, uptime, BLE state, mapping count, battery
irbt monitor [--logs]live IR codes (with mapped key), optionally device logs
irbt learn <key>bind the next remote button press to <key>
irbt list / set <ir> <key> / rm <ir>inspect/edit mappings
irbt export <file> / import <file> [--replace]TOML backup/restore of the keymap
irbt clear / resetempty the keymap / restore the built-in defaults
irbt send-hid <key>press a key over BLE without IR
irbt send-ir <code>fire the IR blaster
irbt keys / portslist key names / detected bridges

irbt help <command> shows the options of each.