I'm trying to build a Bluetooth-enabled gamepad out of an old Playstation 1 controller, using an Adafruit Feather M0 Bluefruit BLE.

I've programmed the board as a Keyboard HID and everything works: the controller button presses trigger keyboard presses through the Feather. However, treating the controller as a keyboard means I get no analog joystick support.

The Feather M0 supports a Gamepad HID mode, but it's limited to 8 buttons and one joystick (but not analog), which is obviously not enough for a Playstation 1 controller.

I'm a bit stumped here: do I have any way of registering the BLE as a gamepad, to enable analog support, but with as many buttons as I need and two joysticks?

My code so far, on GitHub.

  • 1
    how does it matter, if the joystick is analog? you have a mcu with analog pins. read the joystick, convert the values and send them. or am I missing something here? – Juraj Mar 18 '19 at 13:37
  • It seems that adafruits firmware doesn't support/implement that. – Gerben Mar 18 '19 at 14:17
  • @Juraj he means there is only D-pad support. So only left right up down (on or off). – Gerben Mar 18 '19 at 14:19
  • 1
    Adafruit has the same AT firmware in all Bluefruits – Juraj Mar 19 '19 at 10:35
  • 1
    @Juraj, argh, I see. I'll try to map it as the mouse then, if the Feather will let me send both keyboard and mouse data. Thanks for the help! – Cosmin Stamate Mar 19 '19 at 12:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.