ricardoquesada / bluepad32

Bluetooth gamepad, mouse and keyboard support for ESP32 and PicoW
https://bluepad32.readthedocs.io/
Other
594 stars 63 forks source link
arduino bluetooth esp-idf esp32 gamepad keyboard mouse pico-sdk pico-w

Bluepad32

discord

drawing

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.

Where to start

Choose your target platform:

Platform Start here Further info Community projects
Arduino IDE Watch the video 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

Features

Supported controllers

Supported gamepads

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

Pre-compiled binaries

Download pre-compiled binaries for Unijoysticle, Nina, AirLift, MightyMiggy:

Creating your project

See the examples folder which includes examples for:

Arduino examples are in:

Support

License

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.