Simple to build programmable foot switches

programmable-footswitches

Your hands do a lot of work between the keyboard and the mouse, why the heck are you letting your feet be so lazy? [Dossier van D.] is putting an end to the podiatric sloth. He built this set of three foot pedals which have gone through two versions of functionality.

The buttons themselves are made from a base plate of plywood with a smaller piece on top for each ‘key’. The two parts are separated with some foam carpet pad, with a tactile push button in between to register a click. The only thing we’d change about this is adding a couple of wooden spacers next to the switch so that accidentally sanding on a button doesn’t break that electronic component.

Originally each button was soldered to a gaming controller. This worked just fine using button mapping, but recently [Dossier] made the switch to using an Arduino Leonardo. This is a perfect choice. Unlike input devices made with older Arduino versions the Leonardo board can natively register as a keyboard, making it a snap to programmatically map any key to the switches.

If you like this project you should check out [Dossier's] foot mouse as well.

Comments

  1. Gizmos says:

    Sanding on the button could be avoided if it isn’t made of wood…

  2. If you’re going to build the switch mechanism, why not build the switch contacts? I used a metal tab sticking out between the coils of a spring for a power button on a laptop conversion. It can be pressed until it bottoms out without doing harm. It’s cheaper, too.

  3. Colecago says:

    I like the minimalist approach, but for footpedals, you might want something that can handle more abuse. I found some industrial motor control footswitches and repurposed them as my footpedals
    http://blog.colecago.com/?p=19

    • DossierD says:

      Thanks for the link.
      But I don’t know where I can buy footpedals like that.

      Your footpedals are very like my footswitches.
      The advantage of my code is that the code is programmable. I use the virtual serial port of the Arduino Leonardo to set the keyboard and/or mouse click into the Arduino Leonardo. I wanted to change the keyboard code easily.
      Since the teensy uses a ATmega32U4, you should be able to use my code.

      • Colecago says:

        I’ve thought about making it configurable, either through the serial port upon boot-up, or by making a program that edited the c file and and ran winavr and such to create the hex and ran the teensy loader. Either way, it was some work and didn’t feel a rush to do so.

        Another more intriguing way for me, is to make it act like a gamepad versus a keyboard. Then you should have no conflicts with current binds. There doesn’t seem to be a wealth of information on implementing the gamepad HID though so I haven’t looked too thoroughly.

        As for footswitches, Sparkfun has some metal ones for like $5. MPJA also has some nice metal ones for pretty cheap.

      • Joe Carlone says:

        http://www.linemaster.com

        American Made Foot Controls. The one pictured in the link is a twin Clipper.

      • agenthp says:

        For my Arduino stompbox I use the simplest approach by using static but very exotic modifier/key combinations that I never use in my daily desktop sessions and dynamically attach actions to key presses in my scriptable window manager (awesome wm). I use stomp switches from sparkfun, they are pretty sturdy.
        http://omk.sf.net/?page=stompotto

  4. echodelta says:

    They sell a usb 2 unit footswitch for backspace and space. Seen it in some catalog.
    Try and play piano without a sustain pedal! Those little tack sized switches will not hold up well. Maybe old mice clickers. There needs to be pre and post closure slop.

  5. http://www.ilcicali.com/ . I don’t know if my teensy macro keyboards qualify as hacks.

  6. DossierD says:

    There are many ways to make footswitches.

    Does anyone know if my footswitches are the first DIY footswitches which can be programmed (without the need to reprogram the Arduino Leonardo). Even without configuration software, since the virtual serial port is used. So it is OS independent, and keyboard codes or mouse click can be easily be changed for every task.

    • RoadWarrior222 says:

      If you tie it to a weather balloon it could be the first DIY arduino powered, programmable, wooden pedal, foam hinged footswitch onnn theee edddgggeee offfff spaaaaaaccee.

      • DossierD says:

        Lol!
        But I made it for myself, because I wanted different keyboard keys for different tasks. So they are actually useful, even if it is only for myself.

        • RoadWarrior222 says:

          Two suggested improvements… make some stops the depth of the switch body and put them at the bottom corner of each pedal, to prevent twisting and relieve the switch body from undue mechanical stress. and secondly, harden the area where the switch touches, it will knock a dimple there over time and fail to activate. You can spread epoxy on it, or glue a small hard plastic or metal plate there.

          I guess I’m not hyper enthusiastic about it, because although it’s a cool learning thing to do with the arduino and not all that trivial to achieve, I’ve got USB/gameport footpedals that I can find drivers which hook keyboard input and assign keys for most OSes, so could use them in a similar fashion if I needed to.

  7. Michael Waters says:

    Doesn’t help much if you sit in an ergonomic “kneeling” chair.

    http://en.wikipedia.org/wiki/Kneeling_chair

  8. Leumis says:

    I thought that the Teensy COULD natively register as a keyboard. At least that is the impression I got from Paul (of pjrc.com) when I was talking to him last about something very similar to this. Am I wrong?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 92,375 other followers