Skip to content

ricardoquesada/bluepad32-arduino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bluepad32 library for Arduino NINA-W10 boards

775177861665521725
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

gamepads

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

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:

  • "Bluepad32 library for Arduino", runs on the main processor: "C"

  • "Bluepad32 firmware", runs on the NINA-W10 co-processor: "B"

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:

  • 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.

License

Copyright (c) 2021 Ricardo Quesada

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