Blog Home

Scratch extension for Arduino (experimental release)

David MellisMay 11th, 2015


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 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.

9 Responses to “Scratch extension for Arduino (experimental release)”

  1. legonick22 Says:

    If this is combined with Scratch capabilities on the Raspberry Pi, I imagine the educational capabilities will be maxed out!

  2. heath Says:

    This is fantastic for my 7-yr old. We tinker with Scratch on a Pi and he gets it, but Arduino has been above his abilities. I’ve been hoping something like this would come out for hardware. This is huge for us.

  3. Osqui Says:

    Should it be possible to extend this to Snap ( Thanks

  4. scanet Says:

    Great ! Using browser plugin makes it so simple !
    I trained french STEM teacher on Scratch + s2a, and yours is another possibility. With many different ways, each one can choose ‘his’ best for teaching.

    I created a ‘s2a control panel’ for windows users, to make everythnig simple : upload firmata, launch device management, sort documentation/exercises, … If it could help I can make a fork for you :

    Impatient to see your next improvement.
    Thanks !

  5. rpiitm77 Says:

    We at Robotix have started using Scratch 2.0 extension for Arduino and controlling our Phiro a new educational robot to be launched soon.

  6. clic Says:

    The Scratch extension seems to switch on the integrated Pulldown resistors on Arduino input pins. I am working on a project with sensor contacts like MakeyMakey. There I cannot use any integrated resistors. Is there a way to switch them of in the Scratch extension?

  7. nuzza412 Says:

    @Osqui Arduino is working on an experimental extension for SNAP! that will work with the Modulino shield + all the Modulino sensors. Arduino and Makerini worked together on an experimental workshop that was presented during the Maker Faire Bay Area.

  8. tmancebo Says:

    The link

    doesn’t work 🙁
    I couldn’t find the plugin at mozilla’s add-ons web either.

  9. ????????????-Scratch??????(1060308?0315?0322) « ???????? Says:

    […] Arduino Blog – Scratch extension for Arduino (experimental release) […]

Leave a Reply

You must be logged in with your Arduino account to post a comment.