Open Source Kinect Contest Has Been Won

Adafruit Technologies has announced the winner of the Open Source Kinect contest. [Hector], who we mentioned yesterday has won, providing both RGB and depth access to the device.  Some of you were asking at that time, why the contest was not over yet. Well, Adafruit had to verify. The image you see above are of another user[qdot], verifying the drivers on his machine.

What is interesting is how Adafruit has chosen to close this contest. Not only are they giving [Hector] his prize money, they are also donating an additional $2,000 to the EFF who fight for our right to legally hack and reverse engineer our own equipment.

[Hector] is being generous as well, using his prize money to help pay for gadgets to hack with some teams he is involved with, mainly the iPhone Dev Team and the Wii hacker team “Twiizers”

25 thoughts on “Open Source Kinect Contest Has Been Won

  1. These are the kind of contests we need. Also, this was done quickly. Simply awesome.

    @mfunk: There’s a few different tactic. You can insert a snooper between the xbox and the kinect and see how data is passed (knowing it uses the well defined usb protocol) or you can connect it to your computer and try sending it whatever data and seeing how it responds (which is apparently how the guy who won did it).

    Not something I could do easily either, so I’m also jealous.

  2. @Ben:

    I don’t see where he’s doing that. But to answer your question:

    In C, arrays aren’t really arrays. The variable itself is a pointer, and the [] operator is basically just shorthand for *(array + index). Accessing a negative index will access the space in memory that many elements before the array. Generally not what you’re looking to do…

  3. @mrfunk
    I’m no where even close to this level of reverse engineering. But I’ve made some steps towards it. What worked for me was I found a device that provided source code, the Leapfrog Didj, plus it was cheap too. The source code is kind of like having the answers in the back of the book, so I could get a feel for embedded Linux, and the things that were going on. The Didj uses a special program to allow access to the storage on it, so I decided I wanted to make my own program. From there I had to learn a few things, USB stuff, SCSI commands, and with some help from the source code, I was able to, figure out what was going on, how it was doing it, why it was doing it, and then, I was able to manipulate it to my own needs. I had no prior experience before this, and had the same feelings you do towards it. This exercise helped me get my feet wet, get some ground to stand on, and then I could learn new things from there. Which is how it has seemed to go. Start out with something you do know, then push forward to new grounds, get an understanding for that, and repeat. I had actually started by doing some web stuff on it, because thats what most of my knowledge was, then just stepped thru the process until I ended up writing my first C program which allowed access to the usb drive. I think it helped that starting out, I had no specific goal, other than to learn about the device and process. So I could just go where it took me, with out getting overwhelmed I wasn’t turning it into some specific thing I wanted. You’ll find something that interests you, and go with it, you’ll find something to figure out, and when you do, you will be greatly rewarded for it, in the satisfaction you get. I know its not very specific, but reverse engineering seems more of a mind set, than raw technical knowledge. They both work together, but its completely different than building things, where you are in control of what does what. It also helps to find a group of people interested in the same device, for pointers and tips, or help on things when you get stuck, my program was held up for days cause I didn’t understand what enum did in C, it finally got brought up in conversation, and it was that eureka moment.

  4. @Grayda, that seems a rather immature response, don’t you think? Yes, it’s impressive that the open-source community has reverse-engineered the protocol. It’s a testament to their creativity and skill as technical experts, and should be rightly celebrated as such. To deride Microsoft, on the other hand, disrespects many of the same engineers that made this possible in the first place. Do you honestly think they care any less about their work? Do you honestly think that they’re any less proud to have developed this product and brought it to market? Why on earth you’d want to shoot arrows at the very folks who are providing your hardware is beyond me.

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.