A CircuitPython project on a RP2040 that allows a foot-friendly array of buttons and switches to act as a USB keyboard. Think of it as a quite watered down variation on a StreamDeck or the sort.
A short video of when I was tinkering with the code and testing inputs.
An early proof of concept in a random cardboard box.
Since this was a one-off project, I didn't keep track exactly of the parts and bits I used, so here's my best attempt at providing a way for you to replicate this. Please note that the amazon links are affiliate links!
- Controller: Raspberry Pi Pico RP2040
- Heavy duty foot switch: TEMCo Heavy Duty Foot Switch CN0003
- Alternate foot switch: Sparkfun Foot Pedal Switch
- Mode buttons: Arcade Buttons N.B.: These aren't exactly what I used, I had some buttons I had bought from a local store. However, these are very similar.
- Jacks for foot pedals: Jacks N.B.: Like above, I had some I purchased from a local store, but these are similar.
- USB Panel mount: Cable
- Display: 1.14" Color TFT
- Case: The link is gone, but I found it on eBay. There's lots of sellers from China & Hong Kong that sell all sorts of metal enclosures that would work. Here's a link to a random one that looks very similar to what I got.
The code here is definitely a quite bespoke for my setup, but it has dreams of being broken out and cleaned up one day. For now, it's likely best used as inspiration should you decide to duplicate my efforts in some way. Feel free to ask questions or suggest improvements, though!
I needed a third hand. I found myself often wanting an extra ability to press a keyboard button or mouse click while I was working on hardware where both of my hands were tied up. I figured my feet were free, so why not use a foot pedal to work as a keyboard press or mouse click.
This project is the quick and dirty implementation of exactly that.
PROJECT is licensed under the Zero-Clause BSD License (SPDX-License-Identifier: 0BSD).
Copyright © 2021 Chris March Dailey
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.