A Bluetooth controller "host" for the ESP32, ESP32-S3, ESP32-C3, Raspberry Pi Pico 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) |
Arduino + NINA coprocessor | Arduino Library | Doc | Philips CD-i meets Bluetooth |
CircuitPython + AirLift coprocessor | CircuitPython Library | Doc | Quico console, Controlling 4 servos (video) |
Pico W | Pico W example | Doc | Pico Switch, PicoNtrol |
ESP-IDF | ESP32 example | Doc | OGX-Wireless-Lite |
Posix (Linux, macOS) | Posix example | Doc | |
Unijoysticle | Unijoysticle2 | Doc | |
MightyMiggy | Unijoysticle for Amiga | Doc |
NOTE: Original ESP32 and Pico W support all listed controllers. ESP32-S3 and ESP32-C3 support only a subset.
See: Supported gamepads, supported mice and supported keyboards
Download pre-compiled binaries for Unijoysticle, Nina, AirLift, MightyMiggy:
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.