Before students start programming, one of the first decisions is which platform to use. EV3 supports several options, but I like to focus on three main ones for beginners and intermediate students:
- EV3-G (EV3 Labs) – the classic LEGO graphical programming environment. It’s block-based, fairly intuitive, and widely documented. Many students start here, and I actually used it myself up to the national level. However, I find the interface quite clunky, especially as programs grow larger. It becomes messy to manage variables, selection logic, and more complex control flow, which makes it harder to scale beyond simple tasks. As students progress, it can start to feel limiting and difficult to organize.
- EV3 Classroom – a Scratch-style block programming environment. This is my preferred choice for most students, and the one I eventually used for international-level competitions. It combines the simplicity of blocks with a much cleaner interface, better organization of code, and smoother handling of logic. Students tend to pick up loops, conditions, and sensor-based behavior more quickly here, and the transition to text-based programming later (like MicroPython) is much more natural.
- MicroPython – text-based programming using Python. This is powerful, flexible, and introduces students to “real” coding, but it comes with a higher learning curve and more setup. I spent some time experimenting with it after nationals, but ran into issues like runtime delays of around 5–10 seconds when starting programs. This may have been due to my setup or using the wrong version, but it’s something to be aware of. In general, it requires more configuration and can slow down testing cycles if not set up properly. I usually only recommend this for students who are already confident with EV3 Classroom and want to explore more advanced programming.
There are also simulators available for EV3 programming, which let you test code without a physical robot. I haven’t used them myself, but they can be useful if a team doesn’t have enough robots to go around.
Overall, I recommend EV3 Classroom as the default platform. It’s easy for beginners to pick up, still powerful enough for WRO RoboMission tasks, and gives students a strong foundation for moving into text-based programming later.