EdPy programming language

EdPy is a highly versatile text-based programming language for the Edison robot. EdPy is based on Python, a popular computer programming language renowned for being easy-to-learn with high readability. Programmers use Python to develop everything from the latest apps to business software. Facebook, YouTube and Pinterest are just some of the many applications that use Python! EdPy makes text-based programming fun by letting students see their code come to life in their Edison robot. With EdPy, students are learning the core of a real programming language and are able to take their exploration of robotics and coding to a more advanced level.

EdPy programming environment

The online EdPy programming environment has a range of features designed to help students learn texted-based programming. These features include:

  • Line help – provides a plain-English explanation of valid lines of code
  • Autocomplete – automatically offers matched option suggestions as a user starts typing in code
  • Popup help – help box assistance providing a description of the code which appears as you type
  • Help text and examples – inbuilt help text and examples native inside the programming space

You can access EdPy online at


These free, downloadable resources can help you get the most out of EdPy.

EdPy lessons

Lesson plans – student worksheets

The EdPy lesson plans are designed to introduce programming to students using Edison and EdPy in a structured, progressive way. The student worksheet set, containing 38 worksheets with 9 activity sheets, is organised into 10 lessons. The student worksheets enable independent learning and are perfect for students in year level 7 and above (13+ years old).

Download the EdPy student worksheet set

Teacher’s guide to EdPy

This guide offers teachers and instructors overviews, activity extensions and other supporting information for the ten EdPy lessons. The guide is structured as a complementary supplement to the student worksheet set and includes an overview of each lesson’s key learning outcomes, supporting information for each student worksheet, a student progress tracking chart and the answer key to the student worksheets. 

Download the EdPy teacher’s guide

EdPy teachers guide

Curriculum linking guide

This resource serves as a guide as to how the EdPy lesson plans to link to standards and requirements in the Australian Curriculum (v8.3).

Download the EdPy Australian curriculum linking guide


Help Text

A downloadable version of all of the help text contained in the ‘Documentation’ section of the EdPy online app. Great for use as an offline reference guide or syntax manual for EdPy.

Download the EdPy app documentation guide 

EdPy programming projects with EdCreate

Give your students the opportunities to program solutions to real-world robotic challenges using EdPy and EdCreate, the Edison robot creator’s kit. Multiple programming challenges perfect for EdPy using the EdCreate EdBuilds are available in the EdCreate teaching guideOr unlock your student’s creativity and EdBlocks programming prowess with the EdCreate EdChallenges!

EdCreate build EdPrinter


Using EdPy
How do I access EdPy?
EdPy is available online at:
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 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 EdPy 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 functions I can use?
EdPy has an inbuilt help menu of functions on the right-hand side of the programming environment that lists all the functions available in EdPy. EdPy will also autocomplete a function name when you begin to type in the main programming environment.
How do I know what a function does?
EdPy has an inbuilt menu of functions on the right-hand side of the programming environment. There is also a ‘search’ feature built in at the top of the function menu. Use this to search for the function you are interested in, then click on that function to display the help documentation for it. Each function’s documentation includes information on accepted inputs and example code.
What are the words that get automatically filled into some functions?
The autofill feature in EdPy will automatically generate placeholder labels for all of the inputs of a function. These labels are designed to help the user understand what each input is for. These labels need to be overwritten with actual inputs before a program can be downloaded to Edison.
How do I save my EdPy 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 my EdPy program?
To upload a saved file from your computer into EdPy, open the EdPy online application, go into ‘Menu’ and select the ‘Load from Computer’ option. A pop-up box will open. Follow the steps and select the EdPy file you want to load from your computer (EdPy files have a file extension .edpy). Once you have selected your file, click the ‘Load program’ button to upload and run the program in EdPy.
How do I create my own functions?
Functions can be created in EdPy in much the same way they are created in Python, using ‘def’ to define a function. You can read more about how to use ‘def’ at the Python tutorial site.
How do I use interrupts?
The function ‘Ed.RegisterEventHandler’ can be used to turn your defined functions into an interrupt.
How do I import other Python libraries?
Unfortunately, you cannot import other Python libraries. While EdPy is a Python-like language, EdPy needs to be compiled to be downloaded to Edison. This extra compile step makes EdPy incompatible with standard Python libraries.
About EdPy
What kind of language is EdPy?
Edison V3
EdPy for Edison V3 is a text-based programming language. As such, EdPy is also an object-oriented general-purpose programming language. It is built on a version of Python that has been designed for use on microcontrollers, called MicroPython. MicroPython is a real-world programming language used by professional software developers to develop products that we use every day.

Edison V1/V2
EdPy for Edison V1/V2 is a python-like text-based programming language. As such, EdPy is an object-oriented general-purpose programming language. Unlike Python, EdPy is a compiled language as EdPy needs to be compiled to be downloaded to the Edison robot. Despite this difference EdPy for Edison V1/V2, has been designed to be as close to Python as possible, making it a great starting point for text-based programming.

What age user is EdPy for?
The power and relative simplicity of Python coupled with searchable help and line help within EdPy make it the perfect language to introduce text based programming. We recommend students have some prior exposure to programming before beginning with EdPy. EdPy has been designed for students in school years 7-10 with some prior coding exposure.
What do the different functions do?
EdPy has an inbuilt menu of functions on the right-hand side of the programming environment. There is also a ‘search’ feature built in at the top of the function menu. Use this to search for the function you are interested in, then click on that function to display the help documentation for it. Each function’s documentation includes information on accepted inputs and example code.
Which browsers are compatible with EdPy?
Edison V3 computer
Chrome, Edge and Opera

Edison V1/2
Chrome, Firefox, Safari, Edge and Opera

Is there an EdPy iOS/Android app?
There are not currently dedicated mobile apps for EdPy, however you can access EdPy through the browser on a tablet. As text-based programming is quite fiddly on tablet devices, we recommend programming using EdPy through a computer.
Troubleshooting in EdPy
Why isn’t my program downloading?
Edison V3 computer
Edison V3 and EdPy 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 EdPy, which can be downloaded for free here:

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 EdPy. Make sure your programming device is set up to work with EdPy. Follow the step-by-step guide on setting up your device for EdPy 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.

How do I use EdPy with Edison V1?
To program an Edison V1 robot using EdPy, you will first need to update the robot’s firmware. Please follow the steps on our firmware update page to make sure your Edison is updated.

EdPy Tutorial Video

Designed for those new to the EdPy programming language, this tutorial video introduces the EdPy programming environment before moving on to more complex coding tools such as variables, tune strings and objects and classes.

EdPy Unit 1 Tutorial – The EdPy programming environment
EdPy Unit 2 Tutorial – The basics of text-based programming
EdPy Unit 3 Tutorial – Loops
EdPy Unit 4 Tutorial – Variables
EdPy Unit 5 Tutorial – Tune strings and lists
EdPy Unit 6 Tutorial – Reading sensor values
EdPy Unit 7 Tutorial – If and Else
EdPy Unit 8 Tutorial – Functions
EdPy Unit 9 Tutorial – Events and interrupts
EdPy Unit 10 Tutorial – Objects and classes


Additional resources

Translation kits, translated versions and more.




EdPy resources translation kit

Looking to translate the EdPy resources into another language? Download the translation kit to get the editable files you will need.

EdPy translated V2 resources

Download Bulgarian EdPy student lessons (Bulgarian by Goran Goranov)

XMs Ed

Are you an educator?

Take advantage of our special classroom set discounts.

Click here to get a quote!
Ms Ed
  • Keep up with Edison

    Sign up for our newsletter to get all things Edison delivered straight to your inbox.

  • This field is for validation purposes and should be left unchanged.

Heads up

The Australian Federal Parliament has passed a law that extends goods and services tax (GST) to low value imports of physical goods imported by consumers from 1 July 2018.

This means that all customers purchasing Edison robots and accessories with an Australian shipping address must now pay GST. The GST will be automatically added to your purchase and show as a line item on your invoice.

We've detected that you are in Australia, so we wanted to let you know that we have changed your settings to view our Australian site, which displays GST inclusive pricing.

You can change back to the GLOBAL SITE at any time using the link in the top left of the page.

OK got it!    Take me to the GLOBAL SITE instead