The “Computer Controlling Glove Thing” (aka. GyroHand)

I’ve been working on a project I’ve described before in one of my posts. Well, I have a prototype now. Besides the very specific movements you have to make to get it working, the thing I call “GyroHand” actually works. It also seems to get a lot of appreciation from my friends. So I decided to dedicate a blog post for it, to write about my plans and thoughts about it.

It looks really ugly with all those wires…

Yeah, it is. After the hardware design stages, it should look much better. Although the wires kinda add some kind of “homebrew” effect to the product, GyroHand will not be a homebrew product after all the development steps.

Some History

About a year ago, I started trying out the gyrosensor with the accelerometer. The first version was retrieving the raw data from gyrosensor and apply it directly to the mouse, with USB connection. I’ve never tested it with a glove that time. With some factoring to the data, it was working well, I received my satisfaction for it and left it to die for like a few months.

As it turns out, it didn’t die. I decided to work on it at an event we were doing with high-school students. I’ve found a glove for it and used duct tape (yeah duct tape :V) to stick the gyrosensor on the glove. I have given its name, GyroHand, after I used it with the glove first time. There was still no wireless communication made for the GyroHand and the cables looked as if my hands were on life-support. And they were too much on the way of moving the hand freely, so I worked on it for a few days and removed the cables using a wifi chip. But wifi was really slow and its connection was too hard to setup. So I replaced it with a bluetooth chip later.

Later I wondered if I can develop a Unity plugin for the GyroHand and I designed a library just for proof of consept purposes and designed a very small game with it.

Some Technical Details

GyroHand uses a gyroscope, an accelerometer and a bluetooth module. The gyrosensor chip (MPU6050) includes an accelerometer in it. It also seems to have a temperature sensor according to the data sheet, which I see no reason why they would put it there :V. There’s also an input on the finger that works when the index finger is connected to the thumb, giving the feeling of holding something with your hand. Other than that, it’s pure software. A specific software on computer listens for the bluetooth port and interfaces with GyroHand.

As for the software side, GyroHand calibrates the gyrosensor on startup. And waits for an incoming connection. After that, it’s completely unaware of the situation. It blindly reads data from gyrosensor, processes it and sends it to the bluetooth chip.

What to do next?

Software! The software design is really ugly. I was actually testing my “Task Manager Framework” for Arduino with this product, the framework is actually fine. But the design is awful. There’s no control over the flow of the execution. I recently started redesigning the software with some diagrams to help me out while coding it.

After the software rework, I plan to make a unified GyroHand application interface. I plan to design a developer API with it to make it easy for independent developers to develop their applications easily. I have no clear feature list for the GyroHand for now. Time will tell what GyroHand API will allow developers to do.

Then the hardware design comes into play. But I have no idea about designing hardware. There’s also the use case issue though. I currently don’t have enough thought process about how this thing will be used and by whom. After than that, I don’t have any idea how this thing will go.

I’ll publish a video with a working demo, whenever I have time. See you soon! 😀

2 thoughts to “The “Computer Controlling Glove Thing” (aka. GyroHand)”

  1. We have a project about controlling servo engine in ardunio. We will use and product exist hand design with 3D.After we wil add software application on it. I think that your project was connected only software and hardware. So very nice and complex project. Althought at the beginning of our project we faced a lot of problem and its level is not good as far as your poject. We will try to design our project. Good success for all

    1. Thanks! Yes, most part of my project is only software. Arduino really simplifies things. But Arduino is nowhere close to designing a custom circuit, considering the performance.
      Servo motors are easy to control over Arduino. There was a library for that. If you don’t want to use a library, you have to take a look at the ATMega328 data-sheets which gives information about how to use its Timer/PWM modules which are (kind of) required to control the servos.

Leave a Reply

Your email address will not be published. Required fields are marked *

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