Lego Mindstorm RCX,NXT, EV3

Here we will talk about how to program the very powerful Lego Mindstorm robot kits.

Every version of the Mindstorm product comes with a programming language.

They also came with the mechanical and electronic components like blocks, gears, motors, sensors, wires, the brick(brain) and more.

Usually, people start out programming the brick using the simpler visual language that allow you to move blocks around their computer screen that represent motors and sensors.

Later if you enjoy programming you can install other more advanced programming tools which can make it easier to program in a way and can give you much more power over your system.

Some languages that are available include the following.

The EV3 can use (Makecode,Swift, Playgrounds, EV3 Python, Coder2, Labview, RobotC, Scratch,leJos)

RobotC for (Ev3, NXT,RCX

Scratch(Ev3, Nxt)

EV3 dev (Ev3

leJos(EV3, Nxt,RCX)


In the old days there was a program called “Not Quite C” for the RCX Mindstorm kit.

You could install linux on an Ev3 and set up an API to work with the Eclipse IDE.

Linux is more complicated to work with than windows and its not for everyone as there is a fair bit to do at the command line prompt with cryptic commands that you have to type in to access the directories and copy files etc.

But linux/Unix is the operating system of choice for the more advanced robot programmers.

Now lets talk a little about the history of the programming languages that relate to Mindstorm.

Now before 1998 an MIT programmer named Seymour Papert created an easy to use programming language called Logo which allowed kids to move around a turtle character.

Eventually he teamed up with the grandson of the Lego companys founder Kjeld Kristiansen and merged Logo into the Mindstorm product line.

From this came TC Logo (only sold to schools) and control lab which used a device which was attached to the computer until they looked into a way to create a device or brick that could be taken off and made to run without a computer.

The name Mindstorms came from a book that Papert wrote about children using computers basically called Mindstorms.

With the Lego Mindstorms series you can talk about the different versions from the latest and what many say is the greatest version, that being Prime Spike.

There were 3 generations of Mindstorms with the first being the 1998 Robotics Invention System, Mindstorms NXT in 2006 and Mindstorms EV3 in 2013.

The confusion came in that some versions came out for school only distributions and other were for the general public and there were some other versions that came out with different numbers of parts and names.

The firstMindstorm was based on the brick called the RCX (Robotic Command EXplorers) which came with the Robot Invention system. The programming language used was called Robolab (related to Labview).

The RCX brick was a simple 16mhz brick with 32k of ram and the kit had 2 motors, 2 touch sensors and 1 light sensor.

The NXT brick was a more powerful Arm 7 48mhz with 64k ram and one each of the sensors light/sound/distance/touch.

Then there was the NXT 2.0 which added another sensor. The programming language of the NXT was called NXT-G.

The EV3 had an even more powerful linux processor with an Arm 9 300mhz chip and 64 meg of ram and the retail version had more parts to build more robots. They both had 2 large motors, one medium motor and 2 touch sensors and one each sensors gyroscope/color/ultrasonic.

Most people who started with the Lego Technit sets found the EV3 to be a truly amazing and highly educational robot toy.

Some of the other variations of the product line came out with names like RoboSports, Extreme Creatures, Droid developer kit, Dark Side Developer Kit.

Seven years after the EV3, Lego released a newer version called the Robot Inventors Kit which has 6 motor/sensor ports a better screen and it can be controlled by bluetooth and their app. It can also be programmed using the old Scratch program or with the more professional language Python.

This is where it gets a bit complicated because Lego uses numbers in their products and calls the Robot Inventor Kit 51515 and the newer Prime Spike 45678.

Apparently the Spike Prime name is only available as an ecuational version and North Americans can buy it if they on the school side of the Lego website but apparently you can’t if you are outside of North America.

The school and retail versions basically work the same…but the boxes are different and the colors on the motors etc are different and perhaps a few upgrades have to be done using Python than directly with the Lego hardware. But many on the comment sections of youtube still prefer the NXT and the fact that you are forced to program more and not cut and paste as much code.

Many are praising the Prime for using absolute positioning motors which make it much easier to make advanced moving robots but many love the NXT because it teaches you how to code more whereas the newer ones give you too many prewritten code examples which can make a person more of a cut and paste coder instead of an actual programmer. This is up for debate.

You get newer motors and sensors and hubs/brick with a digital face on it.

Here is a guitar playing device made with an older Mindstorm NXT from the Youtube channel “Technically Possible”.