Foot-controlled Mouse Keeps Your Hands On The Keyboard

A bit of mechanical ingenuity makes building this foot-controlled mouse into a fun project. It consists of a platform which hosts one pedal for each foot. The right foot controls the movement of the cursor, and the left is responsible for the buttons.

The guts of a wireless mouse do most of the electrical work for this hack. You can see that the optical sensor is mounted on the front of the right foot pedal. A ball bearing combined with a hinge provides motion on two axes. This moves the sensor past a piece of curved foam made by covering a ball with plastic wrap then spraying foam insulation around it. The pedal on the left has four buttons actuated by moving the toes down, up, left, or right. There’s a centering mechanism for this pedal which uses a rubber band

One thing we wonder about here is whether there is a need to lift and re-center the mouse/cursor? There is also no scroll wheel. But those issues are just waiting for someone to pick up the project and make their own improvements.

27 thoughts on “Foot-controlled Mouse Keeps Your Hands On The Keyboard

  1. Mouse sensors are nifty. If you come across a wireless mouse that uses one of the ADNS cameras, it’s very easy to interface to a microcontroller using the reference design in the datasheets. Just pull the camera and lens out, and do whatever with it.

  2. Simple, obvious, functional – excellent project.

    I think most cameras are independent of the controller chip inside the mouse. So you could probably simulate picking up the mouse by opening up certain lines between the camera and controller chip.

    That, or you might try to experiment turning off the LED to see if the camera will be “silent” when in the dark.

    As the mouse is normally used as a relative positioning device – this “more absolute” positioning device may be problematic. So, could something the size and mass of a boccie (spelling) ball used as a foot track ball be better?

    1. Well, I have thought about almost every possible solution. And that is not enough for a good accuracy. The position of my right pedal sets directly the position of my mouse.

      My best idea was to attach a door hinge on a ballbearing. So the mechanical construction is the main thing.

  3. People are discussing the need to pick up and re-center a mouse, however there are a number of readily available plugins that allow a game controller (such as an airplane joystick) to be used as a mouse. This would allow for absolute positioning on the screen as opposed to relative.

  4. For “picking up” the mouse, I guess you want a button which will either disable the sensor somehow (turn off the LED?) or perhaps move the foam surface away out of range of the optical sensor.

    If your OS does that mouse precision thing whereby faster movements move the cursor more than slower motions, you don’t actually ever need to pick up the mouse- just move quickly in the direction you want to go, and slowly back, and the cursor “ratchets” in that direction.

    1. There is no need to pick up the mouse. If I move my cursor to the side of the screen, my footmouse can move further. When I return the pedal of my footmouse, the cursor starts moving immediately.

      So by swinging the pedal of my footmouse to the sides, the cursor is back in the middle somewhere. I do it without thinking.

      Do you know how you center the cursor with your normal mouse ? Some people pick it up and place it back on the table, others make a swing to the sides, or a combinations of both. It’s easy to do, so normal mice don’t have a “put-the-cursor-in-the-middle-of-the-screen-button”.

    1. The Arduino Leonardo that was introduced this year would be perfect for this. With an accelerometer and gyroscopic sensor, I would finally get rid of the surface that needs to be scanned (foam for optical mouse or with a pen-tablet). I have already bought an Arduino Leonardo and the sensor, but I don’t know if I am able to make it in 2013.

      If I can make it work, it would improve the design. Just a base plate and two pedals, with the electronics under one of the pedals. With a dedicated circuit board, I could also make the electronics much smaller and make it battery operated and wireless.

  5. firstly, sorry for late reply
    well i was laying down, staring at the fan lazily xD doing nothing then i thought of, if mouse can be controlled with legs, thought how to make it, then thought of a controller and a tilt sensor, googled it, found this post of yours, i gotta do any project in my college, soo i chose to do this, but with a tilt sensor, not the way you did it, welll…. i can’t really figure out things properly, so when you’ll make this using a tilt sensor or an accelerometer, can you plleaseee gimme the info? so that i also can make it
    but for now, can you please link me about that Arduino Leonardo that was introduced this year? and which accelerometer and gyroscopic sensor i should use to make it!?!?
    help help, pwease pwease?

    1. A tilt (acceleration) sensor is probably not enough. I think that an acceleration sensor combined with a gyro is needed. You can look for them on the Arduino website (playground section) for acceleration and gyro sensors. Sometimes they are called IMU or 6DOF or 9DOF.

      The Arduino Leonardo was introduced in 2012. I am able to move the mouse with it, but I have not yet connected it to a accel+gyro sensor board. I doubt if I will be able to finish it in 2013. If I succeed, it will be on my website (click on “DossierD” in the header of this post).

  6. As for the issue of re-centering, to avoid side-slamming (which by the way, I’d never thought of, but then I don’t know what I do, it’s so subconscious) could one put a spring-loaded shutter mechanism beside the camera, so you can push your toe against it to shutter in front of the camera and provide a non-moving surface while repositioning? Also, if side-slamming to re-center, what about building the mouse as one board captured in a very shallow box with ball bearings in it, then fix a mouse on a sewing-machine-like arm from the box over the board, then reverse the mouse controls in software if desired to make it more natural. Put a roller for your heel on the front edge of the box for up/down, and use ankle twist action for left/right…main button adjustable pressure switch on moving board wired to mouse button, other button on side of box to be tapped with twist of other foot??

    1. The term “side-slamming” is exactly what it is. But it is not a big problem. I do it automatically. I don’t want to change the mechanical part of the pedal, since that works so well.
      Look at this one:
      That uses the Arduino Leonardo. As you can read in the comments above, the Arduino Leonardo with an accelerometer/gyro would be something I yet have to build for my footmouse.
      The same problem occurs though. The accelerometer (as tilt sensor) can detect if the pedal is horizontal, but not if it is in the middel of the left-right position. Perhaps I will add a hall sensor with magnet to identify the middle.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.