scratchfoundation / scratchfoundation/scratch-editor

Working prototype for converting Scratch games to run on an Arduino

Open
#355 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
281
Forks
276
Avg merge
7d 8h
Merged PRs (30d)
6

Description

Hello Scratch community!

Re-opening over here in the monorepo - https://github.com/scratchfoundation/scratch-gui/issues/9972

I have been taking an interest in computer hardware and I have been teaching a class about building DIY video game consoles using Arduino boards and the open source Arduboy schematic. I am hoping to create a follow up class about programming games. I thought Scratch would be a good platform to work off of, as I'd like to keep the class accessible to people new to programming, just as the hardware class is friendly for total newbies.

I have an initial working prototype of a conversion script that can take a Scratch game and convert it into an Arduino C++ project.

I made a post over in the Arduboy forum about this, and you can see on that page the converted game running in the simulator, it also runs fine on the Arudino hardware.

https://community.arduboy.com/t/first-arduboy-game-programmed-with-scratch-and-expanding-educational-use-of-the-arduboy-platform/12784

https://www.youtube.com/watch?v=I_avibps9TQ

I was curious to see if there might be interest from the broader scratch community, or maybe even from the core scratch organization, in a project like this. The MakeCode arcade project from Microsoft that looks to be pretty directly competing with scratch has a list of hardware products that their games can run on. I think it could be a cool area for Scratch to expand into. I have seen a number of past discussions about people creating various bridges to Arduino from scratch, but I haven't seen any implementations that convert the full game code to run on a microcontroller.

I did make a post in the community forums, but so far I haven't gotten much interest on the post - https://scratch.mit.edu/discuss/topic/840113/

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the linked scratch-gui issue #9972 and the Arduboy forum post to understand the existing prototype and prior discussion. Before implementation, define the repository scope, supported Scratch features, and acceptance criteria for converting a game into a working Arduino C++ project.

Written by the indexing model from the issue text.

Assessment

Tech stack
arduino, cpp, javascript
Domain
compilers, embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.