Skip to content

Releases: ricardoquesada/bluepad32

Bluepad32 v3.7.3

17 Jun 21:43

Choose a tag to compare

[v3.7.3] - 2023-06-17

New

  • Nintendo Switch: Gyro/Accel is parsed
  • Unijoysticle: Support Nintendo Balance Board.
    Left,Right,Up,Down: just "press" in the right place in the Balance Board.
    Fire: Both Left and Right must be "pressed".
    Threshold (weight) is configurable via the console using:
    • set_bb_move_threshold
    • get_bb_move_threshold
    • set_bb_fire_threshold
    • get_bb_fire_threshold
  • Video for reference
  • Unijoysticle: Possible to swap ports in enhanced mode.
    Either press the gamepad or board "swap" button.
    The blue LED will blink once after the swap.
    The console command list_devices will display mode=enhanced swapped when it is swapped.
    Otherwise it just shows mode=enhanced.

Fixed

  • Nintendo Switch: reports battery correctly.
  • Nintendo Wii Balance Board: reports battery correctly.
  • 8BitDo Zero 2:
    • "macOS" mode works. It identifies itself as a DualShock4, but it doesn't support
      report id 0x11, just report 0x01. Added parser for report id 0x01 is DS4 logic.
    • "keyboard" mode works. This is the only 8BitDo Zero 2 that reports "dpad" as "dpad".
      The rest of modes report the dpad as axis x & y.

Bluepad32 v3.7.2

20 May 18:38

Choose a tag to compare

[v3.7.2] - 2023-05-20

New

  • Unijoysticle: very experimental paddle support.
    Only for developers. Not ready for public.
  • Arduino: Add "disconnect" API.
    This API was already present on the NINA platform, but not in Arduino.
    They are in sync now (Bug GH36)

Changed

  • Wii Mote accelerometer exposed to Arduino/Nina/AirLift (Bug GL28).
    Before it was converted inside the Wii parser, preventing platforms to use the accelerometer
    data as they wish.
    Now the accelerometer data is exposed, and platform can do what they pleased.
    Unijoysticle platform parses it a converts it to joystick (previous behavior).

Fixed

  • GameSir T3s gamepad, when in iOS mode works.
    GameSir iOS mode is basically impersonating an Xbox Wireless with FW 4.8.
    Althought the recommened for GameSir T3s, is to use it in Switch mode.

Download

Bluepad32 v3.7.1

01 May 03:03

Choose a tag to compare

[v3.7.1] - 2023-04-30

New

  • DualSense / DualShock 4: Report Acceleromenter and Gyro data
  • Steam Controller: Add support for Steam Controller.
    • Disables "lizard" mode
    • Dpad, buttons, triggers, thumbstick, right pad supported.
    • Gyro/Accel: not supported ATM

Fixed

  • Xbox Adaptive Controller: Works as expeted. Removed "unsupported usage" messages.
  • Arduino / NINA / CircuitPython: Add APIs to read gyro / accel.

Bluepad32 v3.7.0

18 Apr 05:05

Choose a tag to compare

[v3.7.0] - 2023-04-17

New

  • Arduino/NINA/AirLift: Added BP32.localBdAddress() Bug
    Returns the Local BD Address (AKA Mac Address).
    Updated example that shows how to use it.

Fixed

  • Arduino documentation: How to use Arduino IDE and other minor fixes

Bluepad32 v3.7.0-rc.0

15 Apr 20:11

Choose a tag to compare

[v3.7.0-rc.0] - 2023-04-15

New

  • Support ESP32-S3 / ESP32-C3
    Only BLE gamepads are supported, since BR/EDR is not supported on ESP32-S3 / ESP32-C3.
    Notice that ESP32-S3 has two cores, like ESP32. Bluetooth stack runs on one core,
    and Arduino Sketch runs on on the other core.
    But ESP32-C3 only has one core. Meaning that both Bluetooth and Arduino Sketch share the same
    core. It works perfectly well for basic applications. But ESP32 or ESP32-S3 is a better option
    for advanced application.s
  • Initial Support for Arduino IDE + ESP32.
    See plat_arduino.md for details.
    This means that you can use ESP32 / ESP32-S3 / ESP32-C3 with Bluepad32 from Arduino IDE.

Changed

  • uni_bluetooth_ functions renamed to uni_bt_
  • uni_bluetooth.[ch] files renamed to uni_bt.[ch]
  • uni_bt_setup_get/set_properties functions renamed to uni_bt_get/set_properties
  • Moved all the BR/EDR logic from uni_bluetooth.c to uni_bt_bredr
  • BR/EDR code is only compiled in ESP32, and not in ESP32-S3/C3 since it is not supported.
  • Makefile files removed. It has been deprecated for a while.
    To compile Bluepad32 use idf.py build instead.

Bluepad32 v3.6.2

03 Apr 04:32

Choose a tag to compare

[v3.6.2] - 2023-04-02

New

  • Add support for Sony Motion Controller
  • Unijoysticle: Gamepad button "Start" triggers "gamepad change mode".
    It is useful to switch back an forth from "gamepad" to "mouse" mode without the need
    to press the "black button" on the Unijoysticle.
    • On V2+ / A500 it cycles between: normal -> mouse -> enhanced modes
    • On V2 / C64 it cycles between: normal -> enhanced modes.

Bluepad32 v3.6.1

04 Mar 21:48

Choose a tag to compare

[v3.6.1] - 2023-03-04

New

Changed

  • BLE is enabled by default
  • Unijoysticle C64: C64GS buttons work.
    • Supports the official C64GS 2nd button
    • Supports the unofficial 3rd button

Bluepad32 v3.6.0

04 Feb 21:13

Choose a tag to compare

[v3.6.0] - 2023-02-04

New

  • Arduino: Added ScrollWheel support in Mouse

Changed

  • Added option in "menuconfig" to enable Swap Button in Unijoysticle C64/FlashParty Edition
    • Enabled by default. Before the Swap Button was disabled.

Fixed

  • Updated documentation regarding ESP-IDF version
  • Updated documentation regarding Controllers and BR/EDR and BLE

Bluepad32 v3.6.0-rc1

30 Jan 03:22

Choose a tag to compare

[v3.6.0-rc1] - 2023-01-29

New

  • BLE support (experimental). Enable it from idf.py menuconfig or
    from console with set_ble_enabled. It is disabled by default
    Tested with:
    • Xbox Wireless Controller model 1914 with Firmware 5.15
    • Xbox Wireless Controller model 1708 with Firmware 5.15
    • Stadia Controller with BLE Firmware
    • Microsoft BLE mouse
    • Generic BLE mouse
  • Mouse: Add "scroll_wheel" property. Updated when the mouse scroll wheel is moved.

Changed

  • Refactored a bit the Bluetooth code to better support BLE
  • Console command: set_bluetooth_enabled renamed to set_incoming_connections_enabled

Fixed

  • "disconnect" console command also deletes the connected device

Bluepad32 v3.6.0-rc0

16 Jan 18:11

Choose a tag to compare

[v3.6.0-rc0] - 2023-01-16

New

  • Platforms: Receive "controller" instead of "gamepad". A controller can be a:
    gamepad, mouse, keyboard, balance board. And possible more. Battery is reported
    in the new Controller API.
  • Arduino & NINA: Updated to support the new "controller" inteface. The old interface
    is still working, but the client calls the new one.

Changed

  • ESP-IDF: Added support for v5.0 but:
    • Arduino still requires v4.4 until esp32-core supports v5.0
    • NINA requires Legacy Flash SPI that was removed in v5.0
    • Unijoysticle, AirLift and MightyMiggy are the ones that can use v5.0 ATM
  • BTstack: Updated to v1.5.5
  • 8BitDo: Updated support for SN30 Pro FW v2 and M30

Fixed

  • Unijoysticle: "cycle" button works correctly when mouse and gamepad are
    connected at the same time.
  • Switch, DualShock4, DualSense, Wii Balance Board: report battery status (Github Issue #25)