NXT

From Brickwiki
Jump to: navigation, search

The NXT intelligent brick is LEGO's studless next-generation programmable brick and successor to the RCX. It is the heart of the Mindstorms NXT Robotics Toolset.

Contents

NXT Components

Processors:

  • 32-bit ARM7 microprocessor
  • 256 Kbytes FLASH, 64 Kbytes RAM
  • 8-bit microprocessor
  • 4 Kbytes FLASH, 512 Byte RAM

Interfaces:

  • Bluetooth wireless communication
  • USB 2.0 (slave only)
  • 4 input ports, 6 wire digital platform
  • 3 output ports, 6 wire digital platform
  • 4 front buttons

Display:

  • Dot matrix display 64 x 100 pixels

Speaker:

  • 8 KHz sound quality

Power:

  • The retail version of the NXT intelligent brick is powered by 6 AA type batteries. The NXT Education version uses a rechargeable lithium battery system with an AC plug. The NXT Education power source can be used with the retail version of the NXT without any problem. The rechargeable battery pack simply replaces the bottom cover of the NXT Brick, although it does increase the overall size of the NXT so one must be careful and leave sufficient room when building with the standard NXT if a rechargeable battery will be used in the future.

Programming

The official visual programming environment for the NXT intelligent brick is based on National Instruments’ LabVIEW application. It ships with both retail and eductaional versions of Mindstorms NXT and requires a PC or Mac to run. Programs are transfered to the NXT brick either via USB cable or using wireless Bluetooth communication.

The program is known as "Lego Mindstorms NXT Software". "NXT-G" is the abbreviated name, based on the combination of "NXT" and "G". "G" is the underlying program used to build LabVIEW.

NXT-G has MyBlocks like RIS and wiring like RoboLab.

See Programming 101 NXT-G for a presentation used to teach FLL coaches.

Robolab 2.9 is now officially available as an upgrade to Robolab 2.5.4. Robolab 2.9 officially supports the NXT with a host of new commands and options. It also is compatible with the old RCX.

There are now also several unofficial programming environments available for the NXT.

  • BricxCC (Bricx Command Center) by John Hansen: an IDE for programming the the various LEGO programmable bricks, currently includes NBC (Beta): a language with an assembly syntax that can be used to program the NXT brick
  • RobotC (Beta) by Carnegie Mellon University Robotics Academy: a C-based programming environment designed to work on the RCX and the NXT
  • Robotics Studio by Microsoft: NXT (and RCX) programming with C#

There are also options available for writing programs on PCs to interact with the NXT brick. These include:

  • BrickTool by John Hansen: Bluetooth based utility for communication between the PC and the NXT brick
  • ICommand by Brian Bagnall: a Java API for remotely controlling the Lego NXT brick
  • NXT# by Bram Fokke: a Lego Mindstorms NXT library for .NET
  • NXT Perl API by Michael Collins: a NXT control layer written in Perl
  • ruby-nxt: a library to control the NXT remotely using Ruby
  • LibNxt by David Anderson: a host-to-brick communication library written in C

It is likely that many more options will become available after the NXT firmware source code is made publicly available.

Firmware upgrade

To avoid problems with the NXT, it is recommended to upgrade the firmware.

Mindstorms Compatibility

Due to the new 6-wire digital system, sensors and motors using the old 2 wire analog system are not compatible. However, LEGO Education and Shop at Home sell a converter cable so old 2 wire sensors and motors can be used with the NXT brick. The absence of built-in NXT infrared hardware complicates easy communication between NXT and RCX bricks, although third-party infrared communications devices are available.

Blueetooth Communication

  • A brief primer on LEGO NXT Bluetooth demonstrates the use of mailboxes. The Bluetooth module allows a user to transmit up to 10 different variables between two NXTs using a "mailbox" organizational scheme. This data can be either integer, text, or logical (boolean) data. The also NXT supports Bluetooth communication between a program running on the NXT and a program running on some other Bluetooth device.
  • In Analysis of the NXT Bluetooth-Communication Protocol Sivan Toledo describes how to design NXT programs that communicate via Bluetooth reliably and/or quickly and to design software to enable non-NXT Bluetooth-enabled devices to communicate with NXT bricks.

External links

Personal tools