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.
Some excellent resources for learning Lego EV3 software programming:
- Official Lego learn to program site
- Carnegie Melon EV3 Programming Course – Teachers Guide
- STEM Robotics course from Portland State University
- A good collection of tutorials with videos from STEMcentric
- Thinkbricks.net has one of the best all around great sites for EV3 stuff
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.
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: