ESP32-S3 Bluetooth macro keypad with a Windows companion app.
  • C# 41.2%
  • C++ 32%
  • PowerShell 15.1%
  • Shell 11.7%
Find a file
2026-05-30 10:40:32 +02:00
.dev add temporary gpio button debounce 2026-05-30 10:40:32 +02:00
firmware add temporary gpio button debounce 2026-05-30 10:40:32 +02:00
pc add temporary gpio button debounce 2026-05-30 10:40:32 +02:00
.gitignore validate paired HID delivery 2026-05-28 23:17:02 +02:00
AGENTS.md mock remote buttons over serial 2026-05-28 22:02:12 +02:00
README.md implement binary keypad protocol 2026-05-30 09:25:57 +02:00
what.md docs: add initial project requirements and hardware notes 2026-05-28 21:13:51 +02:00

remoteWispr

A small ESP32-S3 Bluetooth wireless keypad for a personal voice-transcription workflow.

Initial hardware target:

  • NULA DeepSleep ESP32-S3 board
  • 2100 mAh LiPo/Li-ion battery
  • WS2812B Ring7 LED ring, 7 outer pixels + 1 center pixel
  • 3 mechanical keyboard switches

Main behavior:

  • Act as a layered 3-key wireless keypad.
  • Send debounced key down/up/layer/status events to the Windows app over a tiny binary BLE GATT protocol.
  • Let the Windows app map those remote events to actual Windows key combos, especially Shift+F17 for the Wispr use case.
  • Keep layers, button debounce, LEDs, battery/status, and warning generation owned by the remote.
  • Use low-brightness, lively LED feedback for layer, connection, battery, and local status.

Project context and research live in .dev/; the protocol spec is .dev/keypad-protocol.md.