I'm just starting to use the LEGO Mindstorms EVE robot and I'm a bit hesitant which way to choose for programming: the official graphic software or any alternative (preferably the Linux based ev3dev)?

I don't really use Windows and find the official pictogram-like GUI cumbersome and a bit childish, so I tend to pick ev3dev.

At the same time, most of the tutorials/instructions are based on the official program and I don't know if there is a straightforward way to map all these steps to ev3dev instructions; moreover, I'm a bit wary to rely on an unofficial 3rd party solution (maybe it is immature, error-prone, buggy, incomplete etc.). But I definitely want to stick either of them, no time to try out both extensively...


1 Answer 1


You have various options.

If you use Linux mainly ev3dev is a good start I think. I've worked with Java (LeJOS) and C# (MonoBrick) in combination with the LEGO Mindstorms Education EV3. But there are more bindings for the EV3. If I recall correctly at least for Python, C, C++ and some more educational friendly languages. The information you need to write your own language/compiler for the EV3 platform are available on the LEGO Mindstorms website. I'm currently developing my own language, compiler and IDE for my master thesis.

The more general question you must answer yourself is: What's the goal you want to achieve? Do you want to learn how to program or do you have already knowledge in one or more languages? If you want to learn how to program you should IMHO use a more beginner friendly language like the EV3-G (the graphical language you mentioned). If you already have some knowledge you can start with a text-based language.

The second question is: Do you want to use/learn a graphical language or a text-based one? There are graphical alternatives to EV3-G like the Open Roberta Project. It uses a Scratch like language (based on the same JavaScript library).

Hopefully I could give you some hints because the topic is more complex than many think in first place. If you have more questions just feel free and ask.

  • Thank you. Just one more question: is mapping the EV3-G instructions, tutorial steps to ev3dev is mechanical (I mean, there is an equivalent ev3dev command to each of the EV3-G boxes with the same parameters) or is it a challenge to turn the former into the latter? First, I'd like to experiment with "established" structures which could usually be built from EV3-G instructions.
    – Hendrik
    Feb 8, 2017 at 8:46
  • @Hendrik with every programming language you can use, you'll fine that the basic instructions are largely the same - i.e. turn on a motor, display some text on the screen, variables and control structures, etc. So whilst it may be different laying the foundations of a program, and what code you need to write to perform these actions, the pseudo steps should remain fairly consistant
    – shea
    Feb 8, 2017 at 11:02
  • I agree with @shea. Many basic operations for controlling your robot or in general interactions you have a set of operations that can be used for example in EV3-G. You will find those operations in every other language for the EV3, too. Of course you have to transform your knowledge and your program workflow to that new language. Especially when you come form a visual language. But that's every time the case. Feb 8, 2017 at 11:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.