Gesture Controlled HID Bluetooth Keyboard using ESP32

Published  July 11, 2023   


In the world of do-it-yourself (DIY) electronics, the ESP32 has gained immense popularity for its versatility and power. While commonly known for its use in IoT applications, the ESP32 can also be utilized to create various human interface devices (HID), such as a mouse or keyboard. With its built-in Wi-Fi and Bluetooth capabilities, coupled with its processing power and GPIO pins, the ESP32 provides an excellent platform for creating your very own customized HID keyboard.

Designing and building your DIY ESP32-based HID Keyboard offers a unique opportunity to dive into the world of embedded systems and create a device to your specific needs. This project allows you to unleash your creativity and explore the possibilities of the ESP32 HID functionality. With the help of ESP32's Bluetooth functionality, you can wirelessly connect your HID mouse to various devices, such as computers, laptops, smartphones, or tablets, making it a versatile and convenient input device. Whether you want to enhance your gaming experience, control multimedia applications, or simply navigate your computer with a custom-made mouse.

Here by adding an adxl345 accelerometer, we can program the microcontroller to simulate keyboard actions by gestures, like left and right clicks, front and back clicks etc. This means you can navigate your computer's interface, control presentations, or interact with applications without physically touching your computer's keyboard.

Code File

PCB Gerber File

Components Required

Value Package Manufacturer Digikey Part Number Datasheet Link Quantity
0.1uf 0603 Samsung Electro-Mechanics 1276-1935-1-ND   Datasheet 4
10uF 0603 Murata Electronics 490-GRM188R6YA106MA73JCT-ND   Datasheet 2
10uF 3216 KYOCERA AVX 478-1654-1-ND   Datasheet 2
1uF 0603 Samsung Electro-Mechanics 1276-1034-1-ND   Datasheet 2
SS14 SMA Comchip Technology 641-2115-1-ND   Datasheet 1
MAX1898EUB42+T 10-uMAX/uSOP Analog Devices Inc./Maxim Integrated MAX1898EUB42+TCT-ND   Datasheet 1
USB C Receptacle USB_C GCT 2073-USB4105-GF-ACT-ND - Cut Tape (CT)   Datasheet 1
AH3572-P-B 3-SIP Diodes Incorporated AH3572-P-BDI-ND   Datasheet 2
S3B-PH-SM4-TBLFSN S3B-PH-SM4-TBLFSN JST Sales America Inc. 455-1750-1-ND   Datasheet 2
JST_S2B-PH-SM4-TB(LF)(SN) JST_S2B-PH-SM4-TB(LF)(SN) JST Sales America Inc. 455-1734-1-ND   Datasheet 1
LED BLUE LED_0603 Harvatek Corporation 3147-B1931NB--20C007614U1930CT-ND   Datasheet 3
LED RED LED_0603 Harvatek Corporation 3147-B1911USD-20D000114U1930CT-ND   Datasheet 1
AO3401A SOT-23 Alpha & Omega Semiconductor Inc. 785-1001-1-ND   Datasheet 1
22.1K R_0603 YAGEO 13-RC0603FR-1322K1LCT-ND   Datasheet 1
3.3K R_0604 YAGEO 13-RC0603JR-133K3LCT-ND   Datasheet 4
10k R_0605 Stackpole Electronics Inc. RNCP0603FTD10K0CT-ND   Datasheet 5
5K1 R_0606 YAGEO 13-RC0603FR-135K1LCT-ND   Datasheet 2
33R R_0607 YAGEO 311-33.0HRCT-ND   Datasheet 2
100K R_0608 YAGEO 311-100KHRCT-ND   Datasheet 4
47.5K R_0609 YAGEO 13-RC0603FR-1347K5LCT-ND   Datasheet 1
1K R_0610 Stackpole Electronics Inc. RNCP0603FTD1K00CT-ND   Datasheet 3
JS102011SAQN K3-1280S-F1 C&K 401-1999-1-ND   Datasheet 1
2N7002DW-TP SOT-363_SC-70-6 Micro Commercial Co 2N7002DW-TPCT-ND   Datasheet 1
DMG3415U-7 SOT-23 Diodes Incorporated DMG3415UDICT-ND   Datasheet 1
ADP1706ARDZ-3.3-R7 8-SOIC Analog Devices Inc. 505-ADP1706ARDZ-3.3-R7CT-ND   Datasheet 1
ESP32-S3-WROOM-1-N16R8 ESP32-S3-WROOM-1 Espressif Systems 1965-ESP32-S3-WROOM-1-N16R8CT-ND   Datasheet 1
ADXL345BCCZ 14-VFLGA Analog Devices Inc. 505-ADXL345BCCZ-ND   Datasheet 1