ricardoquesada / bluepad32-arduino

Bluepad32 for Arduino NINA-W10 boards
https://bluepad32.readthedocs.io/en/latest/plat_nina/
Other
26 stars 5 forks source link
arduino arduino-library bluepad32 bluetooth gamepad nina nina-w10

// Define the repository information in these attributes :repository-owner: ricardoquesasda :repository-name: bluepad32-arduino :project-name: Bluepad32

= {project-name} library for Arduino NINA-W10 boards =

image::https://img.shields.io/discord/775177861665521725.svg[link=https://discord.gg/r5aMn6Cw5q]

image::img/bluepad32-arduino-logo.png[logo]

Enables gamepad support for all NINA-W10 based boards. In particular these boards:

If you are looking for Arduino running on ESP32 boards, check out this other project:

== Supported gamepads ==

image::https://lh3.googleusercontent.com/pw/AM-JKLXpmyDvNXZ_LmlmBSYObRZDhwuY6hHXXBzAicFw1YH1QNSgZrpiPWXZMiPNM0ATgrockqGf5bLsI3fWceJtQQEj2_OroHs1SrxsgmS8Rh4XHlnFolchomsTPVC7o5zi4pXGQkhGEFbinoh3-ub_a4lQIw=-no[gamepads]

With this library you can use any modern Bluetooth gamepad in Arduino. Some of the supported gamepads, but not limited to, are:

For a complete list, see: https://bluepad32.readthedocs.io/en/latest/supported_gamepads/

== How does it work ==

As mentioned above, only boards with the NINA-W10 (ESP32) co-processor are supported. This is because the project consists of two parts:

image::img/bluepad32-how-does-it-work.png[how does it work]

The gamepads (A), using Bluetooth, connect to the NINA-W10 co-processor (B).

And NINA-W10 (B) sends the gamepad data to the main processor (C). In this case the main processor is the RP2040, but it could be different on other boards. As an example, on the Nano 33 IoT, the main processor is the SAMD 21.

So, in order to use the library you have to flash the "Bluepad32 firmware" on NINA-W10. This is a simple step that needs to be done just once, and can be undone at any time. Info about Bluepad32 firmware is avaiable here:

== Use cases ==

You can use this library to:

== License ==

Copyright (c) 2021 Ricardo Quesada

SPDX-License-Identifier: Apache 2.0 or LGPL-2.1-or-later