Revision as of 15:44, 23 September 2008 by (talk) (updated to -9, sourced from mit. -pgf)
Jump to: navigation, search
  This page is monitored by the OLPC team.
  english | русский HowTo [ID# 165931]  +/-  

The Scratch folks are porting it to Sugar.

What is Scratch

Scratch is a highly engaging language that allows young students to create simple programs and games. Students use a drag and drop interface of "code blocks" to create sound, movement and actions to objects called "sprites."

A teacher writes: My 6th grade students enjoyed using Scratch. The Scratch website is well designed with both video and written tutorials. My students were especially pleased to be able to upload their completed projects directly to the Scratch Page. This gave the children a much larger audience than they would have gotten simply uploading to our classroom wiki page.

The Scratch team is currently working on an XO version of Scratch. The initial version has little integration with the XO, but all features work on the XO except the "note" and "drum" blocks.

Scratch works fairly well in an XO environment. Several sample projects are included, and students find it fun to open them and edit them as they wish. The main gotcha is that this download has only a subset of the full Media folder that comes with the Windows installation. If you would like additional costumes, backgrounds, and sounds, you can download the full media folder (see below).

How to get started: For young children, the best way to get them interested in scratch is to show them a video tutorial and have them open up complete projects and see how they work.

Make sure to check out the Scratch video tutorials ( for insight about how to use it. MIT's site also has downloadable PDFs with sample projects and reference guides.

If you have feedback about the XO version of Scratch, please write to scratch-xo at


Media and Sample Project Download

To save download time and space in the XO file system, the XO version of Scratch includes only a subset of the sample projects and media library (images and sounds) that come with the full version of Scratch. If you would like the full versions of the sample project and media library folders, you can download and install the following ZIP files:

You will need to install these folders manually using the Terminal tool. First locate the Scratch activity folder. In that folder, delete the Media and Projects folders that came with XO version of Scratch. Then, unzip the above ZIP files to replace them. (These versions include everything that came with the XO version of Scratch plus much more.)

Note: In some some settings (e.g. rural Cambodia), many of the images in the Media folder seem out of place, irrelevant, or meaningless. It is perfectly reasonable to edit or augment the Media and Sample projects folder. For example, it might be appropriate to create your own image library with digital photos of people, animals, buildings, and vehicles from the local environment. It may be possible to make this a participatory activity, with students helping to collect or draw images.


Q: How do I get Java onto the XO?


Q: How do I import pictures taken on the xo (or transfered by usb) to the scratch media files for use as backgrounds, etc?

You can use the XO clipboard to move a photo from the camera into Scratch. In the photo app, drag the photo thumbnail to black edge on the left side of the screen. It should stick there. Then go to Scratch and drag the picture on the Scratch screen. It will be added to whichever sprite (or stack) is currently show in the middle scripts/costumes/sounds pane.

To import photos from the USB drive, insert the USB drive. Then, in Scratch, click on the "costumes" or "background" tab, then click the "import" button. Now, click on the "computer" shortcut. You should see the "media" folder. Double-click on that, and you should see your USB drive. Double-click on that, and you should be able to find and import your photos.

Q: How do I install the full media and project folders?

Here's how to do it using a USB Flash drive. First, download zip file listed above on a Windows or Mac computer and unzip them. Then, put the resulting Media and Projects folders onto your Flash drive. Insert the Flash drive into your XO and start the terminal tool.

Now comes the "black magic" (or so it will seem if you haven't used Unix much).

NOTE: I don't have an XO handy to check all of these steps; if you run into problems, you might ask someone familiar with Linux to help.

In the terminal tool, type:

cd Activities/Scratch.activity

and hit enter. The terminal prompt should change to show that you are in the Scratch activity folder. To check this, type:


and hit enter. You should see a list of the Scratch files and folders. Now type:

 rm -r Media

this will delete the existing Scratch Media folder to make room for the full one. Then type:

 cp -r /media/

and hit the tab key twice. The XO should show you a list of possible "completions" for this file path. There will probably be just one, and it will be the name of your Flash drive as the XO sees it. Type the first few letters of your drive and hit tab again. The XO will fill in the rest of the name. Now add onto that path "/Media ." so you have a command like this:

 cp -r /media/USBDrive/Media .

Note that there is a space and a period at the end of this line, and that your version will show your USB drive name. Now hit enter. The entire Media folder will be copied from your USB drive into the Scratch activity folder.

Now, do the same thing to install the full Projects folder. If you've saved your own Scratch projects in the Projects folder, you should rename the old Projects folder by typing:

 mv Projects OldProjects

Otherwise, you can just delete the old projects folder by typing:

 rm -r Projects

Then type:

 cp -r /media/USBDrive/Projects .

(but with your USB drive name) to copy the Projects folder to your Scratch activities folder.

That's it! You can quit from the terminal and start Scratching!

Scratch Sensor Board

NOTE: There is a bug in Scratch v7 and earlier that keeps the sensor board from working. I've fixed the bug and am working on updating the Scratch activity. But once the new activity is ready, the following should get the sensor board working.

To use the Scratch Sensor Board or Pico Sensor Board (, you must add a file to the folder:


This file should contain the single line:

KERNEL=="ttyUSB*", MODE="0666"

Adding this file allows Scratch to read and write data to the sensor board. You will need to make yourself root using the "su" command in order to add a file to that folder.

See also