Lego Mindstorms

Lego Mindstorms

The Mindstorms EV3 is a kit from Lego containing everything you need to build and program your own robots.  Because it is Lego, it is easy for kids to create just about anything their imaginations can conjure up.


The EV3 kit comes with software for Windows or Mac to create your own programs to control the robot.  This software has an easy drag and drop interface for building complex programs. You can start with the tutorial missions to learn basic programming concepts such as if statements, while loops, and variables.

ev3Software
A simple program created using Lego Mindstorms software for the EV3. This while loop monitors the remote buttons, and flashes the robot light when button 1 is pressed.

Some excellent resources for learning Lego EV3 software programming:

After you have mastered writing programs using the Lego software, you may be interested to explore some of the  alternatives available to program your robot.  Lego has released the EV3 firmware as open source, so there are many different libraries available to write controller code for your robot.

MonoBrick for C#

Our current favourite programming language at Little Bytes of Pi is C#, so we love the C# libraries and resources available from www.monobrick.dk.

To write C# programs that can run on a Windows PC or a Raspberry Pi, and control the robot over a Wi-Fi or Bluetooth connection, use the MonoBrick Communication Library

We used the MonoBrick Communication Library to create our own ev3 Control Panel software so we could drive our robot using a Raspberry Pi and our Xbox remote.

homeTabConnected

To write programs in C# that can run directly on the Lego EV3 brick, use the MonoBrick firmware. Copy the firmware image to a SD card,  insert it into the robot, and turn it on. You can use the Xamarin Studio IDE to write programs in C#, download them to the Lego EV3 brick, and run them on the robot.

LeJOS for Java

To run Java programs on your Lego EV3 brick, you can use the LeJOS operating system.

Alternatively, you can setup your own Java runtime environment on the EV3 brick using instructions from Oracle

Python

To run python programs on your Lego EV3 brick, use the python-ev3 library.

EV3 Basic

To run Basic programs on your Lego EV3 brick, you can start with the ev3basic compiler.

Other Firmwares

Because the EV3 can boot from a SD card, you can easily experiment with running your own Linux operating system running on the EV3 without any risk of bricking your brick.  There are a number of firmware alternatives available: