I have made a USB game controller using the Arduino Micro and Omron microswitches (VX-01-1A3) for the buttons. The switch is wired with one end connected to a digital pin and the other end connected to GND. However, I am experiencing issues such as double-clicking, poor contact, and disconnection while using the microswitch. I have tried implementing debounce code, replacing the switch and cables, but the problem persists and often returns after only a few weeks of normal operation.
In the datasheet for the Omron VX series, I came across a diagram:
which prompted me to measure the current through the switch when pressed, which was only about 0.3mA. Since the digital pin voltage of the Arduino Micro is 5V, this state is not within the normal operating range shown in the diagram.
Could this be the reason for the poor contact of my microswitch? If so, how can I increase the current through the switch to bring it within the normal operating range? Would adjusting the pull-up resistor (using an external pull-up resistor instead of the Arduino's built-in pull-up resistor) be a feasible solution?
Thank you for your help.