All Projects → ricardoquesada → bluepad32

ricardoquesada / bluepad32

Licence: other
Bluetooth gamepad support for the ESP32 (mirror)

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to bluepad32

ESP32 IMU BARO GPS VARIO
GPS altimeter/variometer with LCD display, routes with waypoints, data/gps track logging, bluetooth NMEA sentence transmission, wifi AP + webpage configuration
Stars: ✭ 72 (-38.46%)
Mutual labels:  bluetooth, esp-idf
unijoysticle2
Bluetooth gamepad support for the Commodore 64 / Atari / Amiga, etc. (mirror)
Stars: ✭ 26 (-77.78%)
Mutual labels:  bluetooth, gamepad
DualSenseWindows UE4
Unreal Engine 4 port of the Windows API for the PS5 DualSense controller created at Ohjurot/DualSense-Windows
Stars: ✭ 25 (-78.63%)
Mutual labels:  bluetooth, gamepad
Gesture-Detecting-Macro-Keyboard
Glorified Bluetooth macro keyboard with machine learning (TensorFlow Lite for Microcontrollers) running on an ESP32.
Stars: ✭ 68 (-41.88%)
Mutual labels:  bluetooth, esp-idf
Dualsense Windows
Windows API for the PS5 DualSense controller
Stars: ✭ 111 (-5.13%)
Mutual labels:  bluetooth, gamepad
TTGO-TM-ESP32
No description or website provided.
Stars: ✭ 79 (-32.48%)
Mutual labels:  bluetooth
esp-homekit-arduino-sdk
Arduino wrapper for ESP-IDF HomeKit library
Stars: ✭ 34 (-70.94%)
Mutual labels:  esp-idf
Kaput
Kişisel araç takip yazılımı
Stars: ✭ 69 (-41.03%)
Mutual labels:  bluetooth
stick
Platform-agnostic asynchronous gamepad, joystick and flightstick library for the Rust Programming Language
Stars: ✭ 41 (-64.96%)
Mutual labels:  gamepad
ccs811-esp-idf
CCS811 driver for ESP-IDF (ESP32)
Stars: ✭ 22 (-81.2%)
Mutual labels:  esp-idf
Bose-Frames-Web-SDK
A JavaScript version of the Bose Frames SDK
Stars: ✭ 74 (-36.75%)
Mutual labels:  bluetooth
spherov2.py
Unofficial Python API for all Sphero toys
Stars: ✭ 36 (-69.23%)
Mutual labels:  bluetooth
idfx
Tool for flash/monitor ESP-IDF and ESP8266_SDK apps on the WSL2 ⚡
Stars: ✭ 71 (-39.32%)
Mutual labels:  esp-idf
home assistant-ble
Companion application for home-assistant, sending bluetooth low energy detection
Stars: ✭ 21 (-82.05%)
Mutual labels:  bluetooth
hass bletracker
Custom python3 script for better location tracking on HASS. Also enables using iTag bluetooth device as a tracker + smart home button
Stars: ✭ 26 (-77.78%)
Mutual labels:  bluetooth
esp-idf-zh
ESP-IDF 中文文档
Stars: ✭ 102 (-12.82%)
Mutual labels:  esp-idf
esp-idf-sys
Bindings for ESP-IDF (Espressif's IoT Development Framework)
Stars: ✭ 132 (+12.82%)
Mutual labels:  esp-idf
ble-serial
"RFCOMM for BLE" a UART over Bluetooth low energy (4.0+) bridge for Linux, Mac and Windows
Stars: ✭ 134 (+14.53%)
Mutual labels:  bluetooth
Volvo-melbus
Volvo MELBUS Bluetooth audio input and remote control with Arduino Nano
Stars: ✭ 51 (-56.41%)
Mutual labels:  bluetooth
angular-web-bluetooth-starter
A Starter for the Angular Web Bluetooth module
Stars: ✭ 15 (-87.18%)
Mutual labels:  bluetooth

Bluepad32

discord

logo

A Bluetooth gamepad "host" for the ESP32.

Add Bluetooth gamepad support to your projects easily. Supported platforms:

Note: Only the original ESP32 is supported, which supports Bluetooth Classic. Newer models like ESP32-Sx, ESP32-Cx, ESP32-Hx are NOT supported since they don't support Bluetooth Classic.

Features

  • Supports most, if not all, modern Bluetooth gamepads and mice (see below)
  • Fast (very low latency)
  • Small footprint
  • Uses only one core (CPU0). The remaining one is free to use.
  • C11 based
  • Open Source (see below)

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 + accesories
  • Xbox Wireless controller (model 1708)
  • Android gamepads
  • PC/Window gamepads
  • 8BitDo controllers
  • iCade
  • Mouse
  • And more

See: Supported gamepads and supported mice

How to compile it

  1. Install ESP-IDF

    Install the ESP32 toolchain. Use version 4.4.1. Might work on newer / older ones, but not tested.

  2. Clone repo

    git clone --recursive https://gitlab.com/ricardoquesada/bluepad32.git
  3. Integrate BTStack into ESP32

    cd ${BLUEPAD32}/external/btstack/port/esp32
    # This will install BTstack as a component inside Bluepad32 source code (recommended).
    # Remove "IDF_PATH=../../../../src" if you want it installed in the ESP-IDF folder
    IDF_PATH=../../../../src ./integrate_btstack.py
  4. Compile Bluepad32

    Choose target platform (default is Unijoysticle):

    cd ${BLUEPAD32}/src
    idf.py menuconfig

    The Bluepad32 options are in: Components config -> Bluepad32 (find it at the very bottom) -> Target platform

    And compile it:

    idf.py build
  5. Flash it

    idf.py flash monitor

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. Contact them for details. They are very friendly + helpful (I’m not affiliated with them).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].