keeBLEr: an eight-dollar bridge across forty years of computers

How a browser, Bluetooth, an ESP32-S3, and the USB keyboard standard became a tiny universal input bridge.

keeBLEr began with a wonderfully specific annoyance: controlling a Commodore 64 Ultimate from a main computer without swapping keyboards. The first attempt worked because both new and old machinery agreed on something beautifully boring—the shape of a boot-protocol USB keyboard.

The result is a tiny bridge made from an inexpensive ESP32-S3. A Chromium browser sends keyboard and mouse events over Web Bluetooth. The microcontroller presents them to the target as ordinary USB HID input. The computer on the far side needs no driver and no application. As far as it knows, someone plugged in a keyboard.

The old standard is the superpower

It is tempting to think universality requires a large compatibility layer. keeBLEr gets surprisingly far by behaving like the simplest device in the room. USB boot-keyboard mode is understood before a full operating system loads, which means the bridge can work in BIOS or UEFI screens, through some KVMs, and with retro hardware as well as a modern desktop.

Composite mode adds mouse support when the target can handle it. A physical control can switch modes, so recovery does not depend on the browser or target already cooperating. The microcontroller remembers its connection and reconnects; a Web Serial path provides a fallback when Bluetooth is awkward.

Every one of those choices preserves an escape hatch. The browser is convenient, the physical button is dependable, and the device on the far side sees a decades-old contract.

No app-shaped tax

The controller is a web page. Firmware can be flashed from a browser, and the client is made of straightforward web technologies. That removes an entire layer of installers, updater frameworks, and platform-specific packaging from a tool whose job is simply to relay input.

The same bridge can then grow sideways. An extended setup can bring capture and audio into the same workspace. The keeBLEr64 variation leans into the original Commodore use case with file transfer, a network proxy, and an interface suited to that machine. The common firmware and web pieces remain shared rather than becoming unrelated projects.

This is a good example of scope expanding by composition rather than inflation. The core stays small: browser to BLE, BLE to microcontroller, microcontroller to USB HID. Additional capabilities sit around that spine.

The satisfying kind of obvious

The best workshop tools often feel obvious after they exist. Of course a browser can collect keystrokes. Of course an ESP32-S3 can speak Bluetooth on one side and USB on the other. Of course a computer will accept a standards-compliant keyboard. The invention is recognizing that these facts can be arranged into an object worth using.

keeBLEr is also a reminder that “AI tools” do not live only inside models. Our ability to work with agents improves when the physical and software seams around them become easier to cross. Sometimes the useful next step is a prompt. Sometimes it is an eight-dollar board pretending, very convincingly, to be a keyboard.

The project is public at shawnrancatore/keeBLEr.