Discuss Scratch

pishi-ai
New Scratcher
23 posts

Arduino Extension for Scratch Physical Computing (by Pishi.ai)

Hi everyone,

I wanted to share an Arduino physical computing extension we’ve been working on for Scratch users who want to connect real hardware to block-based coding.

Pishi.ai Scratch is a Scratch-compatible editor that includes an Arduino extension designed for education and beginner-friendly physical computing. It focuses on keeping the Scratch experience familiar while allowing students to control real boards and sensors.

What the Arduino extension supports:

* Connecting Arduino boards to Scratch-style blocks
* Reading sensors (digital and analog inputs)
* Controlling LEDs, motors, buzzers, and other outputs
* Designed for classrooms, workshops, and self-learning
* Works without requiring students to write Arduino C/C++ code

The goal is to help learners move from on-screen projects to real-world interaction using the same Scratch logic they already know.

We’ve put together a clear help page with setup steps, supported features, and examples here:
https://pishi.ai/help/arduino-physical-computing-in-scratch/

Feedback, questions, and suggestions from the Scratch community are very welcome. We’re especially interested in hearing how others approach physical computing with Scratch.

Thanks for reading!
Graphicalpunch
Scratcher
8 posts

Arduino Extension for Scratch Physical Computing (by Pishi.ai)

i like the arduino integration idea but how will the cycle go like this: blocks -> javascript -> c++. and what about other models
pishi-ai
New Scratcher
23 posts

Arduino Extension for Scratch Physical Computing (by Pishi.ai)

Graphicalpunch wrote:

i like the arduino integration idea but how will the cycle go like this: blocks -> javascript -> c++. and what about other models
Great question

At the moment, the extension works in a live communication model, not a compile-and-upload workflow.

Current flow:

Scratch blocks -> JavaScript extension (running on the PC)

The PC acts as the main controller

Commands are sent to Arduino using StandardFirmata protocol

Arduino executes the commands and sends sensor data back in real time

So there is no JavaScript -> C++ compilation step right now. The Arduino runs a pre-uploaded Firmata sketch and responds to Scratch-style commands.

We also support Bluetooth communication, so the Arduino doesn’t have to stay connected via USB, while the PC still remains the main controller.

One advantage of this approach is that it allows higher-level logic on the PC, such as combining Arduino control with AI extensions (for example: face or motion recognition in Scratch triggering physical actions).

That said, we are considering a future feature where users could upload compiled firmware (HEX) directly to the Arduino, but this is not implemented yet.

We’re very open to feedback on alternative models or use cases the community would like to see.

Powered by DjangoBB