Slashdot Mirror


Strong Contender Already For Adafruit's Kinect Challenge

sammyF70 writes "Adafruit's bounty on open source drivers for Microsoft's Kinect may have been already won. Someone called 'KinectMan2' has posted videos of Kinect's output as seen on Windows 7 to YouTube. That was fast. Hopefully Linux drivers are coming soon." A few more details are available on a forum post the man made. Adafruit said the bounty could be his if he posts the source code, and they also upped the reward to $3,000 in response to another silly statement from Microsoft.

9 of 86 comments (clear)

  1. What's the hard part? by BadAnalogyGuy · · Score: 1, Informative

    The internal OS is WinCE, so the interface is either serial or USB.

    Beyond that, there isn't much to it besides identifying the commands and responses. MS isn't particularly deft in hiding their protocols.

    1. Re:What's the hard part? by Osty · · Score: 4, Informative

      The internal OS is WinCE, so the interface is either serial or USB.

      The internal OS of what? The Kinect? Unlikely. Check the iFixit teardown. The device is pretty basic in terms of processing capabilities, relying on the Xbox to do most of the heavy lifting. Or are you referring to the Xbox? If so, you're still wrong. The Xbox 360 OS is not Windows CE. About the closest you can come to comparing it to another existing OS is by looking at its lineage. The Xbox 360 OS was derived from the original Xbox OS, which in turn was derived from Windows 2000. The extent that the Xbox 360 OS resembles Windows 2000 is almost certainly miniscule at this point, as it runs on an architecture that is not supported by the Windows codebase and does not need most of the core functionality of a Windows OS (shell, explorer, etc). There are probably some bits and pieces of Windows 2000 kernel code still lurking around somewhere, but aside from exposing DirectX and some minimal win32 functionality that's really about it.

    2. Re:What's the hard part? by BadAnalogyGuy · · Score: 1, Informative

      The Marvell AP102 chip (PXA3xx series SOC) runs the OS on the Kinect side. There's no way the XBox could keep up with the necessary processing on its own.

    3. Re:What's the hard part? by Bryan3000000 · · Score: 4, Informative

      It would have been possible for you to respond much more directly to that statement. The iFixit article makes it very clear that the Kinect does pretty hefty onboard processing, resulting in sending a color image and a depth map over what is essentially USB. It's pretty clear that the depth map essentially includes recognition of object positions which is calibrated onboard the Kinect with the information from the microphones, so that the information send to the XBox includes object position along with pre-processed audio for the position of any object. It appears that the Kinect recognizes you as an object and will pan to center you better in the frame all by itself. Did you even look at the array of discrete processors on page 2 of the article? While it may be doubtful that the Kinect runs WinCE, it's quite clear that the XBox does NOT do most of the heavy lifting in processing the image and sound data. Quite the opposite - it looks as though the Kinect provides quite a lot of processed information along with a relatively small amount of raw data. There are no doubt some control commands from the XBox without which the Kinect will not function (i.e. it won't operate by itself with just power), but this most likely is fairly simple message passing which can be reverse engineered with relative ease.

      If I were in the position to do so, I would get an in-line logic analyzer just to look at it myself.

  2. Re:Streisand effect? by icebraining · · Score: 2, Informative

    I didn't take a lot of Economy at university, but I thought corps are supposed to maximize their profits, and achieving any sort of sale counts toward that... But I see your point.

    Lots of console hardware is sold at a loss to help game sales. See PS3, Xbox360 until recently. Every Playstation bought to run Linux and do number crunching was partially subsidized by Sony.

  3. Re:Streisand effect? by 91degrees · · Score: 2, Informative

    Back in the good old days, radios and TVs came with parts that failed after extended use.

  4. Re:Streisand effect? by _133MHz · · Score: 2, Informative

    Back in the good old days, radios and TVs came with parts that failed after extended use.

    The more things change, the more things stay the same. (thin electron gun Trinitron CRTs, capacitor plague, lead-free solder etc)

  5. Re:But will he opensource the driver ? by Yvanhoe · · Score: 4, Informative

    This gets clearer :
    http://codelaboratories.com/projects/kinect/

    He want $10,000 to open source it. He probably just need to raise $7000 + the $3000 of adafruit. I don't know what to think about it. On one hand, this is not such a big price to ask, but on the other, the fact that it was done in 3 days seems to indicate that the work was not that big...
    I guess I will donate $50 in 15 days if nothing comes from the OSS community before.

    --
    The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
  6. Re:Streisand effect? by vadim_t · · Score: 2, Informative

    Actually it seems it can be done without having that much special hardware.

    I've seen reports of people fixing BGA chips by simply remelting the solder. Apparently this is not a very good solution, but it seems to actually work for at least some people. I've seen solutions as low tech as placing a container of burning fuel on top of the chip.

    Going as far as reballing the CPU by hand seems to be doable as well, though tedious and difficult. The process seems to be:

    1. Apply heat to met the solder and remove the chip, protecting the components around with something as simple as aluminium foil
    2. Clean the CPU and board of solder completely, by first melting and sliding off solder with an iron, then absorbing with copper braid, then applying a liquid cleaner.
    3. Reball the CPU by using a kit composed of solder balls and a grid. Heat it enough for the balls to attach to the CPU
    4. Carefully position CPU on the board, and apply even heat to solder.

    I remember seeing a video of that somewhere. It looks like it takes practice and a lot of care and precision, but it seems very doable without using industrial robots or anything of the sort. All the tools and materials seem affordable.