ricardoquesada/bluepad32

Public

Bluetooth gamepad, mouse and keyboard support for ESP32 and PicoW

  • Stars1.2k+6 tuần này
  • Forks157
  • Watchers24
  • Issues74
  • Ngày tạo10/11/2020
  • Cập nhật gần nhất16/10/2026
  • Ngôn ngữC
  • Giấy phép—
README.md13.3 KBRaw

Bluepad32

discord

drawing

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.

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)
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

Features

  • Supports most, if not all, modern Bluetooth gamepads, mice and keyboards (see below)
  • Supports ESP32 and Pico W families
  • Supported APIs: ESP-IDF, Pico-SDK and Arduino
  • Fast (very low latency)
  • Small footprint
  • Uses only one core (CPU0). The remaining one is free to use.
  • C11 based
  • Open Source (see below)
  • Easy to integrate into 3rd party projects

Supported controllers

Supported gamepads

  • Sony DualSense (PS5)
  • Sony DualShock 4 (PS4)
  • Sony DualShock 3 (PS3)
  • Nintendo Switch Pro controller
  • Nintendo Switch JoyCon
  • Nintendo Wii U controller
  • Nintendo Wii Remote + accessories
  • Xbox Wireless controller (models 1708, 1914, adaptive)
  • Android controllers
  • Steam controller
  • Stadia controller
  • PC/Window controller
  • 8BitDo controllers
  • Atari joystick
  • iCade
  • Mouse
  • Keyboards
  • And more

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

Pre-compiled binaries

Download pre-compiled binaries for Unijoysticle:

Creating your project

See the examples folder which includes examples for:

Nội dung README thuộc về ricardoquesada và cộng đồng đóng góp, giấy phép Không có giấy phép. Nguồn: github.com/ricardoquesada/bluepad32