Blog Home

Scratch extension for Arduino (experimental release)

David MellisMay 11th, 2015

arduino-scratch-extension

With the new (experimental) Arduino extension for Scratch, you can create visual programs to control sensors and actuators connected to Arduino boards. Try it on the new ScratchX site.

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.

If you have any trouble using the Arduino extension or have any suggestions, please open an issue on the extension repository.

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.