Scratch allows kids (and everyone) to create their own games, interactive stories, and animations using a visual programming environment. Scratch is made by the Lifelong Kindergarten (LLK) group at the MIT Media Lab. The ScratchX.org site is a place for trying out new, experimental extensions to Scratch — e.g. for connecting to hardware or web services. As a member of both Arduino and LLK, I’m especially excited about this possibility to combine Scratch with Arduino.
This Scratch extension, created by Kreg Hanning and me (mostly Kreg), communicates with the Firmata firmware on an Arduino board. This allows you to send the Arduino commands using special Scratch blocks. To start, we have blocks for working with LEDs, servo motors, buttons, rotation knobs (potentiometers), light sensors, and temperature sensors. There are also more general (and Arduino-like) blocks for doing analog and digital input and output. For more information, see the documentation.
Of course, this isn’t the first attempt to connect Scratch and Arduino. For other approaches, see S4A, s2a_fm, and Catenary. For even more options, see SparkFun’s discussion of alternative programming interfaces for Arduino.