Latest version of Kinect2Scratch can be found on http://scratch.saorog.com. This blog is no longer updated. →


    csunfoley said: I hate to bother you, but could you update your instructions? The links dont work (but I can find latest versions OK), and my Prime Sense folder doesnt have the files you say to copy. I can give you more detail if it helps (my scratch class is dying to try this!).

    Hi CSunFoley,

    It’s no bother, it’s just that the the folks who made the software have updated their drivers and they don’t make the old ones available.

    When I get emails asking for the old files I share them, but with the proviso that they aren’t redistributed.

    Luckily we no longer have to do that, as Microsoft have released their SDK for Kinect and I have rewritten the Kinect2Scratch program with loads of new features. It’s much easier to use and install. The only catch is it’s Windows 7 only (MS restriction, not mine). 

    I’m looking for feedback from beta testers at the moment, I’d love you and your class to try it.

    More details here: http://scratch.saorog.com/?page_id=2




    ICTEdu Conference Tipp Inst

    Here is a list of the links I’m talking about today:

    Clare McInernry (Lero.ie) http://www.lero.ie/people/claremcinerney

    National Scratch Competition: http://www.scratch.ie/

    Transition Year Scratch Workbook: http://www.scratch.ie/students

    Scratch & Kinect (This blog)


    Twitter Followers Visualisation App

    Not Scratch or Kinect this time, something a bit different.

    I like Twitter. I’m @saorog on it. I don’t go in for ‘I had breakfast’ posts, but it can be very useful, especially for PLNs. I wanted to see who of the 92 folks who followed me had the most followers themselves. So I wrote a little program to do it. I thought you might like to try it out yourself.

    Here is a Processing applet I made to visualise my Twitter Followers. It uses the physics library from Traer.cc. I’ll post details on how it works tomorrow (it’s bed time here).

    The Google App Engine is very cool, and very useful, it’s hosting it:



    Twitter Followers Visualisation →

    This is the PDF output of a Processing program to show my Twitter followers.


    clwmckenna said: Hi, I am interested in using Kinect in Scratch but I have no idea where to find the drivers on the OpeNI website. Can you help me?

    Hi clwmckenna,

    Sorry I missed your question before, please try the driver installation steps below to get it set up on your system. Let me know if you need any help.



    awakedreaminguk said: Hi Stephen,

    What you have achieved looks really exciting. I am struggling to get it to work, though. I have installed the openNI drivers. When I try to run your OpenNI2Scratch program, I get the error message:

    "The program can't start because openNI.dll is missing from your computer. Try reinstalling the program to fix this problem."

    I have checked and it appears that OpenNI64.dll is installed instead. I have a 64bit system.) Is there anyway I can get the program to look for OpenNI64.dll instead of openNI.dll? I have downloaded the C++ code, but C+++ and Visual Studio are both new to me so I don't have much of an idea regarding where to look.

    Best regards

    This answer is now out of date! Go here instead: http://scratch.saorog.com/?page_id=2

    Hi Mark,

    Thanks for your question. You shouldn’t need Visual Studio unless you intend modifying the code. So try the following steps. They were originally posted on the Scratch forums by a smart fellow called Richard in the US. I don’t think he’d mind me paraphrasing them here. All my work was on 64 bit systems and there wasn’t an issue. I hear that MS are prepping a Kinect SDK and that will hopefully remove some of the messing getting drivers etc. working.


    1. Assuming you have a Windows XP or later OS and the internet:
    2. Download and install OpenNI:
    3. Note on above step when we did this, 25 was the unstable version and 23 was the stable version. This was updated a few days ago. I have NOT tested the new versions. They may not work. We found 25 worked on Windows 7 but XP needed 23. No idea why.
    4. Download the Kinect sensor plugin:
    5. Run the precompiled SensorKinect-Win32-5.0.0.exe file from the Bin directory to install
    6. Install NITE:
      Use the key: 0KOIk2JeIBYClPWVnMoRKn5cdY4=
      (note: the “=” at the end matters. Also, put it in a font that lets you see the difference between uppercase i, lowercase L and the number one; if you are typing it in, and not cut-and-pasting. We have found that only the 17 version seems to work for some windows systems (XP particularly).
    7. Copy the XML files from
      "c:\Program Files\Prime Sense\Sensor\SampleXMLs\NITE\Data"
      "c:\Program Files\Prime Sense\NITE\Data"
      (overwrite files) 
    8. Copy the XML files from

      "c:\Program Files\Prime Sense\Sensor\SampleXMLs\OPENNI\Data"
      "c:\Program Files\OpenNI\Data"
      (overwrite files) 
    9. Now run OpenNI2Scratch

    That should do it. To calibrate, stand well back and assume the pose of legs slightly parted, arms bent at the elbows and fists raised to the ceiling. It should take a second to sense you. Now run Scratch and load one of the sample programs.

    I will try to record a video showing these steps on a new PC I have just received. It might help those with annoying driver issues!

    Hope this helps, let me know if you get it working.



    Binary Update Link →

    This answer is now out of date! Go here instead: http://scratch.saorog.com/?page_id=2


    Small update, code and binary available →


    techkids said: Hi Stephen

    I have tried your kinect-connect. And sometimes I loose the connection between Scratch and Kinect, especially when I am going away to make same changes to my scratchprogram (out of sight for the kinect). Then I have go away, start all over again with your program.

    And it would be nice to have somekind of soundsignal, when the kinect is ready and has calibrated the user. Maybe I am too old so it´s hard to see what´s going on in the interface reporting status ;))

    Otherwise it´s sooo promising. I will try it with some kids in a afterschoolactivity. But if it´s to complicated with losing the user etc... they will tell my; It´s crap, boring... But I will have it a go any way...

    Best regards,
    Anders Berggren

    Hi Anders,

    Good to hear from Sweden! The issue with losing the tracking on a user is a hardware issue, the Kinect will sometimes lose the user if they walk away from one direction and do not return from the same direction. There is not a lot I can do except send signals to Scratch when that happens.

    To minimize losing tracking, run C:\Program Files (x86)\OpenNI\Samples\Bin\Debug\NiUserTracker.exe first to ensure that you are positioned in a good location and the Kinect is at the correct height.

    I will send the following signals to Scratch as broadcasts for you: New User Spotted, User Lost, User Calibrated. I suggest you record an announcement in Swedish (or play any sound) that will respond to the broadcast messages. I will place instructions on the blog when the new code is ready (probably tonight, GMT 11pm or so).

    I hope the school children have fun with it! 




    mischaub said: Hi! Thanx so much for the update - you made my day. During the night I planned to write you to include the Z-values and in the morning I find them already done. Wow. Everything seems to work great now, even in BYOB, which I am using. Please do inform soon how to get the record animation feature, as we are having an openhouse from noon today and tomorrow and our visitors would just love to see this, as myself of course. I appreciate your contribution very much.

    Thanks, Mischaub, the recording features (and multi-user) are on the way, but I have to take a break from C++ and do lot’s of exam corrections. I’ll have more updates when they’re done.

  12.   Create a similar script to this for a sprite.

    Full image link →

    Create a similar script to this for a sprite.

  13.   Create head_x, head_y, head_z.
See the examples in the first post for other joint names. 

    Full image link →

    Create head_x, head_y, head_z.

    See the examples in the first post for other joint names. 

  14.   Create some variables (actually, you may need to create a lot of variables).

    Full image link →

    Create some variables (actually, you may need to create a lot of variables).

  15.   Remember to enable sensors (right-click).

    Full image link →

    Remember to enable sensors (right-click).