返回排行榜

ricardoquesada/bluepad32

Cbluepad32.readthedocs.io

Bluetooth gamepad, mouse and keyboard support for ESP32 and PicoW

bluetoothesp32gamepadesp-idfarduinokeyboardmousepico-wpico-sdk
Star 增长趋势
Star
1.1k
Forks
144
周增长
Issues
72
5001k
2023年1月2024年3月2025年5月2026年7月
README

Bluepad32

discord

drawing

A Bluetooth controller "host" for the ESP32, ESP32-S3, ESP32-C3, 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)
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

  • 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, Arduino and CircuitPython
  • 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-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, 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.

相关仓库
exelban/stats

macOS system monitor in your menu bar

SwiftMIT Licensemacosmonitor
mac-stats.com
40.7k1.4k
zephyrproject-rtos/zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.

CApache License 2.0rtosiot
docs.zephyrproject.org
16k9.6k
rwaldron/johnny-five

JavaScript Robotics and IoT programming framework, developed at Bocoup.

JavaScriptnpmOtherjavascriptarduino
johnny-five.io
13.4k1.7k
seemoo-lab/openhaystack

Build your own 'AirTags' 🏷 today! Framework for tracking personal Bluetooth devices via Apple's massive Find My network.

SwiftGNU Affero General Public License v3.0appleoffline-finding
owlink.org
13.2k663
justcallmekoko/ESP32Marauder

A suite of WiFi/Bluetooth offensive and defensive tools for the ESP32

C++esp32arduino
11.6k1.4k
imbushuo/mac-precision-touchpad

Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad

COtherwindows-precision-touchpaddriver
10.4k656
hybridgroup/gobot

Golang framework for robotics, drones, and the Internet of Things (IoT)

GoGo ModulesOtherroboticsiot
gobot.io
9.4k1.1k
EmenstaNougat/ESP32-BlueJammer

The ESP32-BlueJammer (Bluetooth jammer, BLE jammer, WiFi jammer, RC jammer) disrupts 2.4GHz communications. Using an ESP32 and nRF24 modules, it generates noise and unnecessary packets, causing interference between the devices communicating, making them unable to work as intended. Ideal for controlled disruption and security testing.

Otherbluetoothbt
esp32-bluejammerflasher.pages.dev
7k776
Jasonchenlijian/FastBle

Android Bluetooth Low Energy (BLE) Fast Development Framework. It uses simple ways to filter, scan, connect, read ,write, notify, readRssi, setMTU, and multiConnection.

JavaMavenApache License 2.0androidbluetooth
5.5k1.2k
spieglt/FlyingCarpet

Cross-platform AirDrop. File transfer between Android, iOS, Linux, macOS, and Windows over ad hoc WiFi. No network infrastructure required, just two devices with WiFi chips (and optionally Bluetooth) in close range.

Rustcrates.ioGNU General Public License v3.0file-transferwireless
5.2k257
timschneeb/GalaxyBudsClient

Unofficial Galaxy Buds Manager for Windows, macOS, Linux, and Android

C#GNU General Public License v3.0galaxy-budsearbuds
5.1k294
schollz/find3

High-precision indoor positioning framework, version 3.

GoGo ModulesMIT Licensemotiongps-tracking
internalpositioning.com/doc
4.8k369