finds.dev← search

// the find

asterics/esp32_mouse_keyboard

★ 890 · HTML · GPL-3.0 · updated Mar 2024

ESP32 implementation for HID over GATT Keyboard and Mouse (Bluetooth Low Energy). Including serial API for external modules (similar to Adafruit EZKey HID)

Firmware for turning an ESP32 into a BLE HID device — keyboard, mouse, and joystick over Bluetooth Low Energy. Built primarily as a Bluetooth add-on module for the AsTeRICS assistive technology project (FLipMouse, FABI), but the serial API makes it reusable as a general-purpose BLE HID bridge for any microcontroller that can speak UART.

The serial command protocol is Adafruit EZKey-compatible, which means existing EZKey projects can drop this in without rewriting host-side code. Joystick support alongside mouse and keyboard is genuinely useful and not something most BLE HID examples bother with. The multi-device pairing and switching via $SW/$DP commands is practical for assistive tech use cases where you need to control multiple hosts. Hardware files (KiCad schematics, BOM, interactive BOM) are included, so you can actually build the companion PCB rather than just breadboarding.

Pinned to ESP-IDF release/v5.0 only — the README says other versions won't be supported, which is going to age badly as IDF moves forward. Only US keyboard layout is supported; anyone needing non-US layouts has to implement it themselves. The project is clearly a support library for specific AsTeRICS hardware rather than a standalone tool, so documentation assumes you already know the FLipMouse/FABI context. Last commit was early 2024 and the BLE stack in ESP-IDF has had meaningful changes since; there's real risk of bit-rot on newer toolchains.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →