InKast logo: a keycap engraved with the InKast wordmark and a triangular signal glyph
Open-source firmware · BYO hardware

Your keyboard,
now wireless.

InKast is ESP32-S3 firmware that takes any wired USB keyboard in one side and puts a Bluetooth LE keyboard out the other — with a live e-paper readout of exactly what's happening in between.

See how it works

How it works

USB in

Host, not device

The ESP32-S3's native USB-OTG port acts as a full USB host. Plug in any boot-protocol keyboard — no drivers, no pairing on that side.

BLE out

Same keystrokes, wireless

Every keypress is re-sent as a standard BLE HID report. Your tablet, laptop, or writer deck just sees a normal Bluetooth keyboard.

E-paper

Status that holds still

A 1.54" e-ink panel shows connection state, session key count, and uptime — and keeps showing it with zero power once drawn.

Two buttons, keeping things simple

Top
Short press — refresh the status screen. Long press (2s) — clear BLE bonds and re-enter pairing mode.
Bottom
Long press (1.5s) — show the shutdown screen and drop the power latch. On battery this cuts power outright; on USB it deep-sleeps until reset.

Hardware

InKast was built and tested on the Waveshare ESP32-S3-ePaper-1.54 V2. Any board with the same USB-OTG+Display+Btn setup should work, but this is the one to grab if you want it to just work.

BoardWaveshare ESP32-S3-ePaper-1.54 V2 (ESP32-S3-PICO-1-N8R8)
Display1.54" monochrome e-paper, 200×200
LibrariesESP32_USB_Host_HID, NimBLE-Arduino (v2.x), GxEPD2
LicenseMIT — open source, bring your own hardware.

Buy yours

As an Amazon Associate, lowio.xyz earns from qualifying purchases.

Flash it

Plug in your hardware, flash straight from this page — no Arduino IDE, no drivers. Works in Chrome, Firefox & Edge.

Prefer to build from source? Clone the repo and flash with arduino-cli or the Arduino IDE — full build config in the README. View on GitHub →