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:
With this library you can use any modern Bluetooth gamepad in Arduino. Some of the supported gamepads, but not limited to, are:
-
Sony family: DualSense (PS5), DualShock 4 (PS4), DualShock 3 (PS3)
-
Nintendo family: Switch gamepads, Switch JoyCons, Wii, Wii U
-
Xbox Wireless controller
-
8BitDo gamepads
-
Android gamepads
-
Stadia controller
-
Windows gamepads
-
and more
For a complete list, see: https://bluepad32.readthedocs.io/en/latest/supported_gamepads/
As mentioned above, only boards with the NINA-W10 (ESP32) co-processor are supported. This is because the project consists of two parts:
-
"Bluepad32 library for Arduino", runs on the main processor: "C"
-
"Bluepad32 firmware", runs on the NINA-W10 co-processor: "B"
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:
-
Bluepad32 firmware doc: https://bluepad32.readthedocs.io/en/latest/plat_nina/
-
Download: https://github.com/ricardoquesada/bluepad32/releases
You can use this library to:
-
Create a video game
-
Or control a car / robot
-
Or control LEDs, motor, etc.
-
Or to draw a curtain, open a window, control a fan, etc.
-
etc.