Designing a Bluetooth Keypad/Gamepad with MCU/SOC. (32 GPIO, 14/chord)

I have a Blackberry Keypad, and a custom Gamepad. I am trying to make them into bluetooth HID(s). They will be part of a single physical unit/board.

I need help to get those inputs into a bluetooth chip and transmitted accurately in real-time. (The gamepad needs inputs able to transmit simultaneously.) Is it reasonable to be able to expect an MCU/SOC to be able to do this?

Totalling up the keys, buttons, and all inputs, I have:

  • Keypad: 35 keys (7x5 matrix)
  • Gamepad: 14 buttons
  • Gamepad: 6 pots (X,Y,Z + X,Y,Z)

Total: 53 inputs

Totalling up the neccessary IO, I have:

  • Output (binary): 7 pins (columns)
  • Input (binary): 5 pins (rows)
  • Input (binary): 14 pins (switches)
  • Input (variable): 6 pins (resistance)

Total (IO): 32 pins (general purpose)

Totalling up a gamepad chord, I have:

  • Gamepad: 8 buttons
  • Gamepad: 6 pots (X,Y,Z + X,Y,Z)

Total: 14 inputs (simultaneous)

Experience/suggestions welcome! Thanks!

  • Keypad: 35 keys (7x5 matrix) --> Use keypad.h library, only need 12 pins. Just saved you 23 IO!

Now your total is 29.

Original totals are still correct (I believe.) The 7x5=12pins is already recorded under IO totals.