Now, 6 months later after the third generation of Lego Mindstorms was released in stores, with biggest effort the Lego Mindstorms EV3 limits of standard kits were achieved, and there are plenty of reasons to build new software and hardware solutions for new applications.
To prove the dynamism of the Lego community, I explore a long list of software fully compatible with EV3 intelligent brick, as well as an entire list with sensors, controllers, single board computers, and many more components used generally in robotic applications.
Back to the standard building kit, the Mindstorms EV3 has included motors, sensors, and over 550 Lego bricks that can be used in an infinite number of combinations. The brain of the robot is the programmable brick, and you can discover in the following that your robot could become smarter if it used a Raspberry Pi or Arduino single board computers.
The EV3 programming environment is useful for typical customers that work with Lego EV3, but many academic or advanced student users will find it limiting. There is also a solution to use an advanced integrated development environment, and some of these are presented in the following.
In this article, you can find resources for:
- programming the EV3 brick in a variety of languages;
- programming the EV3 using libraries and API’s;
- communicate with the brick using Wi-Fi, Bluetooth, or USB connectivity;
- a series of sensors and robotic parts designed for EV3;
- tutorials to learn few tips and tricks;
- and many more resources out of the EV3 standard pattern
Table of Contents
ToggleEV3 Compatible Software
Almost everything can be found around the EV3 community, which work hardly to create different software, libraries, and many more tools to have control over the EV3 components and build advanced applications. In the following, I explore several software for programming, libraries and tutorials fully compatible with Lego EV3 kits.
Software
EV3Messenger
Using the EV3 Messenger you can exchange messages between Mindstorms EV3 robot and a mobile device with Bluetooth.
ROBOLAB for LabVIEW
This is not a complete software, it is just an add-on for LabVIEW that allows you to run the ROBOLAB visual programming language built in LabVIEW.
Software development resources
LeJOS
You can program the EV3 intelligent brick in different ways, and the LeJOS is the 3rd party programming language compatible with Linux and used to program the LEGO intelligent bricks.
NI LabVIEW for LEGO MINDSTORMS
LabVIEW is a tool designed to help students to develop programs for Mindstorms series. Using the LabVIEW tool you can share the results with other students, configure and control the bricks visually using a joystick or keyboard, test the motors and sensors, and analyze the data collected from your Lego robot.
Bricx Command Center 3.3
To develop complex programs for the Mindstorms bricks you have to use an advanced IDE. The Bricx Command Center is a perfect Windows tool to create programs that control the motors, show battery level, and many more applications.
MonoDevelop
MonoDevelop is another advanced cross-platform IDE with support for C# and other .NET languages. The IDE is compatible with Linux, Windows and Mac OSX, and has integrated features that allow you to design and build applications for Lego bricks.
LEGO Mindstorms EV3 API
A series of API’s that can be embedded by developers in several applications designed for EV3 kits.
MonoBrick Communication Library
You can use the C# and the MonoBrick communication library to communicate with EV3 brick using USB, Bluetooth or WiFi, and offer the possibility to communicate with EV3 brick over the Internet. The library is compatible with Linux, Mac OS and Windows operating systems.
Hardware virtual machine for EV3
Using the Java programming language and the HVM for EV3 you can create a wide range of applications. Used from Eclipse, the hardware virtual machine has support for Linux and Windows operating systems.
Tutorials
To prove the dynamism of the Lego EV3 community, in this section of the article I add several tutorials that can be used by developers to pass the limited area of basic programming of the EV3 kit.
- LEGO MINDSTORMS Education EV3 Intelligent Brick – I start this series of tutorials with a guide which explain the most intelligent pieces of the EV3 kit – the EV3 Intelligent Brick;
- How to Update your EV3 Firmware – anyone can have the ability to update the firmware of the EV3, even if it is using the firmware version created by the community or the official one released by the LEGO. In this tutorial, you can find step-by-step how to update the EV3 firmware to Educational version;
- How To Use The Commander App For EV3 – from this tutorial you can learn how to use in general the Commander application for EV3, which is available for almost all mobile platforms;
- Installation of the BricxCC IDE for G++ – fully compatible with Windows OS, the BricxCC IDE is a powerful tool to develop applications for EV3. This tutorial explains you how to install and configure the tool so that you can start in minute develop programs for the Lego kit;
- Java on the EV3; Porting leJOS – this tutorial helps you to start using Java programming language to develop programs for EV3 kit;
- A first Java program for the EV3 – the EV3 intelligent brick could become an opened platform with a little help from the community. In this tutorial you can find the steps that you need to setup a Java environment for developing Java programs;
- Control your EV3 robot with a web browser in leJOS 0.5.0 – the EV3 kit can be controlled over the Internet, and in this tutorial you can find the information how to build an application to control the EV3 using a web browser;
- How To Establish A WiFi Connection With The EV3 – using the MonoBrick communication library you can build an application to connect a WiFi connection with the EV3 Intelligent brick. In this article you can learn how to build the application and how to setup the EV3 Intelligent brick;
- Using Python and Raspberry Pi to communicate with Lego Mindstorms EV3 – the Raspberry Pi single board computer is a powerful piece that can be interfaced with the EV3 kit. In this tutorial you can find how to use the Python programming language on Raspberry Pi to communicate with Lego Mindstorms EV3;
- MonoBrick Communication Library Programming Guide – complete guide from where you can learn how to use the MonoBrick communication library with the EV3;
EV3 Compatible Hardware
It took a few months until the first EV3 compatible robotic parts get out of the manufacturers warehouses. Some of these components are inspired from the community requirements, while the others with advanced features are released to replace some of the EV3 standard components.
Single board computers
BrickPi is a system that link the Raspberry Pi single board computer with the Lego Mindstorms EV3 pieces. The Raspberry Pi board works as a brain for the Lego robot and control the sensors, motors, and other parts. A power source of 9V is enough to power all the robot parts and the minicomputer.
Depending on your experience with Raspberry Pi and the EV3, you can build wonderful projects combining the powerful brain and the endless list of Lego pieces.
Arduino is another popular single board computer that can be used in Lego projects. You can control with Arduino the EV3 sensors, motors, and other components using this shield.
Sensors
EV3 Sensor Adapter for NXT or Arduino
This is an adapter that allows you to add the EV3 sensors to your NXT or Arduino.
This is another adapter that interfaces the Vernier sensors with the EV3 Intelligent brick.
An infrared sensor with dual and triple range zone for obstacle detection and compatible with NXT and EV3.
Long Range Infrared distance sensor
A high precision infrared sensor designed to detect obstacles between 30cm to 150cm.
Medium Range Infrared distance sensor
A high precision infrared sensor for medium distance designed to detect obstacles between 10cm to 80cm.
From now your Lego EV3 robot can measure the pressure of pneumatic systems, a pressure between 0 and 58 PSI.
A sensor to measure the current up to 12.5 amps that flowing through your electronic device.
A sensor to measure the voltage up to 26 volts of your electronic device.
Fully compatible with NXT or EV3, this sensor can measure the angle with a precision of 0.5 degrees.
A highly advanced camera for real-time detection and tracking.
A 3 axis multi-sensitivity acceleration sensor with a tilt resolution of 1 degree.
An accurate accelerometer, compass and magnetic field sensor with a resolution of 10 milli-g for accelerometer, and one degree resolution of compass and tilt measurements.
Robotic Parts
Series of components to connect and power sensors, motors, and many more robotic parts EV3 compatible.
Multiplexer for NXT/EV3 Motors
With this wonderful piece you can add two additional motors of your Lego project.
A module designed to control the speed and position of up to eight servos.
A piece designed to connect the EV3 brick or EV3 sensors to the breadboard.
Motor controller for PF motors compatible with NXT and EV3 kits.
Rotacasters
Wheels for Lego robots.
Powerful GPS unit for your EV3 robot to calculates navigation information.
Combo with Wireless controller for PlayStation 2 and compatible with EV3 kit.
Other resources
A large number of fans create quantitative information on particular projects, and some of these can be found in this section of the article.
Welcome to the MINDSTORMS Community!
Lego Accessories
Lego Projects
Lego projects based on BrickPi
Various Lego creations with building instructions
EV3 Software
EV3 Tutorials