Programming Lego EV3’s

Programming Lego EV3’s can be done in a variety of ways depending on your skill level in programming.

Lego Block Language

If you have never programmed before, Lego’s block language is a great place to start, it has functional blocks that allow you to control motors, read sensors, use variables, loops and conditional logic among other things.
It is possible to create very detailed workflows for running your modules in this way.

I used this visual language for programming the NXT that controls the ball caching on my GBC Scrolling Display module.


Because of how EV3’s are designed it is possible to use an alternate operating system to Lego’s built in one.

My EV3 setup uses EV3dev (, which allows me to use Python for programming the EV3.
Loading EV3dev onto the EV3 is done via a microSD with the EV3dev image on it.

I have used this workflow for programming these modules

Python (via EV3Dev)

For programming, I use VSCode (vscode) and the workflow here (the-vs-code-workflow) as that allows me to load programs quickly via the Bluetooth link.

EV3 python is a great site for learning how to control an EV3 using Python.