For anyone getting started with LEGO MINDSTORMS, the EV3 Software provides a great introduction to programming, but sooner or later you and your students might be ready for something different. For example, one option is to use a text-based programming language, such as RobotC, that better reflects the dominant style of programming in the computer industry.
Whether you’re looking for a way to extend your students or to provide a link with another programming language, here is a list of some of the most popular third-party alternatives.
Swift Playgrounds (EV3)
Swift Playgrounds is an iPad-only environment designed to help users learn to program using the Swift programming language. In Swift Playground, users can program robots, gather information through sensors, and cause actions via the motos. There is also an EV3 Animal Rescue Book that teachers might find they can use with their students.
EV3Python helps users familiar with Python programming to use this language to control an EV3 robot. This is done with the assistance of the Microsoft Visual Studio Code.
RobotC (EV3, NXT, RCX)
RobotC is a C-based programming language with a fully integrated software debugger that supports a range of different hardware platforms. Extensive documentation and online support is available. For more information, visit: http://www.robotc.net/.
Scratch (EV3, NXT)
Scratch is a very popular visually programming environment. Several extensions have been created to support the NXT and EV3. For more information about Scratch, see: https://scratch.mit.edu/ Scratch 3.0 is in development and should be available in 2019 with continued support for EV3. Scratch can also be used with LEGO WeDo (see Scratch-ing the LEGO WeDo) and WeDo 2.0. For more about using Scratch with WeDo, see: https://scratch.mit.edu/wedo.
EV3dev isn’t actually a programming language, but rather a Debian Linux-based operating system that can run almost all languages that any other linux distribution can run, including C++, Node.js, and Python. For more information, see: http://www.ev3dev.org/.
leJOS (EV3, NXT, RCX)
LeJOS (pronounced like the Spanish word “lejos” for “far”) is a tiny Java Virtual Machine that supports Java. For more information, see: http://www.lejos.org/ev3.php.
OpenRoberta (EV3, NXT)
Open Roberta is a free, drag and drop, cloud-based platform for programming LEGO EV3 and NXT robots. For more information, see: Open Roberta: A Review.
EV3 Basic (EV3)
EV3 Basic is a textual programming language. For more information, see: Introducing EV3 Basic.
Enchanting is a programming environment for the NXT that is built on Scratch. For more information, see: http://enchanting.robotclub.ab.ca/.
CoderZ is a 3D simulated robot environment using virtual robots that are similar to the EV3 robot. Programming can be done with either Blockly or Java programming languages. The benefit is that students can create code at home, extending their learning at school. CoderZ is a commercial product and offers a 14-day free trial.
LabVIEW (EV3, NXT)
LabVIEW for LEGO MINDSTORMS (LVLM) and LabVIEW for Education (LV4E) are visual programming environments. The EV3 Software was built in LabVIEW, so LVLM provides a great next step for students who are familiar with that programming language and ready for something more powerful and versatile. Browse all LabVIEW posts on this site.
ROBOLAB (NXT, RCX)
ROBOLAB is a visual programming language built in LabVIEW that was developed by the Tufts CEEO. ROBOLAB was the dominant programming language for educational LEGO robotics prior to the release of the NXT Software. It is dated and to use it, older computers and operating systems are necessary. Browse all ROBOLAB posts on this site.
There are other languages out there. Try this Wikipedia page for a longer list.
Latest posts by Wayne Burnett (see all)
- Hour of code with robotics - 2 December 2018
- Alternative programming languages for LEGO MINDSTORMS - 29 November 2018
- WeDo sensors - 21 March 2018