NXT and EV3 - Working Together
EV3 or NXT?
We often get asked if an NXT can be used in competition. Yes, it can be used for both for FIRST LEGO League and World Robot Olympiad. If you have a choice or just starting as a team, it is probably best to purchase an EV3. The last version of the NXT came out in 2009. The EV3 came out in 2013. NXTs are no longer sold by LEGO. The EV3 is the most recent and most up-to-date version of MINDSTORMS available. However, if you have an NXT, there is no reason to scrap it. While we don’t use it for competition ourselves, there are many projects where we still use an NXT or NXT parts, and there are a few teams that still use the NXT in competition.
Overall, the EV3 is a noticeable evolution of the NXT. The Programmable Brick (pBrick) runs Linux, has a better processor, allows the user to connect 4 motors, has a micro SD card slot and a USB port. The SD card slot allows you to expand upon the existing memory and run ev3dev. The USB slot allows the user to daisy chain up to four EV3 bricks together, allowing you build interesting robots with more sensors and motors.
Using the NXT brick with EV3 software
We have used NXT bricks programmed with EV3 software in workshops with success, but did discover some limitations that are worth mentioning.
1) Space is a challenge - the NXT has very little storage and a few programs with the new software fill it up very quickly.
2) Some blocks don’t work as advertised. For example, Move Steering/Move Tank blocks don’t synchronize motors well, therefore, making turns difficult.
3) Some EV3 Programming blocks will not work on the NXT Brick (see table below),
4) Bluetooth with NXT to PC does not work.
5) Many EV3 programming blocks do not work on an NXT (see table below and image at the top of this post).
|Programming Block||NXT Brick running EV3 Software|
(Images may not fit)
|Math - Exponents||No|
|Brick Light Status||No|
|Medium Motor Block||No
(Use Large Motor Block)
Using NXT peripherals (sensors and motors) with the EV3 brick
We have experimented with using NXT peripherals on the EV3 brick. The Color Sensor and the Temperature Sensor work well with the EV3. However, there are some limitations when using other parts.
1) Auto recognition is limited - sometimes, the EV3 brick does not automatically recognize when an NXT part is connected
2) Sensor support is limited - you need to deal with issues such as light level calibration on your own. Some sensors use odd interfaces (e.g. To use a NXT Light sensor uses the sound block).
3) The NXT color sensor is not as accurate as the EV3 color sensor
4) To use the NXT Light Sensor in the EV3 Software, you will have to program using the Sound sensor block (use dB for reflected light and dBa for ambient light)
|Part||EV3 Brick & Software||NXT with EV3 Software|
|EV3||Large and Medium Motors||Yes||Yes
(Use Large Motor Block to control Medium Motor)
|EV3||Touch, Color, IR, Ultrasonic, Gyro||Yes||No|
|NXT||Touch, Color, Light, Ultrasonic, Temperature, Sound||Yes
(Light sensor as Color)
(Light sensor as Sound)