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

Flashing the firmware

Prebuilt firmware is on the releases page:

FileWhat
ir-bt-bridge-<tag>-esp32s3.elffirmware, for espflash
ir-bt-bridge-<tag>-esp32s3-merged.binfirmware as a single image for offset 0x0
SHA256SUMSchecksums

Connect the board’s USB-C port. If flashing fails to connect, hold BOOT while plugging it in to force download mode.

Updating a device

Flash the ELF with espflash. This keeps the stored mappings and pairings:

espflash flash ir-bt-bridge-<tag>-esp32s3.elf

A new board

The merged image needs only esptool (or a browser-based flasher), but it erases the mappings and pairings because it overwrites NVS:

esptool.py --chip esp32s3 write_flash 0x0 ir-bt-bridge-<tag>-esp32s3-merged.bin

After flashing

The device’s USB output is framed binary, so espflash monitor shows garbage. Use irbt instead:

irbt status
irbt monitor --logs

To pair with the TV, go to Settings → Remotes & Accessories → Add accessory → IR Bridge.

Serial port access

  • Linux: your user needs access to the serial port. Join the dialout group (sudo usermod -aG dialout $USER, then log in again).
  • WSL2: attach the board to WSL with usbipd-win (usbipd attach --wsl --busid <id>). Re-attach it after every replug or reset into download mode.