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 Lego::NXT provides an API between Perl and NXT. Ada A port iof 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 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 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. It is the most widely used third-party programming language. ROBOTC 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 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. It does not require custom firmware in order to run. NXTGCC NXTGCC is a GCC toolchain for programming the NXT firmware in C. URBI 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. leJOS NXJ leJOS NXJ is a high level open source language based on Java that uses custom firmware developed by the leJOS team. nxtOSEK To be able to write in C (programming language)/C++, nxtOSEK can be used, but that requires custom firmware too. MATLAB and Simulink 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,