Lego Mindstorms NXT 2.0

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Lego Mindstorms NXT 2.0
Other names Mindstorms NXT
Mindstorms NXT 2.0
Parent theme Technic
Availability 2009–2013
Official website

Lego Mindstorms NXT 2.0 is the second set from LEGO's Lego Mindstorms series, launched on August 5, 2009 at the Lego Shop in the U.S. The set contains 619 pieces, including a new sensor that can detect colors. It is priced at approximately US$280, C$350, £230 or A$500. LEGO Mindstorms NXT 2.0 has a successor, called the Lego Mindstorms EV3.

8547 Kit Features[edit]

Model Forklift Constructed using the Lego Mindstorms NXT 2.0
  • Includes a sound editor, which may record any sound and then program the NXT Brick to play it.
  • With the image editor you can upload a picture to the NXT Brick to appear on the screen.
  • Includes 619 pieces (including the NXT Brick)

NXT Intelligent Brick[edit]

  • 32-bit Atmel AT91SAM7S256 main microcontroller (256 KB flash memory, 64 KB RAM)
  • 8-bit Atmel ATmega48 microcontroller @ 4 MHz (4 KB flash memory, 512 Bytes RAM)
  • 100×64 pixel LCD screen
  • Four 6-pin input ports (ports 1-4)
  • Three 6-pin output ports (ports A-C)
  • USB port
  • Bluetooth Class II V2.0
  • Loudspeaker - 8 kHz sound quality, 8-bit resolution, 2–16 kHz sample rate
  • Four push buttons:
    • Orange button: On/Enter
    • Light grey arrows: moving left and right in the NXT menu
    • Dark grey button: Clear/Go back
  • Powered by six AA batteries or the NXT rechargeable battery


Parts can be ordered separately. In the original kit, the sensors included are the color sensor, two touch sensors, and an ultrasonic sensor:

  • Color sensor (9694), for detecting 6 different colors: blue, green, red, yellow, white, black
  • Light sensor (9844), for detecting levels of light. (Included in first version, but in 2.0, replaced by color sensor.)
  • Touch sensor (9843), a simple button that senses if something collided with it.
  • Ultrasonic sensor (9846), for measuring distances using inaudible sound waves.
  • Sound sensor (9845), for basic "hearing". Capable of measuring volume, but cannot record actual sounds.
  • Compass sensor (MS1034), for detecting direction. Has a built-in calibrator to reduce interference from other magnetic items. (Not included in basic kit, for advanced users.)
  • Accelerometer sensor (MS1040), for sensing which general direction it's moving in. Also can measure g-force. (Not included in basic kit, for advanced users.)
  • RFID sensor, for communication between multiple robots. (Not included in basic kit, for VERY advanced users.)
  • Rotation sensor (built into servo motors), for measuring how far it has turned. This is unique, because it measures based on the turn of the gears inside, rather than the motor itself. Useful for robots that will coast and act based on distance rolled.
  • Bluetooth communication (built into "Intelligent brick"), for communication with other devices. Can be used mid-program or for downloading new programs and data.


  • Servo motor (9842)
  • The color sensor can shine light in red, green, or blue. (Normally it senses color by using the lamp in a setting and reading the reflected light levels. It uses the same lamp here for other uses.)


Very simple programs can be created using the NXT Intelligent Brick itself. In order to create larger, more complex programs, programming software on a PC is required. The standard programming software is NXT-G, which is included in the package. Third-party programming software is also available, some of which is listed below:


NXT-G is the programming software included in the standard base kit. It is based on LabVIEW graphical programming. It features an interactive drag-and-drop environment.

LabVIEW Toolkit[edit]

NXT-G is powered by LabVIEW, an industry standard in programming. Created by National Instruments, LabVIEW uses data flow programming to create a virtual instrument. To allow for more advanced programming, in the graphical sense, National Instruments released a Toolkit for the NXT. Version 1.0 came out in December 2006. Since its release, several bugs have been found and new sensors have been created. While the toolkit does allow for the creation of new sensors, National Instruments has yet to formally release an update.


LEGO::NXT provides an API between Perl and NXT.


A port of GNAT is available for the NXT. It requires nxtOSEK to run. The port includes Ada bindings to the NXT hardware and nxtOSEK.

Next Byte Codes & Not eXactly C[edit]

Next Byte Codes (NBC) is a simple open-source language with an assembly language syntax that can be used to program the NXT brick.

Not eXactly C (NXC) is a high level open-source[1] language, similar to C, built on top of the NBC compiler. It can also be used to program the NXT brick. NXC is basically NQC for the NXT.[2] It is the most widely used third-party programming language.


ROBOTC is an integrated development environment targeted towards students that is used to program and control LEGO NXT, VEX, RCX, and Arduino robots using a programming language based on the C programming language.


RoboMind is an educational programming environment that offers a concise scripting language for programming a simulated robot. These internationalized scripts can, however, also directly be exported to Lego Mindstorms robots.[3] It does not require custom firmware in order to run.


NXTGCC is a GCC toolchain for programming the NXT firmware in C.


URBI is a parallel and event-driven language, with interfaces to C++/Java and MATLAB. It also has a component architecture (UObject) for distributed computation. Urbi is compatible with many robots, including Nao (cf Robocup), Bioloid or Aibo.[4]

leJOS NXJ[edit]

leJOS NXJ is a high level open source language based on Java that uses custom firmware developed by the leJOS team.[5]


To be able to write in C (programming language)/C++, nxtOSEK can be used, but that requires custom firmware too.[6]

MATLAB and Simulink[edit]

  • MATLAB is a high-level programming language for numerical computing, data acquisition and analysis. It can be used to control LEGO NXT robots over a Bluetooth serial port (serial port communication is part of the base functionality of MATLAB) or via a USB connection; for example using the RWTH - Mindstorms NXT Toolbox (free & open-source).
  • Simulink is a MATLAB-based environment for modeling and simulating dynamic systems. Using Simulink, a user can design control algorithms, automatically generate C code for those algorithms, and download the compiled code onto the LEGO NXT.

MATLAB and Simulink code for NXT programming is freely available.


pbLua is an implementation of the Lua programming language, a general purpose scripting language, for Lego Mindstorms.

FLL NXT Navigation[edit]

FLL Nxt Navigation An open source program to help navigation on the FLL competition table. Uses NXT-G and .txt files to write programs.


ruby-nxt is a library to program the NXT for the Ruby programming language. Unlike the other languages for the NXT the code isn't compiled to a binary file. Instead the code is directly transmitted to the NXT via a Bluetooth connection. This method of execution is significantly slower than executing compiled code directly.

Robotics. NXT[edit]

Robotics.NXT is a Haskell interface to NXT over Bluetooth. It supports direct commands, messages and many sensors (also unofficial). It has also support for a simple message-based control of a NXT brick via remotely executed program (basic NXC code included).

See also[edit]


External links[edit]