Install EV3Dev

EV3 brick allows an alternate operating system to be used, bypassing the built-in one, by putting the alternate operating system on a microSD card and inserting that in the slot on the side of the EV3 brick (from now on I will refer to the microSD card as an 'SD card' for brevity). EV3 Python needs to run on the EV3dev operating system (a modified version of the Linux Debian Jessie operating system) so we need to prepare an SD card that contains both EV3dev and EV3 Python (the EV3dev installation automatically includes EV3 Python). The EV3 is not compatible with SD cards with a capacity greater than 32GB so make sure you have a SD card with a capacity of between 2 and 32GB. Be aware that any existing files on the card will be deleted during the installation procedure.

THE FOLLOWING INSTRUCTIONS ON THIS PAGE ARE NOW LARGELY OBSOLETE since a new (May 2018) workflow has very much simplified the process of setting up for EV3 Python programming and also of writing and running EV3 Python scripts. The new workflow has many advantages over all previous workflows. Click HERE to learn about the new workflow which is based on the free code editor Microsoft Visual Studio Code (VS Code) which is compatible with Windows, Mac OS and Linux. I will update this site to make it fully compatible with the VS Code workflow over the coming weeks.

Obsolete content begins here.

The official instructions for installing EV3dev are on the 'getting started' page of the official site and you will need to follow the instructions on that page very carefully. Here is a skeleton version of the instructions, not sufficient for you to be able to follow the steps (see the getting started page for that) but sufficient to give the gist of the process before you work through the official instructions. I remind you once again that this site is mainly intended for users of Windows and that other users will find it less relevant.
  1. Download an image file (in .zip format) that will be copied to the SD card
  2. Download a special program called Etcher for copying the image to the SD card (you cannot simply copy the image file to the card in the usual way).
  3. Copy the image to the SD card using Etcher. For me, Etcher has sometimes reported errors when the process completes, but in fact the process has always completed satisfactorily and produced a working card. So in the unlikely event that you get an error message I suggest you try the card anyway - it will probably work fine.
  4. Plug the card into the powered-down EV3 brick, turn on the brick and wait for the brick to finish booting
  5. Connect the EV3 to your computer with a USB cable. It's best to use this simple connection. Later, you will be able to use an Ethernet dongle or Bluetooth or WiFi to connect to the brick. The computer will make a connection to the brick.
  6. You now need to switch to the page 'Connecting to the Internet via USB'.
  7. Name the connection from the computer to the brick 'EV3'
  8. Make it possible for the brick to share the computer's connection to the internet (the EV3 needs access to the internet so that certain files can be downloaded from the internet to the brick.
  9. On the EV3, set up a static IP address to make the shared internet connection a bit more reliable.
  10. Connect the EV3 to the internet via the computer
  11. We now need to be able to edit our Python programs on the computer, download them to the brick and run them on the brick. We also would like to be able to upload Python programs from the brick to the computer. For Windows users, the site recommends the use of a program called PuTTY to handle the copying of files between the computer and the brick and the launching of the programs on the brick. It will also allow us to give other commands to the brick such as to download and install updates to the ev3dev operating system. I prefer to use the free program MobaXTerm home edition rather than PuTTY since it can do so much more. For example, MobaXTerm has a built in text editor that you can use to edit your Python programs, though it must be said that it is better to use an 'Integrated Development Environment' (IDE) for this since an IDE can do autocompletion and can give help debugging.
  12. Download PuTTY or MobaXTerm to your computer and launch it.
  13. in PuTTY or MobaXTerm, create a 'secure shell' (SSH) connection between the computer and the brick. A 'terminal window' will open. This is a command line interface where you type commands one by one and the brick (not the computer) responds to the commands. For example you might type 'ls' to get in a listing in the terminal window of the contents of the current folder in the brick. Note that the commands are case-sensitive so, for example, you cannot get the listing by typing 'Ls' instead of 'ls'.
  14. Log in with the user name 'robot' and the password 'maker'.
  15. There are two versions of Python in existence, Python v2 which is now obsolescent, and Python v3, the version you will use. You will want o use Python v3, which is ready to run on the brick. It can be launched with the command Python3.
  16. With Python3 running you can enter Python commands into the command line of PuTTY or MobaXTerm, such as print('Hello, world'), which will cause 'Hello, World' to be output in the terminal window.
Download and install the necessary files:

Set up the network connection between the EV3 and the brick:

For steps 11 onward in the above list, setting up and using an SSH connection between the EV3 and the computer, please see the next page creating, editing and running EV3 Python programs