How to make a pc usb game controller with 40 plus buttons and 4 axis?

So, I'm building a DIY sim racing setup, steering wheel with ffb (the ffb itself be a entirely separate controller), pedal set, steering wheel buttons and a button box.

I want to make the steering wheel buttons, button box buttons, pedal axis and handbrake axis all connected to the same controller.

Like have a box with the controller inside and connect to it the pedals, buttons box, steering wheel buttons and hand brake. This way I can connect all inputs separately to it so it is easier to disassemble the setup if I need to.

And from the controller box only one usb will com out and connect to the pc.

Similar to a commercial one (something like the image attached: https://ibb.co/dpmXRyc).

I can find tutorials for everything separate, but never all together. Doesn't matter if I need more than one controller together (would a Leonardo + Pro Micro Solve it?), but how could I make it?

Which controller do I need to put together, and which types of connections, cables, etc, do I use?

How could I make 'one controller Box' with this many outputs? (at least 40 buttons and 4 axis)

Thanks a lot guys! I appreciate the help!

Edit: Is 32 buttons the maximum for the game controller? If so, can I do it with just an Arduino Leonardo? (32 buttons and 4 axis?) Thanks!

Have you tried the internet?

Thanks for the reply!

Yeah I tried all these videos, and many topics already, that how I ended up here.

Like I said in the post, I found many things that cover everything separately, I want to know if I can do everything in the same controller and make connections on the controller box for the parts I need.

This is why schematics are used! Easy to draw and erase lines rather than replacing wires.

I moved your topic to an appropriate forum category @matthewsmc .

In the future, please take some time to pick the forum category that best suits the subject of your topic. There is an "About the _____ category" topic at the top of each category that explains its purpose.

This is an important part of responsible forum usage, as explained in the "How to get the best out of this forum" guide. The guide contains a lot of other useful information. Please read it.

Thanks in advance for your cooperation.

  1. Determine how many switches, etc. you want in total.
  2. Digital switches can be organized into a matrix to reduce how many digital I/O pins you need.
  3. Variable voltage devices (e.g. a potentiometer) need an analog input each.
  4. Find a board(s) that provides all these pins you need.

If any of the 40 buttons are not momentary, such as latching buttons or toggle switches, or if you need the box to recognise multiple buttons pressed at the same time, like the shift or control buttons on a PC keyboard, then you will need to wire a small diode in series with every switch/button. This is to prevent "phantom" presses being detected, which can happen if there are no diodes.

I would not recommend Leonardo because of its form factor, which is not easy to build into your own project. Arduino Micro or Pro Micro is more compatible with breadboards for prototyping and stripboard/protoboard for permanent soldering.

Pro Micro has 18 pins. If you use 4 of its analog capable pins for your 4 axis controls, you have 14 pins remaining. 40 buttons would require 13 pins if wired as a matrix, so you have enough, but only just enough.