What you'll learn
- Program the Lego EV3 robot using the Python programming language.
- You must have a basic knowledge of Python.
- You must have access to a Lego EV3 robot (home or education edition).
- You must have access to a Windows, Mac or Linux PC.
- You must provide a microSD card (2-32GB), a whiteboard marker, elastic bands and cereal cartons or similar.
This is a course on programming the Lego EV3 robot (either the home or education version) with EV3 Python. This course does not teach the basics of Python, so you should be familiar with basic Python before taking this course.
Hello, I'm Nigel Ward. I've taught computer science and physics in many of the world's top international schools but recently I've been focused on helping people learn how to program the world's most popular pedagogical robot, the Lego EV3, with the world's most taught textual programming language, Python.
So, should you take this course?
You should not take this course if you don't have access to a Lego EV3 robot, of course.
You should not take this course if you want to make lots of cool-looking Lego robots because this course is about programming, not about building many different robots. Using variations on a standard design, the official Lego Education Vehicle is also a deliberate choice to make it possible for this course to be used in schools, where teachers don't have the time or pedagogical justification to have kids making many different models.
You should not take this course if you don't already have some knowledge of the basics of the Python programming language. This course will NOT teach you the basics of Python, and learning the basics of Python by learning how to program robots would make no sense because the special commands used to control robots are not basic Python commands. There are many ways to learn the basics of Python, including some good courses right here on Udemy.
You should not take this course if you are looking for some version of EV3 Python other than the one based on the ev3dev operating system and Python version 3. In particular, this course is not about the EV3 Python variant known as EV3 MicroPython.
You SHOULD consider taking this course if you like working with the Lego EV3 robot but want to program it with a more powerful, more standard programming language than the standard Lego one, sometimes called EV3-G. In fact the standard Lego programming language isn't really a language at all – it's a set of icons that you configure and connect together – this is very different to the textual programming languages used by professional programmers. In this course you will learn how to program the EV3 with the Python programming language, the most taught textual programming language in the world. This course won't teach you the basics of Python, but it will give you plenty of practice in working with basic Python concepts, and at the same time you will be learning about robots, which is really important given that robots and artificial intelligence are going to have a huge impact on human society in the coming decades. Billions of jobs are going to be partially or completely automated, and you should do all you can to prepare for the coming changes and to boost your chances of getting a job in one of the few fields that are likely to grow. Anything that deepens your knowledge of Python and robots increases your chances of getting a well-paid job. Python programmers are generally very well paid – in the US, for example, the average salary of Python programmers is well over 100 thousand dollars per year, equivalent to more than 4 million dollars over a whole career. With those kind of figures in mind, ask yourself whether it's reasonable to worry about the cost of taking this course, and don't forget also that Udemy has a money-back guarantee if you're not satisfied.
Working with robots, even a robot as modest as the Lego EV3, also increases your chances of getting a job working with robots, of course, and is one job area that is likely to grow quickly while others are automated out of existence in the coming years. Even if you don't work with robots, understanding how they work will make you feel more comfortable in a world where they will strongly impact our lives.
Wait a moment, did I just describe the EV3 robot as 'modest'? It's actually quite expensive compared to many other small robots out there. OK, so you're paying for Lego quality, reliability and modularity, but you're also paying a lot for something else: the possibility of programming your robot with many different programming languages. The EV3 can do that because at its heart is the so-called 'intelligent brick' a proper little Linux computer. When you buy an EV3 kit with more than 600 pieces there is one piece that costs more than all the other pieces combined – it's the intelligent brick. So if you spend all that money to have the possibility of programming in multiple languages and then only ever use the quirky Lego software then I'm afraid, my friend, that you may have wasted quite a lot of money.
Speaking of buying an EV3 kit, there are two types of kit out there: the retail (home) version, and the education version. Although the kits are rather different, this course is designed to be compatible with both types of kit. Due to differences between the two kits there are a couple of exercises that can only be completed with a specific kit, but the vast majority of the exercises can be completed with either kit.
As I said, the EV3 intelligent brick can be programmed in many different languages, but the fact that you're reading this indicates that you've already figured out that Python is the best choice among the many textual programming languages out there. It's become the most-taught textual programming languages in the world thanks to its combination of power, simple syntax and conciseness. In fact many experts now consider Python to be the world's most popular programming language.
This course is cheap compared to the cost of an EV3 and compared to the boost that Python and robotic skills can give to your career prospects. Could you get the information in this course elsewhere? Some of it, no doubt, but this course is built around a new and very simple way of programming the EV3 with Python, so you won't find much out there to compete with this course. This course is based on programming with a free, open source, multi platform code editor called Microsoft Visual Studio Code, or simply VS Code. VS Code is compatible with Windows, MacOS and Linux. Recently an extension was released for VS Code that makes it very easy to write and run Python scripts for the EV3. How easy? As easy as 1, 2, 3. Once everything is set up, all you need to do is:
Write your Python script
Run it by pressing the F5 key (or by running it directly on the EV3, of course)
To summarize, here are some of the things you can expect to learn on this course:
Not only will you learn how to use your EV3 with a different and much more serious programming language but you will learn about many new functions are not available in the standard Lego software, such as speech synthesis and vastly improved handling of variables and text.
You'll get familiar with Visual Studio Code, a great multi-platform code editor used by many professional coders
You'll learn how to install Visual Studio Code on your computer and how to install extensions
How to usefully modify the VS Code settings
How to flash an alternate EV3 operating system (EV3dev) to an SD card
How to download all the official Lego sounds and images to the SD card so that they can be used by your EV3 Python scripts.
How to write code to interact with EV3 motors, sensors, buttons, display and speaker.
How to assemble the official Educator Vehicle (education set) or a similar vehicle (home set).
How to assemble a drawbot/writerbot.
Even if you don't plan to become a professional coder, learning to program will sharpen your thinking skills – coding does not forgive sloppy thinking!
You will learn (the hard way!) that when robots operate outside carefully controlled factory settings and in the messiness of the real world their behavior tends to be somewhat approximate and unpredictable, unlike the perfectly predictable, perfectly accurate behaviors of programs that only output to a screen.
Learning about robots is vital, of course, in a world where robots and artificial intelligence are set to have a huge impact on human society over the coming decades. Maybe you'll never be a professional robot programmer but knowing how robots are programmed may make you feel more comfortable about the prospect of sharing your world with them.
Perhaps most important of all, you'll get lots of practice studying and modifying Python scripts, and thus deepening your knowledge of Python. A good knowledge of Python is extremely valuable in the workplace – remember how I said that in the US Python coders make more than 100 thousand dollars a year, on average?
So join now and boost your valuable Python skills while at the same time having find with your Lego EV3 robot!
There are about 20 videos altogether, with a total duration of about 5 hours. High quality subtitles are available for every video. The essentials of EV3 Python programming are explained in parts 1 and 2 (two hours) and parts 3 and 4 mainly give practice and examples. As such, parts 3 and 4 are optional.
In addition to the videos, this course includes:
A ZIP file with most of the Python scripts that are discussed during the course.
A PDF document (about 100 pages) which is essentially the script of the various videos.
Build instructions for the home version of the Education Vehicle and a link to build instructions for the education version of the Education Vehicle.
Build instructions for a bumper attachment.
Build instructions for a drawing and writing robot that is the subject of parts 3 and 4 of this course.
Table of Contents
Introduction (3 minutes)
Part 1: Setting up
1A (9 minutes) Set up the EV3
1B (5 minutes) Connect the EV3 to the computer
1C (23 minutes) Install VS Code and the two needed extensions, configure, and connect to EV3
Part 2: The Components
2A (24 minutes) Motors
2B (30 minutes) The Intelligent Brick (display, buttons, LEDs and speaker)
2C (19 minutes) Sensors
Part 3: Putting the pieces together (43 minutes)
3A (3 minutes) Collide, back up, turn and continue
3B (2 minutes) Line follower
3C (7 minutes) Wall follower
3D (9 minutes) Steer with light
3E (2 minutes) Follow an object
3F (3 minutes) Follow a beacon (only for home model)
3G (5 minutes) Program with colors
3H (9 minutes) Self-parking
3I (3 minutes) Beware of steep slopes (only for education model
Part 4: Make a drawbot and a writerbot
4A Drawbot part 1 (38 minutes, with the option of skipping the final 15 minutes which is a mathematical derivation)
4B Drawbot part 2 (22 minutes)
4C Writerbot part 1 (33 minutes) Write a script that can write characters that do not contain arcs.
4D Writerbot part 2 (22 minutes) Modify the script so that it can also write characters that contain arcs
Who this course is for:
- Anyone wanting to learn how to program the world's most popular pedagogical robot with the world's most popular programming language!
I'm British, married to a French lady and living in the south of France. I have a degree in physics from Imperial College of Science and Technology, London (currently ranked second in the world!). I'm a teacher of physics and computer science - I've taught in a number of top international schools including:
* French American International School, San Francisco
* Hong Kong International School
* German-Swiss International School, Hong Kong
* British School of Brussels
* International School of Brussels
* European School 3, Brussels
* Centre International de Valbonne, France
* International School of Sophia Antipolis, France
* ICS School, Sophia Antipolis, France
In 2013 I began including robotics in my computer science courses. The robotics classes were based on the Lego EV3 robot and went very well, but I was uncomfortable about teaching students how to program the EV3 using such a quirky (icon-based) interface. In 2015 I became aware of ways of programming the EV3 using textual programming languages like Python, arguably the most popular programming language in the world. I realized that by programming the EV3 with Python one can learn about robotics and deepen one's Python skills at the same time, and Python skills are highly valued in he workplace. Not only that , but programming the EV3 with Python is great fun!