More Than a Hobby..




Arduino Firmare here: S4AFirmware15.ino

About S4A

S4A is a Scratch modification that allows for simple programming of the Arduinoopen source hardware platform. It provides new blocks for managing sensors and actuators connected to Arduino. There is also a sensors report board similar to the PicoBoard one.

The main aim of the project is attracting people to the programming world. The goal is also to provide a high level interface to Arduino programmers with functionalities such as interacting with a set of boards through user events.

The interface

An S4A program to control a light-sensor Theremin, with record and playback capabilities

Arduino objects offer blocks for the basic microcontroller functionalities, analog and digital writes and reads, and also for higher level ones. You can find blocks to manage standard and continuous rotation servomotors:

In S4A, an Arduino board is represented by a special kind of sprite. The Arduino sprite will automatically find the usb port where the board is connected.

It is possible to connect to multiple boards at the same time by just adding a new Arduino sprite.

Technical details

Supported boards

S4A works with Arduino Diecimila, Duemilanove and Uno. Other boards haven't been tested, but they may also work.


Components have to be connected in a particular way. S4A allows for 6 analog inputs (analog pins), 2 digital inputs (digital pins 2 and 3), 3 analog outputs (digital pins 5, 6 and 9), 3 digital outputs (pins 10, 11 and 13) and 4 special outputs to connect Parallax continuous rotation servomotors (digital pins 4, 7, 8 and 12).

You can manage a board wirelessly by attaching an RF module to it, such as Xbee.

S4A allows you to control as many boards as USB ports you have.


S4A is backwards compatible with Scratch, so you can open Scratch projects in it. However, you won't be able to share your projects on the Scratch community website because doing so goes against the Scratch terms of use.

Take in account that this compatibility doesn't work both ways, so you won't be able to open an S4A project from within the original Scratch.

Using a PicoBoard along with an Arduino board is also supported.


S4A interacts with Arduino by sending the actuator states and receiving sensor states every 75 ms, therefore the pulse width needs to be greater than this time period. The data exchange follows the PicoBoard protocol and needs a specific program (firmware) to be installed in the board. Please refer to the section for further instructions on how to do so.

Donate to S4A

If you wish to help us continue developing and maintaining this project, you can always make a donation!


Hardware? Child's Play!

Scratch for Arduino (S4A) is a modified version of Scratch, ready to interact withArduino boards. It was developed in 2010 by the Citilab Smalltalk Team and it has been used since by many people in a lot of differents projects around the world.

Our main purpose was to provide an easy way to interact with the real world by taking advantage of the ease of use of Scratch.

Documentation and Examples

Here you'll find all the documentation, videos, examples and exercices we have created.


A zip file with complete materials and exercices for a workshop can be downloaded here:

Elisava Workshop Materials 2011

These materials were created and used by our team in an actual S4A course at the Elisava School of Design (Barcelona) in 2011.

Basic Examples

Here you'll find basic S4A examples, complete with the Arduino schematics and an .sb Scratch project file for you to download.

Button and LED

A simple example showing how to trigger an LED by pushing a button.