Abstract
ESP32 USB TO BLE is an open-source Internet of Things (IoT) project. This project involves the creation of a Bluetooth adapter using an ESP32, enabling wireless connectivity for USB keyboards and mice. By leveraging the ESP32's capabilities, users can effortlessly connect their input devices to various devices without the constraint of physical cables. This project transforms an ESP32 into a Bluetooth adapter that enables wireless connectivity for USB keyboards and mice. It acts as a bridge between traditional USB input devices and Bluetooth-enabled devices, effectively converting your wired peripherals into wireless ones. It is built using C, Arduino, ESP32. Key capabilities include: Supports both USB keyboards and mice simultaneously; Bluetooth Low Energy (BLE) connectivity; Plug-and-play functionality. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.
1. Introduction
This project transforms an ESP32 into a Bluetooth adapter that enables wireless connectivity for USB keyboards and mice. It acts as a bridge between traditional USB input devices and Bluetooth-enabled devices, effectively converting your wired peripherals into wireless ones.
2. Objective
This project involves the creation of a Bluetooth adapter using an ESP32, enabling wireless connectivity for USB keyboards and mice. By leveraging the ESP32's capabilities, users can effortlessly connect their input devices to various devices without the constraint of physical cables.
This project demonstrates how C, Arduino, ESP32 can be applied to a real-world Internet of Things (IoT) problem.
3. Key Features / Modules
- Supports both USB keyboards and mice simultaneously
- Bluetooth Low Energy (BLE) connectivity
- Plug-and-play functionality
- Low latency input processing
- Compatible with multiple operating systems (Windows, macOS, Linux, iOS, Android)
- Battery-powered operation possible (with appropriate power supply)
4. Technology Stack
- Built-in Support: ESP32-S3-USB-OTG has native USB host capabilities
- Module Option: Other ESP32s need external USB host module
- Speed: Full-speed USB (12 Mbps)
- Documentation: Official ESP32-S3-USB-OTG Guide
- ESP32-WROOM-32 development board
- USB keyboard (USB HID compliant)
- USB mouse (USB HID compliant)
- Female USB-A ports or breakout boards (for connecting peripherals)
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Arduino IDE / PlatformIO or a C compiler (gcc)
- Target board where applicable
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/jmdmahdi/ESP32-USB-TO-BLE.git
cd ESP32-USB-TO-BLE- Add ESP32 board manager URL in Arduino IDE preferences:
- Install ESP32 board package via Board Manager
- Install required libraries through Library Manager
- Hardware Assembly
- Connect USB ports according to the pin configuration
- Ensure proper power supply connection
- Double-check all connections before powering on
- Software Installation
📱 ESP32-S3-USB-OTG → Ready to use!
OR
🔧 Other ESP32 Board → Need USB Host Modulehttps://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.jsonFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add a mobile dashboard using Blynk or Firebase
- Store readings in a cloud database for history charts
- Add alerts via SMS / Telegram when thresholds are crossed
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Which microcontroller / board and sensors are used and why?
- How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
- Where is the sensor data stored and visualised?
- How is power consumption managed?
- How would you secure the device and its communication?
9. Source Code & License
This project is developed by jmdmahdi and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Internet of Things (IoT) Internship