Scratch Helper Apps
Now supporting many new Bluetooth modules / robots like LEGO Boost and BBC micro:bit!
As part of Rev-Ed’s local primary school outreach programme we have developed 2 free helper apps to allow control of robotics systems from Scratch 2 or Snap!. They were primarily designed to be used with the offline version of Scratch 2, but will also work with Snap!. Scratch 3 is not supported. Both helper apps were developed following direct requests for assistance from the local primary schools and after school coding clubs we work with.
The helper apps were specifically designed for use by non-specialist teaching staff and students in schools, however private home users are also most welcome to use them. These apps do not require any special builds, modified firmware or technical software knowledge. They are complete, self-contained programs and therefore ideal for remote installation via traditional methods (e.g. MSI on Windows) on school networks.
The helper is cross compiled and so available for Windows, Mac and Linux. The app version will also run on Chromebooks. They will also run on many older computer systems still found in schools that can’t be upgraded, such as MacBooks running 10.6.8 or older PCs running Windows XP.
And, in case you were wondering about the picture, we have a congregation of over 30 Lego alligators (or is that a bask of over 30 crocodiles?) that are used in our Scratch primary teacher training days and Scratch coding clubs. 15 of these are each a different single Lego colour ‘purebred’ reptile (yes, BrickLink is highly addictive)!
We also have the following interfaces and Lego WeDo items available to loan to local primary schools / coding clubs when we are not using them (due to their fragile nature we do not ship, you must be able to pickup and return to our offices at BA2 8SF in person):
- Croc Set A: 15 purebred single colour crocodiles/alligators
- Croc Set B: 15 crossbred multi colour crocodiles/alligators
- Model Set: 8 Lego WeDo models (crane, fairground ride, giant etc.)
- WeDo Set: 15 WeDo 1.0 (USB) hubs
- Interface Set: 10 PICAXE-40X2 Interfaces
We also have a few WeDo 2.0 (bluetooth) hubs and BLED112 dongles available for training courses.
1) S2P Helper App:
S2P allows PICAXE microcontroller programs to be run and tested in real time using Scratch, interacting with real-life inputs and outputs as the Scratch project runs on screen. When you are ready to remove the computer and run the program by itself remotely, you can simply convert your Scratch program into PICAXE code and download it into the PICAXE project board.
For further details on S2P please click here.
2) S2Bot Helper App:
S2Bot allows Scratch (and Snap!) to control various ‘real-life’ robotics systems in real-time. These devices currently include BBC micro:bit, PicoBoard, Sphero, Ollie, BB8, SBrick and LEGO Boost, WeDo, WeDo 2.0, NXT and EV3.
For more information please read the Quickstart guides below. The QuickStart guides also contains further setup information for each type of interface (which is particularly essential for Linux users).
S2Bot is available in two different versions, which support different hardware (see tables below). Both versions work with both the online and offline versions of Scratch 2.0 and Snap!. The Native version is no longer developed, all future new devices will be added to the App version.
Which S2Bot version?
OS |
S2Bot Native | S2Bot App |
Windows (XP, Vista, 7, 8, 10) | ✓ | ✓ |
Mac (Intel, 10.6+) | ✓ | ✓ |
Linux | ✓ | ✓ |
Chromebook | - | ✓ |
S2Bot deliberately supports older computers / OS as still found on many school networks.
Note that any firewall must allow localhost http/tcp communication on ports 17300 to 17330. This is to allow Scratch to 'talk' to S2Bot on the same computer (127.0.0.1).
If the device you want to use is supported in both Native and App versions we recommend you select the 'App' version.
Vernier Go!TempUSB HID-✓
Device |
Connection |
S2Bot Native | S2Bot App |
LEGO WeDo | USB HID | ✓ | ✓ (up to 13 WeDos) |
LEGO PoweredUp (more details...) |
BLE * | - | ✓ * |
LEGO Boost (more details...) |
BLE * | - | ✓ * |
LEGO WeDo 2.0 (more details...) |
BLE * | ✓ * | ✓ * (up to 3 WeDos) |
LEGO NXT | classic bluetooth | ✓ | - |
LEGO EV3 | classic bluetooth | ✓ | - |
Picoboard | USB VCP | ✓ | ✓ |
Sphero 1 / 2.0 / SPRK | classic bluetooth | ✓ | ✓ |
Sphero mini / SPRK+ | BLE * | - | ✓ * |
Sphero BB8 / BB9E / R2D2 / R2Q5 | BLE * | ✓ * | ✓ * |
Sphero Ollie | BLE * | ✓ * | ✓ * |
Vengit SBrick (firmware >=18) |
BLE * | ✓ * | ✓ * |
Vengit SBrick+ |
BLE * | - | ✓ * |
BBC micro:bit (more details...) |
BLE * | - | ✓ * |
Linking Sizuku_6X Tomoru Sizuku_THA Pochiru | BLE * | - | ✓ * |
Thunderboard React | BLE * | - | ✓ * |
SensorTag 2 | BLE * | - | ✓ * |
Vernier Go!Motion | USB HID | - | ✓ |
* Note that these BLE bluetooth devices require a BLED112 bluetooth dongle on Windows, Mac and Linux. Chromebooks can use either the internal bluetooth or an external BLED112 dongle. This is because the app only supports internal bluetooth low energy connections on Chromebooks, but supports the BLED112 dongle reliably on all platforms.
To buy a BLED112 dongle please click here
Download S2Bot Installers (free to use)
Please read the quickstart guide before use.
Version | QuickStart Guide | Installers |
App | QuickStart Guide (App version) |
S2Bot App for Windows (MSI) S2Bot App for Chromebook (App store) S2Bot App for Mac (zip) (to run on Mac right click and select Open) S2Bot App for Linux 32-bit (zip) S2Bot App for Linux 64-bit (zip) (to run on linux extract to a folder on your Desktop. |
Native | QuickStart Guide (Native version) |
Please check whether your equipment needs 'App' or 'Native' in the tables above!
The .sb2 template files are included, simply click the 'Save Scratch Template' menu in the app.
S2Bot App 0.8.6 Updated Sphero mini, BB9E, R2D2, R2Q5 to APIv2 0.8.5 Added PoweredUp support for LEGO Batmobile (76112) and Trains (60197, 60198) Added color sensor support for the Wedo2 Added train motor support to Wedo2, PoweredUp and Boost Added 88005 lights support to Wedo2, PoweredUp and Boost 0.8.4 Added Boost support for normal motors (e.g. WeDo2 motors) Added Boost support for running interactive motor as normal motor Added Boost support for resetting interactive motor position Added Boost button reporter to match WeDo2 button reporter Added Boost/WeDo2/SBrick support for renaming hubs 0.8.3 Fixed issue with Linking IOT temperature status 0.8.2 Added support for Linking IOT devices 0.8.1 Fixed 0.8.0 issue with micro:bit displaying text Added Snap! support with menu to save out Snap! import templates Added support for Sphero mini, BB9E, R2D2, R2Q5 Added support for renamed SBricks (name does not need to be 'SBrick') 0.8.0 Added support for LEGO Boost Added support for Vengit SBrick+ (sensors on ports C and D) Added support for Sphero SPRK+ Added adc1 and adc2 variables to micro:bit 0.7.4 Converted from Chrome App to native nw.js App 0.7.3 Added BBC micro:bit sound 0.7.2 Fixed issue with SBrick motor pulsing 0.7.1 Improved BBC micro:bit responsiveness 0.7.0 Added support for BBC micro:bit Added support for Thunderboard React Added support for SensorTag 2 0.6.0 Added support for LEGO WeDo 2.0 Added support for Vengit SBrick Added support for Sphero BB8 Added support for Sphero Ollie 0.5.2 Corrected issue with WeDo 1.0 motors when changing direction Added menu link to the Quick start pdf helpfile Added minimum Chrome version to manifest (v41) 0.5.1 Changed USB poll rate for better Chromebook support 0.5.0 Added Sphero 1.0 and 2.0 and SPRK support Fixed freeze issue when manually forcing/turning WeDo motor 0.0.4 Added Picoboard support 0.0.1 First Release S2Bot Native 0.1.0 Fixed issue setting WeDo motor direction 0.0.9 Added 'Save' button for templates Separated Ollie and BB8 devices Updated templates to match app templates 0.0.8 Added support for Lego WeDo 2.0 Added support for Vengit SBrick Added support for Orbotix BB8 Added support for Orbotix Ollie 0.0.7 Amended Sphero operation to support Sphero 2.0 SPRK Fixed minor issues with Sphero template 0.0.6 Added dual WeDo support under Windows 0.0.5 Improved WeDo and EV3 support 0.0.4 Added Sphero command to edit the default 2s motor timeout (Sphero firmware upgrade now defaults to 2s) 0.0.3 Added support for Lego EV3 0.0.2 Tweaks for Sphero reliability 0.0.1 First Release On 64-Bit Ubuntu for the native executable you will need to add 32-bit compatibility (if not already done so) sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install ia32-libs-multiarch
Known Scratch Issues:
The build number of Scratch is shown at the top left, under the blue ‘full screen’ button.
- You must use build 423 or later of Scratch for output blocks that also wait (e.g. ‘switch on motor A for 5 seconds’ or ‘rotate motor A 90 degrees’).
- Sensor hat blocks are not supported by http extensions within Scratch. Therefore you must use a reporter block within a loop to 'simulate' a hat event.
- The Windows offline version of Scratch and/or Adobe AIR has a memory leak and often hangs after long periods of inactivity (e.g. if Scratch is minimised whilst you work on something else). If this occurs there is no option but to close and restart Scratch, so make sure you save your project often!
FAQ
Is Scratch 3 supported?
No, scratch 3 is not supported. The apps are for Scratch 2 offline
Are S2P/S2Bot free to use, even on school networks?
Yes, anyone can use them. You don’t need to ask for permission to install on school networks.
Do I need to configure my school network settings?
Any school firewall must allow localhost http communication on ports 17300 to 17330. This allows Scratch to 'talk' to S2Bot on the local computer. S2Bot does not require an active internet connection to run.
Why use S2P/S2Bot instead of the many various Scratch clones/derivatives?
We were specifically asked to support the main Scratch 2.0 build by our local schools. Now that Scratch has very good ‘plug-in’ support for helper apps you can add most robot functionality within the existing main Scratch build, which means schools don’t have to install yet another, slightly different, robotics program (some of which are based on the old Scratch 1.4 and so look quite different to Scratch 2). It also means that younger students can do both robotic and non-robotic projects using exactly the same software.
Can I use S2P/S2Bot with both the online and offline versions of Scratch 2.0?
Yes, you can use Scratch 2 online or offline versions on Windows (XP or later), Mac (10.6 or later) and Linux (we test with Ubuntu 32-bit). The helper apps are NOT running on a website, they are separate, locally installed, stand-alone applications. This means they should work with the offline version of Scartch and also the online version of Scratch (running in almost any browser).
Can I use S2P/S2Bot with Scratch 1.4
No, S2P/S2Bot use the new version 2 ‘http extension’ protocol which is not present in Scratch 1.4
Can I use S2P/S2Bot with Snap!
Yes, all of the templates have been converted to Snap! format too.
Can I use on iPad or Android tablets
No, we currently only support Windows, Mac OS X, Linux / Chromebooks.
How do I add the extra ‘robot’ blocks into my Scratch project?
Simply open the default ‘template’ .sb2 Scratch file provided for each robot system. The new robot blocks with then be instantly shown on the ‘Other Blocks’ tab. These template files also automatically scan for, and connect to, the helper app (look for the ‘yellow/green’ dot by the extension name on the ‘Other Blocks’ tab).
In the Offline version select File > Open
In the Online version select File > Upload from my computer
Can I add my own robot system to S2Bot?
If you have advanced technical knowledge of a different robotic system and want to develop your own app extensions we recommend you start out with one of the other available open-source Scratch 2 helper app systems such as BlockExt. If you have a fully working robot prototype in Python (or any other programming language) let us know and we’ll try to duplicate it within S2Bot. We do plan to make S2Bot open source in the near future, but the source needs tidying up a bit first!
LEGO, Mindstorms, Wedo, Boost, Powered Up, NXT and EV3 are all trademarks of LEGO. S2Bot is not developed by or associated with or endorsed by or sponsored by LEGO. Sphero, Ollie and BB8 are trademarks of Orbotix. SBrick is a trademark of Vengit Ltd.