I’m happy to announce the release of Bluepad32: gamepad support for the ESP32.

Bluepad32 is a firmware that runs in the ESP32 microcontroller. It supports all the modern Bluetooth gamepads like Sony (PS5, PS4, PS3), Microsoft (Xbox One S) and Nintendo (Switch, Wii) gamepads.

Who is this for?

This is for:

  • …tinkers / makers / electronic hobbyist
  • …that want to add gamepad support into their projects
  • …in a maintainable and easy way

For further info, read: Adding new platforms.

Real world examples

Just add an ESP32 to your project, and control it with a gamepad!

Features

Source Code, License et. al

However Bluepad32 depends on the great BTStack library. Which is free to use for open source projects. But commercial for closed projects. Contact them for details. They are very friendly + helpful (I’m not affiliated with them).

Support, bugs et. al

I realized that 3rd party projects where using the Unijoysticle 2 firmware. But they needed to hack it here and there. And it was difficult for them to get changes from upstream, etc.

So what I did was to:

  • take the Unijoysticle 2 firmware
  • make many changes to it to make it super easy to integrate
  • rename it to avoid confusion (Bluepad32 is the new name)
  • host it in a new git repo

(BTW, I’m also the author of Unijoysticle 2)