This is a 3 pedel foot switch I constructed to perform mouse clicks with my feet.
Link to Arduino code: GitHub Repository
This project is part of an overall effort for hands-free computer accessibility. See the TrackIRMouse project for controlling the cursor position with head tracking.
If you're coming from the 'head tracking' project, now we need a way to press the mouse buttons with our feet. One option is voice commands, but that is simply too slow. Another option is a wonderful product called 'Smyle Mouse'. It's aimed at people with a range of disabilities and motor function. Smyle Mouse uses facial recognition to track your head moving to via your eyebrows and lips. It had excellent smoothing as it was aimed at people with a range of motor functions.
I needed the speed & precision only a physical button press could provide. So, I turned to my feet.
I chose the Teensy 4.0 as my microcontroller. With a 32-bit ARM Cortex-M7 CPU running at 600MHz, this board is a bit overkill for the scope of the project. However, the community is very active and Paul Stoffregen had insured solid libraries are available.
Reasons I chose the Teensy 4.0:
Flashing over USB was welcome feature. The Teensy boards support flashing without needing to physically press the reset button. This meant, I could keep the board in an enclosure and update the firmware without removing any covers.
The Arduino IDE makes it easy to compile and flash hardware out-of-the-box. Configuring compiler options is straightforward in the UI as well.
I knew I needed a tough foot switch, something I could use with shoes. I'd be using this in a public office. I was skeptical about existing USB mouse buttons I found on the market.
The Yamaha FC5 Sustain Foot Switch had the qualiies I was looking for:
Here's my humble 1st prototype. I connected 2 wires from the left-click terminals of an old mouse circuitboard to a female guitar jack.