Bluetooth gamepad, mouse and keyboard support for ESP32 and PicoW
See the code
A Bluetooth controller "host" for the ESP32, ESP32-S3, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2, Raspberry Pi Pico W, Pico 2 W, and Posix (Linux, macOS).
Add Bluetooth gamepad, mouse and keyboard support to your projects easily.
In other words, it allows you to control a robot using a DualSense controller.
Choose your target platform:
| Platform | Start here | Further info | Community projects |
|---|---|---|---|
| Arduino IDE | Doc | Controller for Tello drone | |
| Arduino using ESP-IDF toolchain | Template project | Doc | Lego Robot (video), gbaHD Shield (a GameBoy consolizer) |
| Pico W | Pico W example | Doc | Pico Switch, PicoNtrol |
| ESP-IDF | ESP32 example | Doc | OGX-Wireless-Lite |
| Posix (Linux, macOS) | Posix example, Posix ImGui | Doc | |
| Unijoysticle | Unijoysticle2 | Doc |
NOTE: Original ESP32, Pico W and Pico 2 W support all listed controllers. ESP32-S3, ESP32-C3, ESP32-C5, ESP32-C6 and ESP32-H2 only support a subset.
See: Supported gamepads, supported mice and supported keyboards
Download pre-compiled binaries for Unijoysticle:
See the examples folder which includes examples for:
Arduino examples are in:
Bluepad32 is open source, licensed under Apache 2.
However, Bluepad32 depends on the great BTstack library. Which is free to use for open source projects. But commercial for closed-source projects.
If you are developing a commercial product for:
Notice: I’m not affiliated with BTstack people. They are super friendly and willing to help.
46 followers · starred May 2024
132 followers · starred Sep 2026
38 followers · starred Jun 2023
72 followers · starred May 2024
Bluetooth gamepad, mouse and keyboard support for ESP32 and PicoW
See the code
A Bluetooth controller "host" for the ESP32, ESP32-S3, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2, Raspberry Pi Pico W, Pico 2 W, and Posix (Linux, macOS).
Add Bluetooth gamepad, mouse and keyboard support to your projects easily.
In other words, it allows you to control a robot using a DualSense controller.
Choose your target platform:
| Platform | Start here | Further info | Community projects |
|---|---|---|---|
| Arduino IDE | Doc | Controller for Tello drone | |
| Arduino using ESP-IDF toolchain | Template project | Doc | Lego Robot (video), gbaHD Shield (a GameBoy consolizer) |
| Pico W | Pico W example | Doc | Pico Switch, PicoNtrol |
| ESP-IDF | ESP32 example | Doc | OGX-Wireless-Lite |
| Posix (Linux, macOS) | Posix example, Posix ImGui | Doc | |
| Unijoysticle | Unijoysticle2 | Doc |
NOTE: Original ESP32, Pico W and Pico 2 W support all listed controllers. ESP32-S3, ESP32-C3, ESP32-C5, ESP32-C6 and ESP32-H2 only support a subset.
See: Supported gamepads, supported mice and supported keyboards
Download pre-compiled binaries for Unijoysticle:
See the examples folder which includes examples for:
Arduino examples are in:
Bluepad32 is open source, licensed under Apache 2.
However, Bluepad32 depends on the great BTstack library. Which is free to use for open source projects. But commercial for closed-source projects.
If you are developing a commercial product for:
Notice: I’m not affiliated with BTstack people. They are super friendly and willing to help.
46 followers · starred May 2024
132 followers · starred Sep 2026
38 followers · starred Jun 2023
72 followers · starred May 2024