So it's that time in my project cycle again, when my thoughts turn to datagloves and mobility. Clove 3 is an extension of the widely-disseminated Clove 2 and Clove projects, and expands upon the lessons learned. Among the improvements I hope to make with Clove 3:

:: Better materials: Clove 2 was constructed using conductive thread hatched to create rectangular contacts. Use revealed this approach to be unreliable, especially in the long-term, as wear and tear on the contact threads caused increasing pressure to be necessary for proper conduction. Clove 3 uses a combination of conductive thread "traces" with conductive fabric "contacts", which I anticipate will be much more reliable. Preliminary resistance/conductivity tests have supported this hypothesis.

:: Easier typing set: Blogs and users discussing the Clove 2 project were (rightly enough) quick to point out how slow it was to type with Clove 2. Each different letter key was a different finger combination, with several modes to switch between uppercase, lowercase, and numbers/symbols. The memorization necessary and slow speed turned even me off from long-term use of Clove 2. A primary goal of Clove 3 is to simplify typing. I plan to employ a T9 (preductive text)-based approach. The twelve contacts on the palm side of the four fingers can be touched with the thumb just like the twelve keys on a telephone keypad, and will be used to predictively type words in the same way. The contact on the side of the index finger will be touched to skip to the next predicted word, just as in the T9 system. In addition, four contacts on the fingernails of the four fingers will permit switching to an explicit alpha mode, wherein repeated taps of keys will cycle through the letters associated with that key. For example, switching to alpha mode and tapping the [abc] button twice will produce a "b". I feel that this approach will be much more intuitive for the general populace, much easier to learn, and much faster to reach a faster top typing speed. The main disadvantage is slow speed for non-English and non-prose, but I expect to be able to address that with custom dictionaries.

:: More streamlined design: Rather than a glove with a cable to a wrist-mounted electronics package, I plan to attach a small electronics package to the back of the glove with velcro. I anticipate this package to be roughly 2"x2"x(<0.5)", and to consist of the following components:
- Li-Poly battery
- 434 MHz transmitter
- Atmega 328 uC for raw key encoding
- Gyroscope for mousing
The transmitted key/mouse codes will be received by a match 434MHz transmitter connected to a uC board of some kind, hopefully emulating a hybrid HID mouse/keyboard device. I will use an SD card attached to this receiver to store the dictionaries for predictive text, using the Arduino SD library.

:: Mouse abilities: Clenching the four fingers to the palm and holding out the thumb will enable mousing mode, regardless of glove orientation. Tilting the hand will move the mouse cursor, with speed and direction relative to the delta-orientation of the hand. Tapping the index finger side contact will left-click. Either a tap or a release of some kind will right-click. Releasing the clenched fingers disables mouse mode. I do not anticipate the possibility of simultaneous mousing and typing.

My current bill of materials for prototyping:
>> Firm Grip-brand extra-large Utility work gloves, SKU 2020XL, $10 at Home Depot
>> 4.5 square feet of Medtex 180 stretchable conductive fabric, $30 plus shipping and handling from LessEMF
>> Conductive thread from Sparkfun, purchased for Clove 2
>> Conductive wire/solder glue, $5 plus shipping for two containers, to be used to bond conductive thread to a socket on the knuckles of the glove.
>> 434MHz RF transmitter/receiver pair from Sparkfun, purchased during Free Day 2010
>> Two Atmega328 microcontrollers burned with Arduino "Optiboot" bootloaders, one each for the glove and receiver.

Future parts will likely include the gyroscope, a battery and charger, potentially a power-management breakout board or circuit, an enclosure, velcro, and other miscellaneous components.

This is very cool. I like the idea of the mouse mode, too. I'm impressed by the relatively low price-tag on this. Can't wait to see some videos of it in action.

Lest I be misleading, it is far from complete, but it's on the front burner of my project stove. I look forward to showing screenshots. The current plan is to do the project in a series of stages:

1) Physical typing contacts: connected to a socket, with a wire tether to a microcontroller, for testing
2) Building of the glove-back electronics on solderless breadboard
3) Consolidation into finished form

I've always thought it would be interesting to place accelerometer/gyroscopes on one's fingertips in order to detect gestures like pointing, pinching, and grabbing.

That would likely be a Clove 4 sort of improvement. One suggestion that I have gotten many times is the ability to interpret and understand sign language performed with Clove, which would be a significant hardware and software challenge. It's something I'd like to do in a future design, though.

Today I've been focusing on figuring out the electronics and fine-tuning the BoM for that.
>> Seems like a good accelerometer: http://shop.moderndevice.com/products/mma7260qt-3-axis-accelerometer
>> Need two of these ol' reliable ATmega328Ps, one each for the glove and the receiver: http://www.sparkfun.com/products/10524
>> Associated pair of 16MHz crystals and quad of loading capacitors, for the two uCs
>> On the glove: 3 analog pins will be for the accelerometer, leaving 2 analog pins and 13 digital pins. Two digital pins are needed for the transmitter, leaving 11 digital pins and 2 analog pins. Clearly this isn't enough for 19 contacts, but I can't really pull a grid and call it 9 pins at 4x5. The palm-side finger contacts are 12 "rows", index finger side is a 13th, and the two non-thumb fingernail contacts are basically the 14th and fifteenth, leaving the 2 thumb and 2 palm contacts as the only four "columns". Multiplexing time! But how? The 74LS150 is a massive 24-pin 16-to-1 multiplexer, requiring 4 pins for data select (strobe can be tied low), and 1 pin for the actual input. Actually, it would be better to use a demux as power and read the state of the 4 "column" lines, so a 1-to-16 demux would be preferable. Cf the 74LS154, which should do nicely, just 4 lines for output with G1/G2 tied low, then read the 4 columns, taking 8 digital pins, leaving 3 spare digital I/O and two spare analog input! Huzzah.
>> Power: still need a power board and battery.

As you can see, I've chosen my method of interfacing for the glove-side electronics. I plan to place a cuboid (maybe 3" x 3" x 0.4" or smaller) enclosure or smaller on top of that blue socket, with the "plug" offset inwards so that the blue socket is entirely within the enclosure when plugged in. The enclosure will of course contain four items:

1) ATMega328p and support components: oscillator/loading capacitors, voltage regulation, RGB LED, etc. Also the line multiplexing in the form of 2x 3-to-8 demux or 1x 4-to-16 demux.
2) Battery and support components: 3.7v->5v booster/charger, like the circuit used in this unit I mentioned in my previous post.
3) Accelerometer
4) RF transmitter

I'm strongly leaning towards a custom PCB with appropriate (SMT??) components as necessary, which would double be something new for me. Thoughts?

Edit: Note to self: Mouser possible for enclosures. More notes to self: charger/booster, accelerometer, transmitter, and a 110mAh battery can pack into about 1.75"x1.75". Can the socket receiver, the uC, the demux, and support components fit in too? Definitely needs to be a double-decker. Maybe the four non-IC pieces arranged around the socket/plug, then a full 1.5"x1.5" PCB on top with the ICs and support. Finally, need 20th pin in receiver socket for 17cm antenna, which will be a conductive thread, although I really should check on boundary effect interference and account for trace length.

I really hope so. I'm trying to design it to be as fast and easy to use as possible, as well as to look relatively inoccuous (ie, not covered in random wires and components) so that the likelihood I'll use it traveling and at my desk will be much higher.

I really hope so. I'm trying to design it to be as fast and easy to use as possible, as well as to look relatively inoccuous (ie, not covered in random wires and components) so that the likelihood I'll use it traveling and at my desk will be much higher.

I've always thought it would be interesting to place accelerometer/gyroscopes on one's fingertips in order to detect gestures like pointing, pinching, and grabbing.

That would likely be a Clove 4 sort of improvement. One suggestion that I have gotten many times is the ability to interpret and understand sign language performed with Clove, which would be a significant hardware and software challenge. It's something I'd like to do in a future design, though.

Ventilation is not something I really thought of, although that might be something I'll have to consider. I can't imagine any sort of tiny ducted fan wouldn't run down any Li-Poly battery far too fast.

Ventilation is not something I really thought of, although that might be something I'll have to consider. I can't imagine any sort of tiny ducted fan wouldn't run down any Li-Poly battery far too fast.

I was thinking more passive ventilation. Scissors + Mesh + Sewing? But you could also try a small thermoelectric chip, could you not (either for active cooling, or to generate current and extend your battery)?

That's an absolutely fascinating idea, I'll definitely have to look into that! @DShiznit: definitely, but orders-of-magnitude harder to process. Actually, you saying that just made me realize that not only can I use the accelerometer for mousing, when not in mouse mode, I can use it as a gesture modifier. Flip hand for capital letters, sideways for symbols or something? I'm intruiged.

That's an absolutely fascinating idea, I'll definitely have to look into that!

Glad to be of service =)

Quote:

@DShiznit: definitely, but orders-of-magnitude harder to process. Actually, you saying that just made me realize that not only can I use the accelerometer for mousing, when not in mouse mode, I can use it as a gesture modifier. Flip hand for capital letters, sideways for symbols or something? I'm intruiged.

How well does the accelerometer track absolute orientation (compared to relative motion)?

That's all I want it for, gravity sensing. From what I've read, that's what accelerometers in the 1.7g range that I'm examining are good for. I unfortunately got a gyroscope during the first Sparkfun Free Day, thinking that that was what was used for inertia-independent gravity sensing, but I was wrong.

That's all I want it for, gravity sensing. From what I've read, that's what accelerometers in the 1.7g range that I'm examining are good for. I unfortunately got a gyroscope during the first Sparkfun Free Day, thinking that that was what was used for inertia-independent gravity sensing, but I was wrong.

I've worked with some sensors that are basically just a ball in a box and do very well with orientation, but other sorts (like an iPhone or Wiimote sensor) are better for relative motion.

Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.