esp-hci-bridge

A remote Bluetooth adapter for Linux. Flash a board here, install the PC tool, claim the board, pair your devices. Five minutes, no cables after the first step.

STEP 1 Flash the board

Pick your board, plug it into this computer over USB, and click Install. Firmware , built .

Needs Chrome, Chromium, or Edge. Firefox and Safari have no Web Serial. Open this page over HTTPS. Pick the board's serial port in the dialog. The dialog also has a console for watching boot logs.
On Linux your user needs access to the serial device, usually by being in the dialout or uucp group. A Flatpak browser needs --device=all.
On the non-ISO Olimex ESP32-POE, unplug PoE before connecting USB. Olimex warns the missing isolation can damage the PC.

STEP 2 Install on the PC

One package. It installs the hcibridge command and a background service that starts on boot and finds boards on its own.

sudo curl -fsSLo /etc/apt/keyrings/hcibridge.gpg https://heppu.github.io/esp-hci-bridge/hcibridge.gpg
echo "deb [signed-by=/etc/apt/keyrings/hcibridge.gpg] https://heppu.github.io/esp-hci-bridge/deb stable main" | sudo tee /etc/apt/sources.list.d/hcibridge.list
sudo apt update && sudo apt install hcibridge

A signed repository for amd64, arm64, and armhf. apt upgrade picks up new releases.

STEP 3 Claim the board

A fresh board talks to nobody until a PC claims it. Claiming exchanges a key once, over the network. The service picks the key up by itself.

hcibridge list               # find the board, KEY column says unclaimed
sudo hcibridge claim <ip>    # pair it with this PC

A few seconds later the board is a Bluetooth adapter on this PC. A claimed board refuses every other claim.

STEP 4 Pair your devices

The board is a normal adapter now. Pair with whatever you usually use, for example:

bluetoothctl
scan on                      # press the pairing button on the device
pair XX:XX:XX:XX:XX:XX
trust XX:XX:XX:XX:XX:XX
connect XX:XX:XX:XX:XX:XX

Pairings are stored on the board, so devices reconnect on their own after a reboot of either side.

Xbox controllers need current controller firmware to pair. Update through an Xbox or the Xbox Accessories app on Windows.

That is it

The service handles boards coming and going. The few commands you might need later:

hcibridge status <ip>everything a board reports, including traffic and drop counters
sudo hcibridge update <ip>latest release over the network, checksum verified, the board rolls back by itself if it fails
sudo hcibridge revoke <bdaddr>stop trusting a board
sudo hcibridge unclaim <ip>release a board so another PC can claim it

Problems? The troubleshooting section covers the ones seen so far.