The Gauntlet

A one-handed chorded-input keyboard.

Similar projects worth following
This is a wearable keyboard that uses your fingers as the keys! Conductive contact points along the four fingers allow for multiple finger combinations, which are captured by a microcontroller and converted into keyboard output. My goal is to build one for a wearable computer (to make input significantly easier than a standard keyboard), but it has applications for virtual reality, augmented reality, smartphones/watches, and normal computer use.

Straight up, here's the gritty stuff:

As it currently stands (08/20/2014), the Arduino reads seven pins and checks if any are high. If a pin is high, it saves that state into a boolean array and does not output the array until all pins are low.  It then translates the array into a decimal value, which will be the index for the scancode (how keyboards send characters) it will output to the device it is connected to.

Here's a rough outline of how it will work:

The seven pins all map to seven conductive pads on the glove, which can be pressed against two different pads (each at 5V) to raise the corresponding pins.

Now, about scancodes. Back in the olden days, near the beginning of time as computers knew it, the first keyboard communication standard was created. It is now known as Scancode Set 1. Since then, there have been two new additions to the PS/2 keyboard scancode party (unsurprisingly called Sets 2 and 3), and there is a USB scancode standard documented in the USB HID Usage Tables (I'll be using v1.11).


All of my work (hardware and software) is released under the MIT License. The Arduino board files are under the Creative Commons Attribution Share-Alike license, the Arduino Java IDE is under the GNU General Public License and the Arduino C/C++ microcontroller libraries are under the GNU Lesser General Public License.

  • 1 × Glove It should fit your hand...
  • 1 × Conductive Tape Roll I like Nashua Tape. It's the superior tape.
  • 1 × Rubber Adhesive Tube I used DevCon. Just make sure it sticks to your glove.
  • 9 × Female Prototyping Wire Ends Because I didn't have any male ones at the time.
  • 9 × Male-Male Prototyping Wires For connecting the glove to an Arduino.

View all 7 components

  • Arduino as HID Keyboard

    nitr1c08/26/2014 at 06:24 0 comments

    I stumbled onto this very descriptive page about how to make an Arduino appear to the computer as a USB keyboard, rather than the standard MCU/Serial Port combo:

    I'll be using these instructions for the first round of testing (wired USB scancodes) once i figure out any changes I want in the scancode output and hardcode it into the firmware.

  • USB Scancodes Only

    nitr1c08/24/2014 at 18:34 0 comments

    After a long amount of debate with myself, I've decided to focus exclusively on the USB scancode set (at least until this project works as planned).  Turns out that the USB-to-PS/2 adapters convert the scancodes, so there's no reason to double the work! And it looks like Bluetooth utilizes the USB scancode set, so this will decrease the amount of work while maintaining a workable goal.

  • Conductivity

    nitr1c08/21/2014 at 05:37 0 comments

    My hands are conductive!! Right now I need to wear a second glove under The Gauntlet, but if I insulate the pads in the next iteration (probably with electrical tape) I can avoid this uncomfortable problem.

  • Accelerometer?

    nitr1c08/20/2014 at 06:49 0 comments

    Why stop at just keyboard input? Why not add hand tracking too, so it can be a mouse/gesture input too?! Because I might not have time, that's why. But it's still a decent idea to consider.

  • Finger Friction

    nitr1c08/20/2014 at 06:46 0 comments

    If there is still as much friction between fingers at the end of this build as there is now, it's all wasted. Smooth finger motion is necessary, since jerky motions will result in incorrect typing and sore tendons.

  • Power Requirements

    nitr1c08/20/2014 at 06:43 0 comments

    For USB and serial connections, this baby should be able to power itself off of the lines provided.  Bluetooth connections are going to need some external power source, and a way to switch the power off/charge when connected over wires.

  • Scancodes

    nitr1c08/20/2014 at 06:40 0 comments

    Scancodes are pretty freaky, since there are 3 different sets used over PS/2 and a single defined set over USB. Since this is supposed to be a seriously connected device, and not every machine accepts the USB standard (or even anything besides Set 1...), I'll need to include all of them into the device and give it either (preferably) a way to differentiate its connection or (less preferably) manually set which set to use. Should be loads of fun!

  • Switching to Arduino!

    nitr1c08/20/2014 at 06:32 0 comments

    Arduino's a (relatively) nice, so I'll give this a shot for now and see if it works any better than the TI Launchpad I was trying to use before...(turns out, it DOES!!).

View all 8 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates