Introduction: USB Foot Pedal

Picture of USB Foot Pedal

I needed to be able to turn the page in a sheet music organizer I made ( ), without stopping playing. After a bit of thought, this usb foot pedal was born. Some companies sell these for over $200. Mine cost $30-$40 to make.

Step 1: Purchase Materials

Picture of Purchase Materials

The main materials used were:

-2 SPST momentary switches from RadioShack
-1 RadioShack Project Box
-1 Mobility USB 2.0 Travel Hub (staples SKU #564851)
-1 GE retractable keypad (staples SKU #603891)
-1/16" sheet steel
-1 superpad extra large mousepad (staples again)

I also used:

-electrical tape
-metal screws
-cyanoacrylate(super glue)
-3m super 77 spray adhesive
-conductive epoxy (if you're prepared)
-hot glue and a circuit writer pen from radio shack (if you're down and dirty)

I'll add part numbers soon, but thats what I needed.

for tools, I used:

-a dremel
-a table saw
-a file
-a drill
-an adjustable wrench
-wire strippers
-soldering iron
-screw drivers
-basically, a well stocked workbench.

OK, now lets get down to buisness.

Step 2: Remove All Casings

Picture of Remove All Casings

remove the casing of the hub and keypad. remove the circuit boards, and use electrical tape to isolate them and stack them in a neat bundle.

Step 3: Connect Wires to the Keypad

Picture of Connect Wires to the Keypad

remove the film contacts from the keypad. Counting from the little plus sign, you need to connect to traces 2, 5, and 6.

you can now cut the film to size, and use conductive adhesive (or a circuitwriter and hot glue if you're lazy like me) to connect 1 lead to trace 2, 2 leads to trace 5, and 1 lead to trace 6.

at this point you can connect everything and test.

touching 2 and 5 should yield a 6, or a right arrow
touching 5 and 6 should yield a 4, or a left arrow

disconnect and continue...

Step 4: Cut and Drill

Picture of Cut and Drill

now you need to cut the project box on a bias, measure and slot for the connections to the hub, and drill and mount the switches. Whew, that went fast, didn't it.

you'll also need to cut down some posts to fit everything inside.

really, cut and fit to feel... and take your time

Step 5: Cut the Base

Picture of Cut the Base

measure, cut and drill your steel base plate...
also measure and cut your non-slip surface (the mousepad)

measure large; its almost impossible to cut a mousepad exactly

Step 6: Assemble the Innards

Picture of Assemble the Innards

stick the innards together, test, and super glue to the metal base, after double checking your electrical tape insulation.

then, connect the switches, solder, and screw it shut.

Step 7: Test

Picture of Test

plug it all in, drop in your software (in my case Repertoire, soon to be available for testing at and test the darned thing.

Step 8: Add Nonslip Base

Picture of Add Nonslip Base

use spray adhesive to attach your mousepad to the base (fabric to metal)

Step 9: Admire Your Handiwork

Picture of Admire Your Handiwork

stand agast in awe mere mortals...

i.e. use the infernal contraption, and enjoy.


annathy (author)2015-11-26

gschoppe, is there a pedal that will work for iPhone or iPad?

This is awesome. I've tried to get my husband to make an analogue version of this for years!

gschoppe (author)annathy2015-11-27

I believe IOS can only use bluetooth page turners, as AFAIK they dont offer usb-otg functionality. One of the cheaper bluetooth models is the "airturn bt 105".

I'm considering building a budget bluetooth unit myself, using an "ezkey hid" from Adafruit or a similar bluetooth HID platform, but i havent had a chance to work on it yet. There was an instructable for this a little while ago, if you search for it.

anna.sargent.37 (author)2014-10-18

I need a foot pedal which allows me to keep track of knitted rows (guess I would need a small program to show the rows on either the laptop or Android phone screen)........... Please techies, help !!! :)

gschoppe (author)anna.sargent.372014-10-18

The easiest way I can see to keep track of this is with a commercial foot switch that can emulate an HID keyboard, like this one: ($11) and a quick bit of javascript to read the key and increment a counter.

On most android devices you can connect a foot pedal like the one I linked, via a cheap USB-OTG adapter.

I had a couple of spare minutes today, so I wrote a quick web app to keep the count for you. It should work on phones, tablets, and pcs.

It's open-source (there's a link to the github repository on the page), so if anyone wants to develop it further, they're welcome to.

Let me know if it does what you need :)

anna.sargent.37 (author)gschoppe2014-10-19

gschoppe, I replied to you immediately, but alas, must not have placed it on the right page. Anyway, THANK YOU, THANK YOU, you are amazing !!! This is so cool and soooo fast that you were able to do this for me. I forgot that such nice people still exist :) As you can see by my avatar, I am way over 70 and technology has sadly left me in the dust. I have tried the software and it works fabulously. Please tell me how it would work with a foot pedal since the software calls for a 'keyboard' button to activate it. The foot pedal lever would be assigned what keyboard key? and would it also work on my Samsung Galaxy S3/4 and what key would it respond to? That is something I would use if sitting in hospital waiting rooms, etc without having to drag my laptop (or maybe it would work also on my Kindle Fire HD ?) Could you maybe contact me via email? Thanks so much.

gschoppe (author)anna.sargent.372014-10-19

You're very welcome, Anna. I'm sorry, but I couldn't find your email address. You are welcome to email me any questions at, but I figured it might also be useful to post the answer here, for anyone else with the same problem.


Most foot pedals on the market, like the one I linked you to will show up as a keyboard to your computer, and pressing the button will read to the computer as if a key was pressed. some of them come with software or configuration switches that let you choose which key you want it to pretend to be. The pedal itself would say which one it defaults to, in it's documentation.

Common default keys for foot pedals are space, arrow keys, or page down.

With your Samsung galaxy, you would just need a "USB: On the Go" (also written as USB:OTG) adapter, to connect the foot pedal. Here is a pretty cheap option on Amazon ($2): . With a phone, you likely won't be able to use software to choose which key the foot pedal emulates, so you'll have to set the row counter to whatever the default key is (as listed in the foot pedal's documentation).

I'm sorry to say that the Kindle Fire doesn't seem to support USB:OTG, so the only way you'd be able to use it with a pedal would be to purchase a bluetooth foot pedal, like the AirTurn BT-105 ($69) . This would be much more portable, but the price tag is quite a lot higher.

If you were to buy the BT-105, I believe the key setting is "pagedn".

I also added a few new features to the web app today, at the request of some nice folks from

anna.sargent.37 (author)gschoppe2014-10-18

You are unreal !! I will dig into this tomorrow. I am 73 and technology has definitely left me in the dust.....

Thank you so much and if it does work, if you throw in a pedal, adapter, etc. you could make some serious bucks on a knitting website, seriously !! There are thousands of us out there looking for something super easy without having to use our fingers to push buttons,rotate dials, etc since those fingers are busy holding two or 4 needles.

ksharma1 (author)2011-04-09

Raj Orien Industries offers medical transcription equipments in India such as transcription foot pedals , dictation headphones , Amplifiers. This company is from India and Having in this business from last many years.
Their website with Price list page :

pinoytranscription (author)2011-02-01

Here's another alternative using an el-cheapo USB gamepad

Got the gamepad for PHP100 (roughly $2.50 US)

Works seamlessly with ExpressScribe.

westfw (author)2009-12-13

Here's my "simplified" version.  I didn't need the USB pass-through option.  I had an existing footswitch that simply completed contacts in the attached cable.  And the PCB is from a full-sized USB keyboard (which is cheaper than a keypad, paradoxically, and often found in dumpsters due to broken or dirty keys, with electronics that work just fine.)  The original connectors for the flat mylar were removed with solderwick, and wires attached to the appropriate pins (which were determined by a combination of tracing the original keyboard, probing conductivity with a meter, and trail-and-error with the board connected to a PC.)  I still need a box of some kind for the board.  (I kept the original cable, because it's a nice flexible cable;  we'll have to see whether that's a good idea...)

Alfred A. Amaus (author)2008-10-25

Looks something very similar to what they've done at with pedalbook and the transcription foot pedal. Looks like pedalbook is a sheet music organizer of sorts as well.

alanofstbreward (author)2008-08-25

My wife has a knitting machine and a program called Designaknit. You should connect the machine to the PC with a very expensive serial cable which has a reed switch worked by a magnet to count the rows as the machine carriage moves back and forth. The program will also count a row every time spacebar (or up arrow)is pressed. I have tried to make a homemafe cable to do the same thing but I have not had much success, The problem seems to be that the program will not respond to Sendkeys in the way I think it should. Any ideas?

killerjackalope (author)2007-09-01

did a pair of gutted PS2 foot pedals and a Usb adapter not seem easy or even pedals for computer games and a hardware assigner as I call them

gschoppe (author)killerjackalope2007-09-01

yeah, that'd be bulky, I needed to bag em with a laptop, and I wanted software portability (i.e. no drivers or installs on any win 2000/xp/vista computer)

killerjackalope (author)gschoppe2007-09-02

hmm makes sense though finding a pedal that was double sided would be great for the switches and then using the mouse idea it's a good solution you have here though and if needed a third button could easily be added using extra keypad buttons

computerthomasparks (author)2007-04-06

for hardware for mac i suggest controlermate for seting buttons and a gutted logitech attack 3 joystick because thay are esey to work with.

radiorental (author)2006-04-11

you can do away with much of the hardware by using a two button wireless mouse.

Lumpio- (author)radiorental2006-10-31

Indeed... this project uses way too much (expensive!) hardware for something so simple. I did something similar to this from an old broken USB-mouse, some semi-driver magic lets the OS distinguish between the actual mouse and the extra button thing. (I consider myself lucky for using Linux, you try telling Windows a mouse isn't a mouse!)

gschoppe (author)Lumpio-2006-10-31

I can't see any difference in hardware requirements, cost-wise. the hub (i.e. the "expensive" (read 7.99) addition) is just there to allow a usb pass-through, so I don't waste a port (only 2 on my laptop) essentially, where you wired a mouse to 2 switches, I wired a keypad... they cost just about the same, and I didn't muck around with windows (or linux) drivers. BTW, its not really hard at all to tell windows that a mouse isn't a mouse, its just that repertoire (the intended use) is a program that I wanted to be able to run off a thumbdrive with no install, and I couldn't figure how to distinguish mice without an install of some sort.

gschoppe (author)2006-04-12

ok, i've put a pre-alpha of the php for repertoire at

try it out, and tell me what you think

keng (author)2006-04-11

i have a cheap usb mouse hooked up and using to assign it to all kinds of different things. currently it's my audio/video start/stop and volume up down.

mikesty (author)keng2006-04-11

Care to share your code for this? <3

keng (author)mikesty2006-04-12

if you have quickmacros (QM), i sure can but without quickmacros, i wouldn't know how to do it.

generally what you do is this.
you hook up the extra mouse (in my case mouse AND keyboard see for the process i used to create this huge "button pad") to your pc and fire up a function in QM that watches/recieves the ids of the keyboard and mice that are sending signals. you create a macro that does what you need. in my case the macro turns the sound up when i roll the mouse wheel down (i have the mouse "upside down" to have easier access to the buttons). when QM sees mouse #2 do something that has a macro assigned to it, it interupts the signal and plays the macro instead.

gschoppe (author)2006-04-11

also, this project could be done wirelessly using a wireless keypad, most notably available from targus or iconcepts' mobility line

radiorental (author)gschoppe2006-04-12

Very cool, when you upload the app I'd be very keen to look at it. I'm building a dance-dance-revolution system for people with disabilities. I was going to hook a wireless mouse in to an old skool Simple Simon game as the controler for people to tap out the sequence with their hands. Remap the mouse buttons to up/down/left/right but I think I'll use a wireless keypad now (I have a donor mouse but I think I'll side step the buttom mapping) Cheers - pauric

gschoppe (author)2006-04-11

quick question, if I used a mouse, how do I distinguish it from my pointing device, so that it doesn't interfere with meaningful clicks... i need to be able to navigate with both a mouse and footpedal... also, I'll attach code tomorrow

radiorental (author)gschoppe2006-04-11

I may have misunderstood the application but I thought that this was a virtual page turner while the operator was reciting music. In this case you would either be operating the footswitch and music instrument, or operating the computer with keyboard/mouse. OS handle two meese pretty well. So, to put it another way, multiple input devices are ok. Just not simultaneously I think I may be coming across as dismisive of your project. Just providing an alternative that I'd do as I dont code. Another advantage as I see it is that browsers will resize images to the window or use the scroll wheel for 100% view. Dont know if this is relevent for sheet music on a normal monitor?

gschoppe (author)radiorental2006-04-11

the problem with browser resize is that no current browser implements it well. In all major browsers you lose a lot of the readability.... I used php to resize the images to screen size on upload; the gd library does a much better job of resize than a browser...

I'm not trying to put down the mouse idea, i considered it, but couldn't figure out how to implement it without making the entire interface pedal driven... i needed to have both links for the mouse and pedal control.

btw, to use the foot pedal with an html file, just include the following javascript:

<script type="text/javascript">
function control(e){
var evtobj=window.event? event : e //distinguish between IE's explicit event object (window.event) and Firefox's implicit.
var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode
var actualkey=unicode //String.fromCharCode(unicode)
if(actualkey == 37 || actualkey == 52)
location.href='url of previous page'
else if(actualkey == 39 || actualkey == 54)
location.href='url of next page'

radiorental (author)2006-04-11

If someone didnt want to write such an application an alternative would be to drop the images to be displayed, in this case sheet music, in to individual html pages. Build a table of contents in to your index.html. Use a four button wireless mouse with scroll wheel to built a 3 pad foot swtich for Select (left mouse button), Back (back button) and forward (guess..) you could even incorporate a scroll wheel in to the footswitch and use your big toe to scroll up and down your table of contents on the fly. afanku very mucha

mikesty (author)radiorental2006-04-11

How would you go forward? You'd have to preload all the pages to begin?

radiorental (author)mikesty2006-04-11

Usually the 'back' & 'forward' buttons on these meese are programable. Now I'm not 100% up on my html but if its not possible to have a link to the next page highlighted on pageload then it should certainly possible with a sequence of tab-space if your mouse software allows. I think the MS app does it. good point, I had not thought that through.. but it should be easily overcome.

gschoppe (author)2006-04-11

the reason for the keypad was to make the software side easy... my application is php based, so I just use javascript to detect keypresses.

The usb hub is only there to provide a passthrough. I didn't want to use all my usb ports on one project.

About Repertoire:
Repertoire is a PHP driven, thumbdrive based program that allows users to upload, organize, search, and display gif, jpeg, and txt based sheet music.

due to lisencing negotiations, I cannot make the full beta available yet, but I will release the php files on my blog in a day or so. its still beta, but it should fuction ok.

the foot pedal is used to switch pages in tunes with multiple pages, or to move between adjacent songs.

more information will soon be available at

psdcc (author)2006-04-11

Great idea! Could you provide more information about the sheet music manager you developed?

About This Instructable




Bio: I'm a self proclaimed renaissance man. My goal in life is to have a conversational/practical knowledge of every subject known to man. I ... More »
More by gschoppe:The AnonyBox - A cheap and easy network device to manage anonymity onlineJack-o-lanterns from years pastHeart-Shaped Paperclips
Add instructable to: