Teaching Portal

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.

Wedo Alligators

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+
(firmware >=18)

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.
From the cmd line cd to this new folder and type
./scratch-hardware-helper)

Native QuickStart Guide (Native version)

S2Bot for Windows

S2Bot for Mac Intel OS X

S2Bot for Linux (32 bit)

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 Version History:
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.