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.
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! 😀