Respect all members: no insults, harassment, or hate speech.
Be tolerant of different viewpoints, cultures, and beliefs. If you do not agree with others, just create separate note, article or collection.
Clearly distinguish between personal opinion and fact.
Verify facts before posting, especially when writing about history, science, or statistics.
Promotional content must be published on the “Related Services and Products” page—no more than one paragraph per service. You can also create subpages under the “Related Services and Products” page and publish longer promotional text there.
Do not post materials that infringe on copyright without permission.
Always credit sources when sharing information, quotes, or media.
Be respectful of the work of others when making changes.
Discuss major edits instead of removing others' contributions without reason.
If you notice rule-breaking, notify community about it in talks.
Do not share personal data of others without their consent.
Logo of Lego Mindstorms NXT"Golf bot", a robot built with the NXT set
Lego Mindstorms NXT is a programmable robotics kit released by Lego on August 2, 2006.[1][2][non-primary source needed] It replaced the Robotics Invention System, the first-generation Lego Mindstorms kit. The base kit ships in two versions: the retail version[3] and the education base set.[4] It comes with the NXT-G programming software or the optional LabVIEW for Lego Mindstorms.[5] A variety of unofficial languages exist, such as NXC, NBC, leJOS NXJ, and RobotC. A second-generation set, Lego Mindstorms NXT 2.0, was released on August 1, 2009, with a color sensor and other upgrades. The third-generation EV3 was released in September 2013.[6]
The kit's main component is the NXT Intelligent Brick computer, which can accept input from up to four sensors and control up to three motors with a modified version of RJ12 cables (similar to, but incompatible with, RJ11 phone lines). The plastic pin to hold the cable in the socket is moved slightly to the right. The brick has a 100×64 pixel monochrome LCD and four buttons that can navigate a user interface with hierarchical menus. It has a 32-bit ARM7TDMI-core AtmelAT91SAM7S256 microcontroller with 256 KB of FLASH memory and 64 KB of RAM, an 8-bit Atmel AVR ATmega48 microcontroller, and Bluetooth support. The kit has a speaker, and can play sound files at sampling rates up to 8 kHz. Power is supplied by 6 AA batteries (1.5 V each) in the consumer version of the kit, and a rechargeable Li-Ion battery in the educational version. The brick is compatible with sensors and motors of its successor Lego Mindstorms EV3.[7]
Simple programs can be created using the menu on the NXT Intelligent Brick. More complicated programs and sound files can be downloaded with a USB port or Bluetooth. Files can be copied wirelessly between two NXT bricks, and some mobile phones can be used as a remote control. Up to three NXT bricks can communicate simultaneously via Bluetooth when user-created programs are run.
The kit's retail version includes software for writing programs that run on Windows and Mac OS personal computers. The software, based on National InstrumentsLabVIEW, provides a visual programming language for writing simple programs and downloading them to the NXT Brick; instead of requiring users to write lines of code, they can use flowchart-like blocks to design their program.
NXT
NXT-G v2.0 is a graphical programming environment that comes bundled with the NXT and can be used for real-world programming. The software can run a handful of parallel loops or blend autonomous control with Bluetooth or other remote control. It supports virtual instruments for all Lego and most third-party sensors and components. Version 2.0 contains new challenges, a remote control, custom graphics and sound designers, and Lego color sensor support.[9]
Bricx Command Center (BricxCC) is the integrated development environment (IDE) used to write, compile, and edit NBC and NXC programs for the NXT. Also, as BricxCC was originally made for the RCX, programs for it can be written using NQC via BricxCC.
Different firmware versions can be flashed to the NXT using BricxCC. Next Byte Codes (NBC) is a simple open source language with an assembly language syntax that can be used to program the NXT brick. BricxCC also has the capability to decompile standard .rxe NXT executables to NBC. Not eXactly C (NXC) is a high-level open source language,[11] similar to C and built on the NBC compiler. It can be used to program the NXT brick. NXC is basically NQC for the NXT.[12]
Robolab
The newer programming environment originally used on the RCX programmable brick. Version 2.9 has been updated to program the NXT brick. Lego has announced that it will stop supporting Robolab, but Robolab 2.9 is still available.[13]
RoboMind
RoboMind is educational software to teach students about logic, programming and robotics. Scripts can be transferred to a Lego Mindstorms NXT robot for testing.[14]
Enchanting
Enchanting brings NXT programming to the Scratch IDE, designed by the Lifelong Kindergarten Group at MIT to make programming intuitive for young children.
ROBOTC
A programming language based on C for VEX, the VEX Cortex, FIRST Tech Challenge, and Lego Mindstorms. ROBOTC allows the NXT to run programs quickly, and compresses files to accommodate a large number of programs.
NXTGCC
A GCC toolchain for programming NXT firmware in C.
leJOS NXT
leJOS NXJ is a high-level open source language based on Java that uses custom firmware.[15]
nxtOSEK
nxtOSEK can be used to write in C and C++ with custom firmware.[16]
MATLAB is a high-level programming language for numerical computing, data acquisition, and analysis. It can control Lego NXT robots over a Bluetooth serial port (serial port communication is part of the base functionality of MATLAB) or via USB.[19] (free & open-source). Simulink is a block-diagram environment for modeling and simulating dynamic systems. A user can design and simulate control algorithms and Lego systems, and program the Lego NXT or EV3.[20]
A port of GNAT[22] for the NXT. It relies on a dedicated run-time kernel based on the Ravenscar profile used on the Goce satellite, allowing high-level Ada features to develop concurrent and real-time systems on the Mindstorms NXT.
URBI
URBI is a parallel, event-driven language with interfaces to C++/Java and Matlab. It has a component architecture (UObject) for distribution. Urbi is compatible with many robots, including Nao (cf Robocup), Bioloid and Aibo.[23]
FLL NXT Navigation
FLL Nxt Navigation[24] is an open source program to aid navigation on the FLL competition table. It uses NXT-G and .txt files to write programs.
Ruby-nxt
Ruby-nxt[25] is a library to program the NXT for the Ruby programming language. The code is not compiled to a binary file (unlike other languages for the NXT), but is transmitted to the NXT via Bluetooth.
Robotics.NXT
Robotics.NXT[26] is a Haskell interface to NXT over Bluetooth. It supports direct commands, messages and many sensors, and supports simple message-based control of an NXT brick via a remotely-executed program. Basic NXC code is included.
LibNXT
LibNXT[27] is a utility library for talking to the Lego Mindstorms NXT intelligent brick at a relatively low level. It is targeted at platforms overlooked by official Lego Mindstorms NXT software (such as Linux), and works on any POSIX-compliant operating system where libusb 0.1 is supported. Windows support is also possible with libusb's win32 port.
C_NXT
C_NXT[28] is a library for controlling the Lego NXT licensed under the GPLv2. It allows users to control a Lego NXT via Bluetooth from other C programs. The library, which runs on Linux, provides low-level control and high-level abstraction.
PyNXC
PyNXC[29] is a project which converts Python code to Not Exactly C (NXC)[30] to download to Lego Mindstorms robots.
NXT-Python
NXT-Python[31] is a Python module which communicates with the NXT via USB or Bluetooth. It supports commands and several aftermarket sensors.
LEGO Mindstorms EV3 Software
The software which ships with the newer Mindstorms EV3 set can program the NXT.[32]
Physical Etoys
A Lego NXT car which avoids walls, implemented in Physical EtoysPhysical Etoys is a visual programming system for electronic devices which supports direct and compiled modes.
C/C++ Interpreter Ch
Ch is a C/C++ interpreter running C/C++ code to control Lego NXT or EV3. No firmware upload/download or compilation is needed. A C/C++ code running in Ch can control a Lego NXT, EV3, or multiple of NXT/EV3.[33]
Three servo motors with built-in reduction gear assemblies and internal optical rotary encoders which sense their rotations within one degree of accuracy.[35]
A touch sensor detects whether it is pressed, has been bumped, or is released. The orange enter button and the gray right and left NXT buttons can be programmed as touch sensors. In the NXT-G programming software, a value of 0 is given when it is not pressed and a value of 1 is given if it is pressed.[36]
A light sensor detects the light level in one direction, and includes an LED for illuminating an object. It can sense reflected light values with the built-in red LED, or ambient light. In the NXT-G programming software, it senses light on a scale of 0 to 100; 100 is very bright, and 0 is dark.[37] If calibrated, the sensor can be used as a distance sensor.
A sound sensor measures volume on a scale of 0 to 100; 100 is very loud, and 0 is silent.
An ultrasonic sensor can measure the distance from the sensor to something it is facing and detect movement. It can show distance in centimeters and inches. The maximum distance it can measure is 233 centimetres (92 in), with a precision of 3 centimetres (1.2 in). The sensor sends ultrasonic sound waves that bounce off an object ahead of it and then back, and senses the time it took.[38]
Other parts may be bought separately.[39] Third-party companies manufacture sensors such as a compass, gyroscope, infrared tracker, RFID reader and accelerometer sensors sold by Lego. The temperature sensor can measure in Celsius or Fahrenheit.
Sensors are connected to the NXT brick with a six-position modular connector with analog and digital interfaces. The analog interface is backward-compatible (using an adapter) with the older Robotics Invention System. The digital interface is capable of I2C and RS-485 communication.
For the wrestling television programme, see WWE NXT.
Lego Mindstorms NXT 2.0 is the second set in the Lego Mindstorms series, introduced on August 5, 2009, at the Lego Shop in the U.S. The set contains 619 pieces, including a sensor that can detect colors. It was followed by the Lego Mindstorms EV3.[40]
Lego Mindstorms NXT is a series of programmable robotics kits developed by the Lego Group, first released in 2006, enabling users to construct and control intelligent robots through the integration of standard Lego bricks with specialized electronic components including the NXT Intelligent Brick—a 32-bit microcontroller that serves as the robot's "brain"—servo motors, and various sensors.[1][2][3]The original NXT kit (set #8527) contained 579 pieces, three interactive servo motors, a touch sensor, a light sensor, an ultrasonic sensor, and the NXT brick, along with connecting cables and a USB interface for programming.[1] An updated version, NXT 2.0 (set #8547), launched in 2009 with 619 pieces, adding a sound sensor and color-sensing capabilities to the light sensor while including more structural elements like gears and beams.[4][2] Programming was primarily done via the included NXT-G software, a drag-and-drop visual interface based on LabVIEW, though alternative languages such as RobotC and third-party options like leJOS (a Java-based OS) expanded its flexibility.[5][6]Designed for ages 10 and up, the NXT series emphasized hands-on learning in science, technology, engineering, and mathematics (STEM), fostering skills in coding, problem-solving, and mechanical design through building models like vehicles, sorting machines, or walking robots.[7] Widely adopted in classrooms and competitions such as FIRST Lego League, it succeeded the 1998 Robotics Invention System and was discontinued in favor of the EV3 platform in 2013, though NXT components remain partially compatible with later systems and software support persists for legacy users.[8][5]
Overview and History
Introduction and Purpose
Lego Mindstorms NXT is a programmable robotics kit that combines traditional LEGO bricks with intelligent components, enabling users to build and control a wide variety of robots. At its core is the NXT Intelligent Brick, a compact computer that processes inputs from sensors and directs outputs to motors, allowing creations to interact with their environment in programmed ways. This integration transforms standard construction play into functional robotics projects.[3]The primary purpose of Lego Mindstorms NXT is to promote STEM education through hands-on activities that develop skills in building, coding, and problem-solving. Designed for ages 10 and older, it targets students and enthusiasts by emphasizing constructionist learning principles, where active creation fosters deeper understanding of science, technology, engineering, and mathematics concepts. The kit supports exploratory projects that mirror real-world engineering challenges, encouraging creativity and logical thinking in educational settings.[1][9]A key innovation of Lego Mindstorms NXT lies in its modular design, which allows seamless compatibility with existing LEGO Technic elements for customizable builds, while sensors introduce principles like feedback loops to simulate autonomous systems. This approach democratized robotics education by making complex ideas accessible without specialized tools. Bolstered by NXT's popularity, the Mindstorms series became a staple in global curricula, significantly expanding hands-on robotics learning in schools and competitions.[9]
Development and Release Timeline
The development of Lego Mindstorms NXT originated in 2004 as a collaborative effort between the Lego Group, National Instruments for software development using LabVIEW, and Tufts University's Center for Engineering Educational Outreach for input on educational applications.[10][11][12]NXT was unveiled on January 5, 2006, at the Consumer Electronics Show (CES) in Las Vegas, where Lego announced a beta-testing program and invited applications from developers and educators until February 5, 2006, to provide feedback on prototypes.[13][14] Beta testers received kits in spring 2006 and contributed insights that influenced final design refinements, including enhanced performance capabilities.[15]The original NXT kit was released on August 2, 2006, succeeding the RCX system and introducing key improvements based on user feedback from the predecessor, such as a 32-bit ARM7 processor (Atmel AT91SAM7S256) operating at 48 MHz for superior computational power compared to the RCX's 16 MHz processor.[16][17] Design decisions emphasized expandability, with standardized ports supporting third-party sensors and motors, and a shift from the RCX's infrared communication to Bluetooth for wireless control from PCs and mobile devices, enabling more flexible multi-robot interactions.[18][19]In 2009, Lego released the NXT 2.0 kit, incorporating additional sensors like a second touch sensor while retaining core hardware compatibility.[20] Production of NXT kits ended in 2012. Support began winding down after the announcement of its successor, EV3, in 2013, driven by advancing technologies in processing and connectivity; official support ended around 2015, though software downloads and compatibility with EV3 persist for legacy users, and educational use continued into the 2020s as stocks depleted. As of 2025, community and third-party support remains available.[8][21][22]
Core Hardware Components
NXT Intelligent Brick
The NXT Intelligent Brick serves as the central processing unit and controller for the Lego Mindstorms NXT system, functioning as the "brain" that coordinates inputs from sensors, outputs to motors, and executes user programs. It features a 32-bit Atmel AT91SAM7S256 ARM7 processor running at 48 MHz, providing sufficient computational power for real-time robotic operations such as navigation and decision-making tasks. The brick includes 256 KB of flash memory for storing firmware and up to 64 files, including programs and data logs, alongside 64 KB of RAM for runtime execution. Physically, the brick measures approximately 11.1 cm in length, 7.2 cm in width, and 4 cm in height, allowing seamless integration with standard Lego Technic bricks for building robust robot structures.Equipped with a 100 × 64 pixel LCD graphical display, the NXT Intelligent Brick enables users to view program status, sensor readings, and navigate menus directly on the device without a connected computer. Interaction is facilitated by three built-in buttons: a central run button for starting programs and left/right buttons for menu selection. Audio feedback is provided through an integrated speaker supporting 8-bit resolution sound output with a sample rate of 2–16 kHz and up to 8 kHz quality, allowing simple tones and sound effects in programs. Connectivity options include a USB 2.0 port for direct wired communication with PCs for program downloads and firmware updates, as well as a Bluetooth radio compliant with class 2 specifications, enabling wireless communication up to approximately 10 meters for multi-brick coordination or remote control.The brick's input and output capabilities are managed through eight dedicated ports: four output ports (A–D) for connecting motors and four input ports (1–4) for sensors, supporting concurrent operations via its multitasking operating system. This OS, embedded in the firmware, allows running up to 16 threads simultaneously for parallel sensor monitoring and motor control, enhancing responsiveness in complex behaviors like obstacle avoidance. The original firmware version 1.0 provided basic multitasking support, while upgradable versions such as 1.05 introduced bug fixes for improved sensor compatibility, including I²C digital sensors, and enhanced sound file handling, all installable via official Lego software. However, the brick lacks direct internet connectivity, relying on external devices for online features, and individual program files are limited to a maximum size of 32 KB due to RAM constraints during execution.
Sensors
The Lego Mindstorms NXT kits include several sensors that enable robots to perceive and interact with their environment by providing input data to the NXT Intelligent Brick. These sensors convert physical stimuli into electrical signals, which are processed for tasks such as navigation and object detection. The original NXT kit (2006) features four primary sensors: ultrasonic, light, sound, and touch, while the NXT 2.0 kit (2009) includes one ultrasonic sensor, one color sensor, and two touch sensors, replacing the light and sound sensors of the original kit.[23]Sensors connect to one of the four input ports on the NXT Intelligent Brick using standard 6-wire cables, allowing for easy integration into robot designs.[3]The ultrasonic sensor measures distances to objects using ultrasonic sound waves, emitting pulses and calculating distance based on the time for echoes to return. It operates effectively from 1 cm to 250 cm with a resolution of 1 cm, making it suitable for obstacle avoidance in robotic navigation.[24][25]The light sensor detects light intensity in three modes: ambient light in the environment, reflected light from surfaces, or emitted light from its built-in LED. It provides readings on a scale of 0-100% relative intensity, commonly used in applications like line-following robots where it distinguishes between dark lines and light backgrounds.[23][24]The sound sensor captures audio levels through a built-in microphone, measuring intensity on a 0-100 scale calibrated to decibels for general noise detection. It supports threshold-based triggering, enabling responses to sounds like claps for interactive robot behaviors.[23][24]The touch sensor provides simple physical feedback, operating in binary mode to detect pressed or released states. It is ideal for basic collision or bump detection in navigation tasks, such as stopping a robot upon contact with an obstacle.[23][25]Introduced in the NXT 2.0 kit, the color sensor identifies up to seven distinct colors (black, blue, green, yellow, red, white, and no color detected) by illuminating objects with an integrated RGB LED and analyzing reflected light. This allows for advanced sorting or identification tasks, expanding beyond the intensity-only capabilities of the light sensor.[4][20]All NXT sensors require software-based calibration within the programming environment to ensure accuracy, accounting for environmental variations and sensor-specific offsets. Analog sensors undergo 10-bit analog-to-digital conversion by the NXT Brick, providing a resolution of 1024 levels for precise data interpretation.[25][26]
Actuators and Motors
The Lego Mindstorms NXT kit includes three interactive servo motors as its primary actuators, enabling precise robotic movement through rotational output. These motors are bidirectional DC motors equipped with built-in reduction gear assemblies, allowing for controlled speed and torque suitable for educational robotics projects. Each motor operates on a voltage range of 7-9V, drawn from the NXT brick's power supply, with a no-load speed of approximately 117 RPM at 9V and a stall torque of about 0.17 Nm (1.7 kg·cm).[27][28]Central to the motors' functionality is their integrated tachometer feedback system, which uses quadrature optical encoders to monitor rotation. The encoders provide a resolution of 360 counts per revolution at the output shaft, equivalent to 1 degree of accuracy, facilitating closed-loop control for position and speed regulation. This tacho feedback supports gearing configurations using standard Lego Technic beams and axles, enabling users to adjust torque and speed ratios for applications like differential drive systems.[29][30]Motor control is achieved via pulse-width modulation (PWM) from the NXT brick's output ports, allowing variable power levels from -100% to +100% for direction and speed adjustment. Multiple motors can be synchronized through programming to maintain consistent speeds, such as in tank-style steering for mobile robots. For protection, the motors incorporate hardware safeguards including a resettable thermal fuse that activates above 65°C to prevent damage, while the NXT firmware enforces software limits on prolonged high-power operation to mitigate overheating.[30][31]Beyond the standard servo motors, the NXT system has no native additional actuators like linear servos or pneumatics; however, the RJ12-compatible ports allow integration of third-party DC motors or servos that adhere to the 9V standard and provide compatible feedback signals. Durability is a key design feature, with the motors rated for over 1,000 hours of continuous operation under normal loads, far exceeding typical educational use before mechanical wear becomes evident.[32][30]
Connectivity and Power
Connector Standards
The Lego Mindstorms NXT system employs six RJ12-like 6-pin connectors on the Intelligent Brick to facilitate modular connections for motors and sensors, promoting interoperability within the ecosystem. These ports consist of three output ports (A, B, and C) dedicated to motors and four input ports (1 through 4) for sensors, with port 4 additionally supporting RS485 protocol for limited expansion options.[25]Motor ports utilize pins 1 through 4 for power delivery, ground, and tachometer feedback signals, supplying up to 9 volts and 1 ampere per port to drive servo motors with encoder integration. Sensor ports, in contrast, primarily engage pins 4 through 6 for signal transmission, ground reference, and power supply at 4.3 volts, with the system providing a regulated 5-volt output suitable for low-power analog and digital sensors. This pinout configuration is standardized to ensure compatibility with third-party HiTechnic sensors, which leverage the I2C protocol on pins 5 and 6 for data exchange at up to 9,600 bits per second.[25][33][34][35]Standard connection cables measure 20 to 50 centimeters in length and feature a 6-wire construction with color-coded leads (black, red, white, green, yellow, blue) terminated in keyed RJ12 plugs, allowing straightforward attachment without native support for daisy-chaining multiple sensors or motors on a single port.[17][23]For expansion, the NXT brick includes a USB 2.0 port operating at full speed (12 Mbit/s) for direct communication with PCs and firmware updates, alongside Bluetooth connectivity rated at class 2 (up to 10 meters range) on the 2.4 GHz band for wireless inter-brick or device pairing.[25]NXT components are largely compatible with the EV3 platform, as the connectors are identical and EV3 supports NXT signaling protocols; however, EV3 sensors require third-party adapters for use with the NXT brick.[35]
Power Supply and Battery Options
The Lego Mindstorms NXT intelligent brick is powered by a removable battery compartment that houses six AA (LR6) batteries, delivering a nominal voltage of 9 V for reliable operation. Alkaline batteries are recommended by LEGO for maximum performance and longevity, though nickel-metal hydride (NiMH) rechargeable AA batteries are compatible but may result in reduced motor output due to their typical 1.2 V per cell configuration, yielding about 7.2 V overall.[7]LEGO offers an official rechargeable battery pack (part number 9798) as an alternative, consisting of a lithium-ion module with a 1400 mAh capacity at 7.4 V, which installs in place of the standard AA pack and requires a separate 9 V AC transformer (such as part 9833) for charging, taking 4-5 hours to fully recharge. This pack provides similar runtime to alkaline AAs under light loads but is more convenient for repeated use in educational settings. For stationary setups, third-party 9 V DC wall adapters can connect directly to the battery compartment terminals, bypassing batteries entirely while ensuring the voltage matches the brick's requirements.[25][36]Runtime typically ranges from 2 to 6 hours depending on configuration and activity; the brick alone draws approximately 50 mA when idle, each servo motor up to 800 mA under full load, and sensors around 10-20 mA during operation. Power management features include an LCD battery icon that flashes to indicate low voltage, prompting users to replace or recharge before shutdown, along with configurable sleep modes (2, 5, 10, 30, or 60 minutes of inactivity) to conserve energy. The system lacks built-in USB charging but incorporates per-port overcurrent protection to safeguard against shorts or overloads from motors or accessories.[37]Safety protocols emphasize using batteries of identical type and age to avoid imbalances, removing them from the brick during prolonged storage to prevent leakage, and charging rechargeables only under adult supervision with compatible equipment; mixing alkaline and NiMH types is discouraged to mitigate risks of uneven discharge or overheating.[38]
Programming Environments
Official LEGO Software
The official LEGO software for the Mindstorms NXT is NXT-G, a graphical programming environment designed for beginners and educational users.[5] It features a drag-and-drop interface built on National Instruments' LabVIEW, allowing users to assemble programs using visual blocks rather than text code.[39] This icon-based system supports fundamental programming constructs, including while loops for repetition, case structures for conditionals, wait blocks for sensor inputs like touch or ultrasonic detection, and motor control blocks for precise movements such as power settings and rotation limits.[39]Key features of NXT-G include wireless program downloads to the NXT brick via Bluetooth or wired USB connections, enabling seamless testing and iteration.[3] It also offers data logging capabilities, where sensor readings can be recorded directly on the brick's memory or transferred to a PC for analysis and graphing, supporting educational experiments in real-time data collection.[5] The software includes built-in tutorials and building instructions to guide users through robot assembly and basic coding tasks.[5]NXT-G was released in version 1.0 alongside the original NXT kit in 2006, with an update to version 2.0 in 2009 to add support for the new color sensor, allowing blocks to detect and respond to specific colors like red, blue, or green.[4] The software is compatible with both Windows (XP through 7) and Mac OS X (10.4 through 10.7) operating systems, requiring at least 512 MB RAM and 700 MB disk space. As of 2025, running NXT-G on modern operating systems may require virtualization software such as virtual machines due to lack of native support.[40]To enhance reusability, NXT-G provides "My Blocks," an educational tool that lets users encapsulate sequences of blocks into custom reusable functions, simplifying complex programs and promoting modular design.[17] Additionally, a sound editor tool allows creation of custom melodies and tones for the NXT brick's speaker, using simple note-based composition for playback in programs.[3]Despite its accessibility, NXT-G's icon-based approach limits flexibility for advanced programming, lacking support for floating-point arithmetic, multi-dimensional arrays, or low-level hardware access, which can constrain sophisticated algorithms.[39] Program size is also restricted by the NXT brick's 256 KB flash memory, typically allowing up to several dozen blocks per file depending on complexity.[39]
Third-Party and Alternative Languages
Several third-party and alternative programming languages have been developed for the Lego Mindstorms NXT, offering text-based alternatives to the official graphical NXT-G environment. These tools primarily target advanced users seeking greater control, efficiency, and extensibility in robot programming. They leverage the NXT's ARM7 processor and bytecode capabilities, often providing C-like or Java-based syntax for more sophisticated applications. As of 2025, these tools may also require virtualization or compatibility layers for modern operating systems.[41][6]RobotC is a C-based programming language with an integrated development environment (IDE) designed specifically for the NXT. It supports floating-point mathematics, real-time debugging features such as breakpoints and variable monitoring, and executes programs faster than NXT-G due to optimized code compilation. RobotC requires flashing its proprietary firmware onto the NXT brick for operation, ensuring compatibility with both original and 2.0 kits.[42][43]NXC, or Not eXactly C, is a free, open-source compiler that produces bytecode compatible with the standard Lego NXT firmware, avoiding the need for replacement. Its syntax closely resembles C, including preprocessor directives and control structures, while providing built-in libraries for advanced features like PID control for motor regulation and I2C communication for sensor integration. This allows developers to implement precise navigation algorithms without overwriting the brick's OS.[41][44]leJOS NXJ ports a Java Virtual Machine (JVM) to the NXT as a full firmware replacement, enabling Java 1.6-compatible programming with support for multithreading, garbage collection, and standard libraries like ArrayList. It facilitates concurrent task handling, such as simultaneous sensor polling and motor control, and is compatible with original and 2.0 NXT bricks after USB-based flashing. Installation involves overwriting the Lego OS, which can be reversed by reflashing the original firmware.[6][45]BricxCC serves as an IDE for compiling and editing NXC and NBC (Next Byte Codes, an assembly-like variant) programs, including utilities for on-brick programming and file management. It supports direct bytecode generation for the Legofirmware, streamlining development for custom robot behaviors.[46]These languages provide access to low-level APIs for developing custom drivers, such as for third-party sensors, and community-maintained libraries for extensions like WiFi connectivity via add-on modules or trigonometric functions for pathfinding in navigation tasks. While they require firmware flashing for RobotC and leJOS, NXC integrates seamlessly with the stock OS, allowing hybrid use alongside official tools for testing. All are compatible with both NXT kit versions, though users must ensure proper Bluetooth or USB connections during development.[47][6]
Kits and Versions
Original Retail NXT Kit (8527)
The original LEGO MINDSTORMS NXT retail kit (8527), released in August 2006, provided components for building and programming robots using standard LEGO Technic elements and NXT hardware.[1] It included 577 pieces, 1 NXT Intelligent Brick, 3 interactive servo motors, 1 ultrasonic sensor, 1 light sensor, 1 sound sensor, 1 touch sensor, 7 connecting wires, and the NXT-G programming software.[20] The kit emphasized creative robotics for general users, with instructions for models like Alpha-Rex (a humanoid robot) and Trike (a vehicle).[48] Priced at approximately $250 USD, it was aimed at ages 10 and up.[49]
NXT Education Base Set (9797)
The LEGO MINDSTORMS NXT Education Base Set (9797), released in 2006, provided the core components for introductory robotics education, enabling users to construct and program simple automated systems using standard LEGO Technic elements and intelligent hardware.[50] This kit emphasized foundational engineering principles through its streamlined sensor and motor integration, distinguishing it as the initial educational offering in the NXT lineup.[20]The set includes 1 NXT Intelligent Brick as the central processor, 3 interactive servo motors for precise movement control, and a basic sensor suite comprising 1 ultrasonic sensor for distance detection, 1 light sensor for intensity measurement, 1 sound sensor for audio input, and 2 touch sensors for contact response—without a color sensor for differentiation.[20] It also contains 7 connecting wires (1 at 15 cm, 4 at 35 cm, and 2 at 50 cm), 1 rechargeable 7.4V battery, 3 system lamps with converter cables, and 431 LEGO building elements such as beams, pins, and connectors for structural assembly.[20] Building instructions accompany the kit for three models—a basic robot, a sorter, and a pusher—designed to illustrate core concepts like navigation, object handling, and automation.[51]These models focus on straightforward mechanics and sensor-motor feedback loops, suitable for classroom exploration of programming and design.[52]Retailing at $250 USD, the 9797 kit was positioned for educational use, with supplementary curriculum resources available separately to support school implementations.[53] Additional accessories, such as replacement parts or expansion sensors, were offered for separate purchase to extend building options beyond the base contents.[20] Programming is facilitated via the official LEGO NXT-G software, allowing drag-and-drop block-based coding for the included models.[5]
NXT 2.0 Kit (8547)
The Lego Mindstorms NXT 2.0 kit, designated set number 8547, was released in August 2009 as an upgraded version of the original retail NXT kit (8527). It retained the core NXT Intelligent Brick—a 32-bit ARM7microcontroller with 256 KB of flash memory, 64 KB of RAM, and a 100x58 pixel LCD display—but included updated firmware version 1.05 for improved stability and Bluetooth connectivity.[4][20]The kit contained 619 building elements, primarily Technic beams, axles, gears, connectors, and wheels, enabling more robust constructions compared to the original retail kit's 577 pieces. It featured three interactive servo motors with built-in rotation sensors for precise control, an ultrasonic sensor for distance measurement, two touch sensors for binary input detection, and a new color sensor capable of distinguishing seven colors plus light intensity levels—a significant upgrade replacing the original's light and sound sensors. Seven NXT-compatible cables (various lengths from 20 cm to 50 cm) and a USB cable for PC connectivity were also included, along with the NXT 2.0 programming software CD for drag-and-drop icon-based coding. The kit maintained backward compatibility with original NXT sensors and motors, allowing users to integrate legacy components seamlessly.[54][55][56]Key enhancements focused on structural versatility and educational accessibility, with an improved selection of beams (e.g., more 13-unit lengths for better stability) and additional elements like treads and a Zamor sphere shooter mechanism for dynamic builds. The multi-color packaging and vibrant box art emphasized the kit's creative potential, while the bundled software offered enhanced tutorials and data logging features. Priced at $279.99 USD upon release, it was marketed as a complete robotics introduction for ages 10 and up, often bundled with the software for immediate use.[57][58][59]The kit included printed instructions for four starter models: Alpha Rex (a bipedal humanoid robot), Shooterbot (a vehicle with sphere-launching capability), Robogator (also known as Spike the scorpion, an animal-inspired walker), and Color Sorter (a machine using the color sensor to categorize objects by hue). These examples demonstrated sensor integration, such as the racer-like Shooterbot for propulsion and the Color Sorter for detection-based sorting.[60][61]Production of the NXT 2.0 kit was phased out in April 2013, following the introduction of the EV3 system, though Lego provided ongoing firmware updates and software downloads until official support ended in 2015. Community resources and third-party tools extended usability beyond that date.[58][22]
Applications and Legacy
Educational and Curricular Uses
Lego Mindstorms NXT has been integrated into K-12 education to support STEM learning, particularly in engineering design, mathematics through geometric modeling in robot builds, and science via sensor-based data collection and analysis.[62] This approach aligns with Next Generation Science Standards (NGSS) by emphasizing inquiry-based projects that connect engineering practices to physical science concepts like forces and motion.[63] For instance, students use NXT kits to construct robots that demonstrate principles of physics, such as torque and equilibrium, fostering hands-on exploration of real-world applications.[9]Educational curricula incorporating NXT often include structured lesson plans from providers like LEGO Education and Carnegie Mellon University's Robotics Academy, which offer units on robotics challenges focused on topics like force and motion or environmental monitoring.[62] These resources provide scaffolded activities suitable for ages 8-18, starting with basic builds and progressing to complex problem-solving tasks that integrate multiple disciplines.[64] At the university level, NXT supports mechatronics courses where students apply concepts in control systems and automation.[9]The use of NXT promotes computational thinking by requiring students to decompose problems, recognize patterns in sensor data, and iterate on algorithms through trial and error.[65] It also enhances teamwork, as collaborative building and programming encourage communication and shared decision-making in group projects.[66]Research indicates improved problem-solving skills and engagement, with studies showing gains in motivation and positive attitudes toward STEM.[67] Overall, these outcomes contribute to deeper conceptual understanding in STEM fields.[67]NXT has seen widespread adoption in educational programs globally, with implementations in thousands of schools across multiple countries, including structured integrations in U.S. elementary and middle schools as well as international STEM initiatives.[9] Tools like the NXT-G programming environment support scaffolded learning from novice to advanced levels, making it accessible for diverse classrooms.[17] As of 2025, LEGO continues to provide software support for legacy NXT users.[5]Despite its benefits, challenges in NXT implementation include high costs of kits, which can limit access in under-resourced schools, often addressed through grants and funding programs.[63]Teachertraining is another barrier, requiring workshops to build confidence in robotics integration, with professional development offered via platforms like LEGO Education Academy to overcome logistical and pedagogical hurdles.[68]
Community Extensions and Competitions
The Lego Mindstorms NXT system inspired a vibrant ecosystem of third-party add-ons that expanded its capabilities beyond official components. The PFx Brick, developed by Fx Bricks, integrates with Power Functions elements to enable advanced lighting and sound effects in NXT builds, allowing users to control IR receivers and motors programmatically through the NXT brick via custom cables or adapters.[69] Dexter Industries produced specialized sensors such as the IMU (Inertial Measurement Unit), which provided gyroscopic and accelerometer data for enhanced navigation and balance in robots.[70] Similarly, Vernier's NXT Sensor Adapter connected over 40 analog sensors, including force probes and pH meters, to the NXT brick, facilitating integration with scientific lab equipment for hybrid robotics and experimentation projects.[71]Community platforms emerged to share resources and foster collaboration among NXT users. The NXTPrograms.com site hosted free building instructions and downloadable programs for hundreds of robot models, serving as a central hub for enthusiasts to exchange designs and code.[72] LDraw, an open-source CAD tool, enabled virtual modeling of NXT assemblies, with community-contributed libraries of parts and models that allowed users to simulate and refine builds digitally before physical construction.[73] Open-source firmware projects, such as leJOS (a Java-based replacement) and the NXT Improved Firmware on GitHub, extended the brick's functionality by supporting alternative programming languages and real-time operating systems, empowering developers to customize low-level operations.[6][74]Organized competitions highlighted NXT's role in structured challenges. The FIRST LEGO League (FLL) utilized NXT kits from its 2006 inception through the 2012 season, where teams of students aged 9-14 designed robots to complete missions on a themed mat, alongside research presentations and core values demonstrations; over 300,000 participants engaged annually worldwide by 2012.[75] The World Robot Olympiad (WRO) has featured NXT in categories like RoboMission and RoboSports since its inception, requiring teams to program robots for obstacle courses or soccer-like games in age-based divisions, promoting international collaboration with events in over 90 countries; NXT remains permitted as of 2025.[76]NXT's open architecture encouraged inventive hacks that prolonged its usability. Bluetooth modifications allowed Android devices to control NXT robots remotely via apps like NXT Remote Control, which sent direct motor commands over paired connections for teleoperation or augmented autonomy.[77]Sumo bots, popular in informal tournaments, featured custom arenas such as 4-foot diameter circles marked on mats or floors, where NXT robots used light sensors to detect edges and push opponents out using geared motors.[78] Post-discontinuation in 2013, the community sustained the platform through 3D-printed replacement parts, with sites like Yeggi offering printable models for sensors, beams, and connectors to address scarcity of original components.[79]These extensions and events cultivated a maker culture around NXT, inspiring hands-on innovation and problem-solving among hobbyists and students. Annual gatherings like FLL regionals drew thousands of participants, blending competition with skill-sharing to influence broader STEM engagement and DIY robotics trends.[80]