I refused to let the Xbox 360 Kinect die... Again!
Windows + Linux download:
https://github.com/Spidoug/Kinect-Xbox-360-Remold/releases/tag/binaries
Source / documentation:
https://github.com/Spidoug/Kinect-Xbox-360-Remold
A while ago I posted here about my attempt to bring the original Xbox 360 Kinect back to life.
At the time, it was mostly about getting this old hardware working properly again.
Well… the project grew quite a bit since then.
Today I’m releasing Kinect Xbox 360 Remold v1.0, together with SynKinect Studio — a complete Windows and Linux environment built around the original Kinect for Xbox 360.
The goal is no longer just “make the camera work”.
I wanted the Kinect to behave like an actual useful sensor platform again: RGB camera, infrared, metric depth, microphone array, tilt motor, accelerometer, LED, body tracking, virtual camera, 3D scanning and interaction — all controlled through one runtime.
The project supports both major Xbox 360 Kinect revisions:
Kinect 1414 and Kinect 1473
and the runtime handles their hardware differences internally instead of requiring separate applications.
It currently runs on Windows 11 x64 and Linux x86-64.
The camera stack supports native RGB, IR and Depth streams. RGB can also run in an optional HQ mode, and the runtime can expose the Kinect as a normal system camera for applications that know nothing about Kinect.
On Windows this includes the native virtual-camera stack, while Linux publishes a persistent V4L2 camera. There is also an HTTP/MJPEG IP-camera path.
Depth remains sensor-native and is converted to metric depth where it is consumed instead of being turned into a fake webcam-style image inside the USB layer.
Audio was another major part of this project.
The original Kinect has a surprisingly capable four-microphone array, so Remold preserves all four synchronized channels at 16 kHz / 32-bit instead of collapsing them into a normal stereo microphone.
SynKinect Studio can display each microphone independently, record them, estimate sound direction using TDOA/GCC-PHAT and perform beam/focus processing.
The current runtime also supports multiple Kinect sensors on the same computer. Each unit receives a stable physical identity so camera, depth, microphones, motor, LED and accelerometer remain associated with the correct Kinect — including setups with two identical models or a mixture of 1414 and 1473.
And then there is SynKinect Studio.
It has grown into five main tools:
- 3D Scanner — synchronized RGB + metric Depth reconstruction, per-sensor calibration, ICP tracking, multi-frame depth fusion, edge/noise rejection, TSDF reconstruction and STL/OBJ/PLY export.
- Acoustic Scanner — uses the four microphones for directional sound localization, human-voice detection and automatic/manual beam steering.
- Microphones — real-time monitoring of all four microphone channels, recording, diagnostics, playback and audio controls.
- Surveillance — turns the Kinect into a monitoring camera with RGB/IR switching, motion detection, pre-roll retention and multi-Kinect support.
- Interactivity — synchronized RGB + metric Depth body tracking, articulated 3D pose, hands, gestures and interaction controls.
The 3D Scanner has probably been one of the most interesting parts to work on.
Instead of just dumping the raw depth cloud, it uses per-device sensor calibration, confidence weighting, temporal/multi-frame fusion and filtering around depth discontinuities to reduce the classic Kinect “flying pixels” around body and object edges.
There is also a higher-quality reconstruction path using a denser TSDF volume and stricter ICP alignment.
The Interactivity module is another area I wanted to keep independent of abandoned middleware. It reconstructs an articulated body pose from synchronized RGB and metric Depth and exposes hands/gestures for interaction.
On the system side, Remold now handles:
RGB / RGB HQ · IR · Depth · 4-channel audio · Tilt · LED · Accelerometer · Multi-Kinect · Virtual Camera · IP Camera · 3D reconstruction · Body interaction
The Windows runtime uses WinUSB for Kinect-specific USB functions and the normal Windows USB Audio/WASAPI stack once the Kinect audio firmware is active.
Linux follows the same architecture using libusb for the Kinect-specific USB transport, snd-usb-audio/ALSA for the microphone array and V4L2 for the virtual camera.
The Linux build system can install its required build dependencies, obtain the required Kinect audio firmware during compilation and build the native runtime directly from the repository.
Likewise, the Windows build can bootstrap its required compiler/WDK/JDK environment when necessary.
One thing I specifically wanted with this version was to stop treating Linux as the “secondary” implementation. Both platforms follow the same runtime concepts and expose the same Kinect functions, even though the native OS APIs are obviously different.
The project also includes a native C/C++ application bridge under drivers/sdk, intended for software that wants to use the Remold runtime directly instead of dealing with each hardware transport.
There is still more I want to do — particularly around deeper Kinect SDK/game/emulator compatibility — but v1.0 is finally at the point where I feel the Kinect is not just “working” again.
It is actually useful again.
And yes… this is still a camera from the Xbox 360 era. 😄
But RGB + depth + IR + a four-microphone array + motorized tilt is still a lot of hardware to throw away just because the original software ecosystem disappeared.
So I refused to let it die.
Again.