# What is the difference between Kinect for Windows and Kinect for XBox?

As I see there is a huge price gap between the two \$223 vs \$99 (at amazon).

My intention is to use one of those from Ubuntu linux to perform depth sensing, navigation etc. and naturally I prefer the cheaper. However I am not sure if I miss some important point while betting on the Kinect for Xbox version.

As it seems the Windows version is overpriced because it has the license for development. Here it is stated that there are internal differences but without exact details (The minimum sensing distance seems to be better for Windows version.).

Could anyone give a comparison chart? It would be good to know about

• Connectivity: USB, special connector, ... .
• Hardware differences: are they the same or do they really differ in weight, energy consumption, speed, sensing range, ...?
• Driver: could I use Xbox version under Ubuntu?
• API usage: could I develop on Xbox version, could I use the same/similar API on both, is the API for Xbox mature enough?
• License: is it against the license of Xbox version to develop for home/hobby/educational use?

Thanks.

The two pieces of hardware are virtually identical, as asalamon74 points out. There are only a few hardware differences, with a larger set of restrictions based on firmware.

To extend on what asalamon74 has already pointed out, here are some direct answers to your bullet points:

• Connectivity for both devices are USB. If you get a Kinect for Xbox as part of a bundle (i.e., with an Xbox 360) you will need to buy an adapter, available from Amazon and others. The adapter comes with when a Kinect for Xbox is sold individually (due to older Xboxs not having the required port).
• Hardware is virtually the same. Kinect for Windows has a shorter USB cable. Kinect for Windows may have a better microphone array, but I can't be sure of that. Other then that, they are basically the same.
• Driver/API is the same for both devices. The official Kinect for Windows SDK, OpenKinect SDK and OpenNI SDK will all work with both devices.
• License allows you to use the Kinect for Xbox for anything except a deployed (commercial) application.

I use both for development. I have two Kinect for Windows that I use at work and I have a Kinect for Xbox at home. I bring work home with me frequently and I'm able to develop with either version of the hardware, depending on where I am.

There are a few firmware differences that can cause a bit of a hick-up in development. For example, Kinect for Xbox does not support "near mode" tracking. Of course, it only effects you if you're trying to use those features.

Microsoft has said that they are actively developing the SDK with the Kinect for Windows in mind. Although functionality is very close now, that is not necessarily true in the future. Microsoft could very easily flip a switch to disallow Kinect for Xbox to be used in SDK v1.7 -- unlikely, but possible. Although more expensive, Kienct for Windows is a safer buy.

• In the Kinect 2.0, do you if you can use the weight sensing in Windows or if there is a firmware restriction on it? – Termato Oct 21 '14 at 18:49
• +1 - good points. BTW, you have a typo in the last line... Kienct :-) – Greenonline Feb 27 '15 at 20:09

According to this article the hardware is almost the same, only the usb/power cord is different. Even the minimum sensing distance difference is not hardware-based it's only a firmware-based difference.

You can use the cheaper hardware for developing programs using Kinect for Windows SDK, but your customers need the more expensive hardware since Kinect for Windows applications will not work with the cheaper hardware.

The article also states, that

If you want to use one of the non-Microsoft frameworks + drivers for writing Kinect enabled applications such as OpenNI, you are not required to use the new Kinect for Windows hardware.

From Microsoft site: What's the difference between the Kinect for Windows sensor and the Kinect for Xbox 360 sensor?

The Kinect for Windows sensor is a fully-tested and supported Kinect experience on Windows with features such as “near mode,” skeletal tracking control, API improvements, and improved USB support across a range of Windows computers and Windows-specific 10’ acoustic models.

The sensor was specifically designed to be used with computers, and includes a shortened USB cable to ensure reliability across a broad range of computers. Kinect for Xbox 360 was built for and tested with the Xbox 360 only, not with any other platform, which is why it is not licensed for general commercial use, supported, or under warranty when used on any other platform.

Microsoft has a large team of engineers that is dedicated to continual improvements of the hardware and software associated with Kinect for Windows, and is committed to providing ongoing access to Microsoft's deep investment in human tracking and speech recognition.

You can forcefully disable IR light for Kinect for Windows (by using the property ForceInfraredEmitterOff) which you cannot do for xbox Kinect. This feature is very useful when using multiple Kinect sensors because when their FOVs overlap, some serious issues arise.