EdScratch programming language
EdScratch is a vertical block-based visual programming language based on Scratch. EdScratch combines the ease of drag-and-drop programming with powerful functionality and versatility. The result is a robot programming language that is easy to learn and offers a robust platform for computer science education.
The online EdScratch programming environment is designed to deliver meaningful computer science education through an easy-to-use interface. EdScratch’s intuitive layout and the simplicity of block-based coding makes EdScratch an ideal programming language for students aged 10 and up. Helpful features, like the built-in bug box, make the transition to using more complex programming structures approachable even with no prior coding experience. As students gain confidence in coding, they can do even more by controlling inputs, manipulating data, and creating and utilising variables, making EdScratch a perfect platform to use Edison’s features in engaging, creative ways.
You can access EdScratch online at www.edscratchapp.com
Resources
These free, downloadable resources can help you get the most out of EdScratch.
The EdScratch lesson plans set
Consisting of the Student Set and accompanying Teacher’s Guide, The EdScratch Lesson Plans Set includes a complete curriculum for teaching computational thinking and computer science using EdScratch and the Edison robot. The lesson activities and project ideas are organised into six units beginning with an initial preparatory unit and culminating in an open-ended project-based unit. Designed for flexible use, you can choose just the activities that suit your interests or teach the entire curriculum!
Lesson activities – student set
The student set of the EdScratch lesson activities contains worksheets and activity sheets designed for independent use by students in Year 5 (10-11 years old) and above. With 98 activity options organised into six units, the student set contains a mix of structured and open-ended activities that introduce key concepts and learning objectives while engaging students in an active exploration of Edison and EdScratch.
The student lessons include clear instructions, colourful illustrations, activity sheets for testing program solutions and challenges for students to work through as they learn computational thinking and computer science fundamentals.
Download the EdScratch lesson activities – complete student set
Teacher’s guide to EdScratch
This guide offers overviews, delivery recommendations and other supporting information for the EdScratch lesson activities to help make teaching EdScratch easy and fun. Designed to be used in partnership with the EdScratch student set, the teaching guide provides:
- an overview of each unit, including the key learning objectives of that unit,
- an overview of each lesson with a list of all activities in that lesson,
- a dedicated section per activity detailing:
- the activity’s purpose and objectives,
- supporting information including estimated time requirements, supply requirements, and tips for delivery, and
- an answer key including recommendations on assessing student work.
EdScratch warning messages guide
The EdScratch programming environment includes a ‘bug box’ at the bottom of the app which automatically checks for errors in the program. Warning messages are displayed in this bug box to help you find and fix problems in your code.
This guide includes all the warning messages that can be displayed in the bug box of the EdScratch language app, including an explanation of what each means and examples of when you may encounter the message.
EdScratch programming projects with EdCreate
Give your students opportunities to program solutions to real-world robotic challenges using EdScratch and EdCreate, the Edison robot creator’s kit. Multiple programming challenges using the EdCreate EdBuilds are available in the EdCreate teaching guide. Or unlock your student’s creativity and EdScratch programming prowess with the EdCreate EdChallenges!
FAQ
Using EdScratch
How do I access EdScratch?
EdScratch is available online at https://www.edscratchapp.com/
How do I download a program to Edison?
Edison V3 computer
To download a program to Edison V3 from a computer, connect Edison’s USB cable to your computer’s USB-A port. Click on the ‘Program’ button in the top-right corner of the app. A new window will pop-up, select ‘Edison V3 – paired’ and click ‘connect’. The program will then download into Edison V3.
Edison V3 iPad
To download a program to Edison V3 from an iPad, click on the ‘Program’ button in the top-right corner of the app. A new window will pop-up. Place Edison V3 over the outline, press the round button one time and then click ‘Download program’. The round dot will flash your program code to Edison V3.
Edison V1/V2
To download a program to Edison V1/V2, first connect Edison to your computer or tablet via the EdComm cable. Make sure that the volume on your device is at maximum and all sound enhancements are disabled. Press the round button on Edison V1/V2 one time. Then click on the ‘program Edison’ button in the top-right corner of the app. A new window will pop-up. Follow the instructions on the window and click ‘program Edison’ on the new window. The program will then download into Edison. Remember to listen for the success sound before unplugging the EdComm cable to ensure the program fully downloads.
How do I run an EdScratch program on Edison?
Once you have successfully downloaded a program to Edison and disconnected the programming cable, then you can run your program by pressing the play (triangle) button. This will immediately start your program.
Where do I find all the blocks I can use?
All of the EdScratch blocks are in the block pallet, which is located on the left-hand side of the EdScratch programming environment. Select a category from the nine options at the top of the block pallet to see all the blocks inside that category.
How do I know what a block does?
The written description on each EdScratch block describes the command that block gives to the program. For any blocks which have input parameters, (including number inputs, drop-down menu options and greyed-out holes) you can change the input parameters to modify the command.
You can learn more about the different EdScratch blocks in our tutorial videos which walk through each type of block in line with the EdScratch lesson plans.
What are the greyed-out holes in some of the blocks?
Some EdScratch blocks contain an oval or a diamond-shaped hole which is greyed-out in the base block. These holes are spots for special input parameters which can be added to the block using appropriate diamond or oval-shaped input blocks.
Helpful warning messages related to these blocks will appear in the bug box at the bottom of the EdScratch programming environment. These messages provide details specific to the blocks in your program.
You can learn more about these types of input parameters in our tutorial videos which walk through each type of input parameter in line with the EdScratch lesson plans.
What are the yellow and red messages in EdScratch?
The EdScratch programming environment includes a ‘bug box’ at the bottom of the app which automatically checks for errors in the program. Warning messages are displayed in this bug box to help you find and fix problems in your code. There are both red and yellow warning messages which can appear depending on the issue detected.
You can learn more about the error messages in EdScratch in our tutorial videos and in the EdScratch warning messages guide.
How do I save my EdScratch program?
To save a program to your computer go into ‘Menu’ and select the ‘Save to Computer’ option. A pop-up box will open where you can give your program a name. Once you have named your program, click the ‘Save to Computer’ button. Your program will then be downloaded as a file to your computer. You can find the program in your ‘downloads’ folder.
How do I load an EdScratch program?
To upload a saved file from your computer into EdScratch, open the EdScratch online application, go into ‘Menu’ and select the ‘Load from Computer’ option. A pop-up box will open. Follow the steps and select the EdScratch file you want to load from your computer (EdScratch for Edison V3 files have a file extension .edscratch, and EdScratch for Edison V1/V2 files have a file extension .ees). Once you have selected your file, click the ‘Load program’ button to upload and run the program in EdScratch.
How do I delete blocks?
Blocks can be deleted by dragging them to the bin in the lower right-hand corner of the EdScratch app, dragging the blocks back to the block pallet, or by right clicking the block with your mouse and choosing the ‘Delete Block’ option.
How do I copy blocks?
You can add additional copies of blocks to the programming space by dragging the blocks you want from the block pallet to the programming area. You can also right click the block with your mouse and choose the ‘Duplicate’ option.
Blocks in the ‘Events’ category of the block pallet cannot be duplicated. A maximum of one of each Event category blocks can be in a program. You can learn more about the Event category blocks in our tutorial videos and the EdScratch lesson plans.
Where are the blocks in the ‘Data’ category?
The Data category allows you to make and manage variables for use in your EdScratch programs. To use variables in EdScratch, click on the Data category in the block pallet, then click on the ‘Make a variable’ button. Once you enter a name for your variable, click the ‘Create Variable’ button. This will generate your variable and populate the Data category with a set of blocks you can use with any variables in your program.
You can learn more about the Data category and variables in the Unit 5 video of our tutorial videos and in the same unit inside the EdScratch lesson plans.
What characters can I use in my variable names in EdScratch?
EdScratch variable names can only contain lowercase English letters, uppercase English letters, numbers, and underscores ( _ ). Other symbols, like exclamation marks ( ! ) or spaces, are not allowed. Variable names cannot start with a number.
____________________________________________________________
About EdScratch
What kind of language is EdScratch?
EdScratch is a vertical drag-and-drop block-based system that has been developed using the Scratch Blocks code base developed by the MIT Media Lab from the Blockly code base developed by Google.
EdScratch is developed by Microbric Pty Ltd using open source software created and maintained by the Scratch Foundation. The Scratch Foundation does not sponsor, endorse, or authorize this content. See scratch.mit.edu for more information.
What age user is EdScratch for?
EdScratch combines the ease of drag-and-drop programming with powerful functionality and flexibility, making it an ideal language for learning the foundations of computer science. EdScratch and the free-to-download EdScratch lessons are ideal for students in Year 5 (10-11 years old) and above.
What do the different categories of blocks in EdScratch do?
All of the blocks in EdScratch are arranged into one of the nine different block categories in the block pallet.
Drive
The dark blue blocks in the Drive category are all related to the Edison robot’s motor outputs.
LEDs
The dark purple blocks in the LEDs category are all related to the Edison robot’s LED outputs. Both the visible light (red LEDs) and infrared LEDs outputs (for IR messaging) can be controlled using blocks in this category.
Sound
The light purple blocks in the Sound category are all related to the Edison robot’s audio outputs. Single beeps, musical notes and blocks which control only music note blocks are all in this category.
Data
Initially containing only two buttons, the Data category is how you make and manage variables in EdScratch. Once a variable has been created by using the ‘Make a variable’ button and giving the variable a name, the Data category is populated with dark orange blocks related to data manipulation using any created variables.
Events
The yellow blocks in the Event category are all sensor-related event blocks that can be used as interrupts beginning subroutines in EdScratch programs.
Control
The light orange blocks in the Control category are all programming control structures which can be used to affect the flow of an EdScratch program. Loops, waits and if-statement control blocks can all be found in the Control category.
Sensing
The light blue blocks in the Sensing category are all related to the Edison robot’s various sensors. These blocks allow you to turn different sensors on or off, clear stored sensing data and use sensing data as value inputs (oval shaped blocks) or Boolean inputs (diamond-shaped blocks) inside blocks in an EdScratch program.
Operators
The green blocks in the Operators category are all blocks that can be used as either value inputs (oval shaped blocks) or Boolean inputs (diamond-shaped blocks) inside blocks in an EdScratch program. The Operators category blocks include expressions and computation operators designed to be used with sensing and other data inside programs.
Comment
The pink block in the Comment category allows you to add in text comments as notes in a program. Comment blocks are ignored by the compiler and have no affect on the EdScratch program. Comments are designed to be used as useful ‘sticky-notes’ helping the programmer and others understand the program.
Which browsers are compatible with EdScratch?
Edison V3 computer
Chrome, Edge and Opera
Edison V3 iPad
Chrome, Firefox, Safari, Edge and Opera
Edison V1/2
Chrome, Firefox, Safari, Edge and Opera
Is there an EdScratch iOS/Android app?
You can use EdScratch through the online app at https://www.edscratchapp.com/ with devices running either iOS or Android. Dedicated iOS and Android apps for EdScratch are being considered but are not currently in development. Please be sure to sign up to our newsletter to be informed about future app releases.
Is there an offline version of EdScratch?
At this time, there is no offline or downloadable version of EdScratch in development. As such, you do require an internet connection to use EdScratch.
EdScratch requires the code you program in the environment to be compiled in order to be downloaded into the Edison robot. To ensure the compiler works correctly across all platforms and keep costs such that we can deliver EdScratch at no charge, delivering through an online solution is the best option for EdScratch. This online solution also enables us to ensure that we are able to provide updates and improvements into the live system for all users on an ongoing basis.
Can I switch the display language in EdScratch to something other than English?
At this time, EdScratch is only able to display English inside the application. We will be looking into a translation solution for EdScratch in the future, but do not have a release date for this feature at this time.
Please be sure to sign up to our newsletter to hear about this update when it becomes available.
_________________________________________________________________
Troubleshooting in EdScratch
Why isn’t my program downloading?
Edison V3 computer
Edison V3 and EdScratch use a special feature found in the Chrome and Edge browsers called WebUSB that allow Edison V3 to be programmed via USB. This means that browsers such as Firefox and Safari will not allow Edison V3 to be programmed via USB. We recommend the Chrome browser for use with EdScratch, which can be downloaded for free here: https://www.google.com/chrome/
Edison V3 iPad
When programming Edison V3 using an iPad it is important to check the following:
– The Edison V3 is aligned to the outline displayed on the screen
– Move away from any bright sources of light, especially sunlight
– Ensure you have up to date firmware in your Edison V3 (update via computers only)
– Ensure the battery in the iPad is well charged as features such as power saver mode can reduce screen brightness
Different models of iPads have different screen resolutions, brightnesses and responsiveness. If you are unable program Edison V3, then experiment with the following:
– Adjust the download speed. Usually slower is more reliable, but it is worth experimenting
– Adjust the screen brightness to between 80% and 90%, but again it is worth experimenting and testing above and below that range
Edison V1/2
Depending on the type of computing device you have, there are a few different things that can cause problems downloading programs with Edison V1/V2 and EdScratch. Make sure your programming device is set up to work with EdScratch. Follow the step-by-step guide on setting up your device for EdScratch beginning on page 5 of the Getting started guide.
You can also find additional troubleshooting help in our online troubleshooting guide.
Also, please note that when many users in a single location, like in a classroom, are downloading programs at the same time, you may experience slower internet speeds. This can cause the program to take longer to generate the ‘program Edison’ pop-up box and for the program to download to Edison V1/V2. With a very slow connection, you may need to try again. Press the stop (square) button on Edison, then press the record (round) button one time. Restart the download by clicking on the ‘Program’ button in the top-right corner of the app.
How do I use EdScratch with Version 1 Edison robots?
Version 1 Edison robots which have the latest firmware update are compatible with the EdScratch programming app with a few limitations. Version 1 robots are only capable of using time to measure distance, and therefore users must select ‘seconds’ as the distance units option in any block that requires this input parameter. Selecting other distance units input parameters, such as ‘cm’, ‘inch’, or ‘degrees’ will not work with the Version 1 robots and can result in some bizarre behaviour from the robot. Likewise, it is recommended that you avoid using the sensing and event blocks related to ‘drive strain’ with Version 1 robots as these blocks can cause the robots to behave erratically.
How do I fix warning messages in the bug box?
The EdScratch programming environment includes a ‘bug box’ at the bottom of the app which automatically checks for errors in the program. Warning messages are displayed in this bug box to help you find and fix problems in your code. There are both red and yellow warning messages which can appear depending on the issue detected.
If there are any red warning messages, you will not be able to download your program until you resolve the issue as explained in the warning message description. When a yellow message is displayed, the program can be downloaded to the Edison robot, but may or may not work as expected. If a program is downloading but not working as expected, check the bug box for any yellow messages which can help you resolve logical errors in a program.
You can learn more about the error messages in EdScratch in our tutorial videos and in the EdScratch warning messages guide.
Why aren’t there any blocks in the ‘Data’ category?
When you first open the Data category in the block pallet in EdScratch, the category initially containing only two buttons. You need to create a variable using the ‘Make a variable’ button, then give the variable a name and click the ‘Create Variable’ button. This will create a variable and the Data category will be populated with that variable and a set of dark orange coloured blocks related to data manipulation using any created variables.
You can learn more about the Data category and variables in the Unit 5 video of our tutorial videos and in the same unit inside the EdScratch lesson plans.
Why isn’t my program with variables downloading to Edison?
Only variable names using legal characters will be able to be compiled and sent to Edison. If you get any error messages when trying to download a program with variables, or if a program with variables in it is failing to download, check the names of all variables to ensure they are using only lowercase English letters, uppercase English letters, numbers, and underscores ( _ ).
Additional resources
- Example code for the barcode programs in EdScratch
EdScratch Tutorial Video
Designed for beginners, the EdScratch tutorial video introduces the EdScratch programming environment and how to download your first program, before moving on to different block categories including the drive blocks, loops, sensors and variables.
EdScratch Unit 1 Tutorial – The EdScratch programming environment and how to download a program
EdScratch Unit 2 Tutorial – How to make Edison drive, flash lights and make sound using EdScratch
EdScratch Unit 3 Tutorial – Introducing loops, events and commenting in EdScratch
EdScratch Unit 4 Tutorial – EdScratch sensor blocks
EdScratch Unit 5 Tutorial – Variables and how to manipulate data using EdScratch
Additional resources
- Example code for the barcode programs in EdScratch