Name | Device | Program Type | Language type(s) | Notes | Links |
---|
RCX | NXT | EV3 | Runs On Brick | Remote Control |
---|
Actor-Lab | | | | | | Custom flowchart-like language | | |
Ada | | Yes | | | | Ada | Requires nxtOSEK | |
Ada Interface to MindStorms | | | | | | Ada | | |
App Inventor | | Yes | | | | App Inventor | Specific support for LEGO(tm) MINDSTORMS(tm) NXT sensors and motors | |
brickOS | Yes | No | No | | | C/C++ | | website |
Ch | | | | | | C/C++ Interpreter | Control Lego Mindstorms in C/C++ interactively without compilation | |
clang | | | | | | C, C++ | | |
CoderZ | | | Yes | Yes | No | Java | Works with Blockly or with Java (using LejOS). Also includes an online 3D simulator[16] | website |
Cpp4Robots | No | No | Yes | Yes | | C/C++ | Cpp4Robots is extension(plugin) for Microsoft Visual Studio environment. This extension allows programming of Lego EV3 in native C/C++ language and in Microsoft Visual Studio development environment. This Cpp4Robots extension works with default firmware in EV3 Brick. | website |
DialogOS | | | | | | Graphical Flowchart for voice controlled robots | DialogOS combines speech recognition and speech synthesis with robotics, enabling you to build talking robots that react to your voice commands. | |
Enchanting | | | | | | Drag and drop, similar to NXT-G | Program your robots simply by dragging the line of functions. | |
EV3Basic | No | No | Yes | Yes | Yes | Microsoft Small Basic | | website |
ev3_scratch | | | Yes | No | Yes | Scratch (programming language) | Scratch code runs in the browser relaying commands to EV3 robot over Bluetooth. | |
FLL NXT Navigation | | Yes | | | | Uses NXT-G and .txt files | | |
GCC | | | | | | C/C++, Objective-C, Fortran, Java, Ada, others | | |
Gnikrap | No | No | Yes | Yes | Yes | JavaScript / Scratch like programming | | website |
GNU Toolchain for h8300 | | | | | | C/C++, ASM | | |
HVM | | | Yes | | | Development environment for the Java programming language for the Mindstorms EV3, Eclipse-based | Works with Java 1.7. Works with the standard Lego firmware. Does not require a microSD card. Requires a wireless bluetooth dongle for the EV3 | website |
Interactive C | | | | | | C-style language. | Language developed for the MIT Lego Robot Design Contest | |
jaraco.nxt | | Yes | | | Yes | Python | Python modules providing low-level interfaces for controlling a Lego NXT brick via Bluetooth. Also includes code for controlling motors with an Xbox 360 controller using pyglet. | |
LabVIEW | | Yes | Yes | Yes | Yes | National Instruments LabVIEW visual programming language (G code) | Core language used to develop Mindstorms NXT software. Can use available add-on kit to create and download programs to NXT, create original NXT blocks or control robot directly via USB or Bluetooth using NXT fantom.dll | |
LEGO MINDSTORMS EV3 API for .NET | No | No | Yes | No | Yes | .NET, WinJS and C++ | A .NET API for the LEGO MINDSTORMS EV3 brick usable from desktop, Windows Phone and WinRT. With this API, you can connect, control and read sensor data from your LEGO EV3 brick over Bluetooth, WiFi, or USB. | website |
Lego.NET | | | | | | Anything that can compile to CIL, works best with C# | Does not come with a compiler, converts CIL to machine code | |
Lego::NXT | | Yes | | No | Yes | Perl | Set of Perl modules providing real-time low-level control of a Lego NXT brick over Bluetooth. | |
LegoLog | | | | | | Prolog | Uses an NQC program to interpret commands send from the PC running the Prolog code | |
LegoNXTRemote | | Yes | | No | Yes | Objective-C | Remote control program for remotely operating and programming a Lego NXT Brick. Supports NXT 2.0 and 1.0, sensors, all 3 motors, automatic "steering" control, and running preloaded programs. | |
leJOS | Yes | Yes | Yes | Yes | Yes | Java | A java based system for advanced programmers can handle most sensors and things like GPS, speech recognition and mapping technology. Can be interfaced with the Eclipse IDE or run from the command line | |
Lestat | | | | | | C++ | Allows you to control the NXT directly from any C++ program in Linux. | |
librcx | | | | | | C/C++ | A library for GCC | |
Logitech SDK | | | | | | Visual Basic, Visual C++ | Can be combined with an RCX control library such as spirit.ocx from the MindStorms SDK to make use of the Lego Cam | |
Microsoft Visual Programming Language (VPL) | | Yes | | No | Yes | Graphical flowchart, based on .NET | With the Microsoft Robotics Studio, it uses a native NXT program msrs to send and receive messages to and from a controlling program on a computer via Bluetooth | |
Mindstorms SDK | | | | | | Visual Basic, Visual C++, MindScript, LASM | You do not need VB to use the VB features as MS Office comes with a cut down version of VB for making macros | |
Monobrick | | | Yes | Yes | Yes | C# | .NET 4.5. Firmware running from SD card. | website |
NQC | Yes | | | Yes | | NQC, a C-like language | | |
NXT++ | | | | | | C++ | Allows controlling the NXT directly from any C++ program, in Visual Studio, Windows. | |
NXT_Python | | Yes | | No | Yes | Python | NXT_Python is a package for controlling a LEGO NXT robot using the Python language. It can communicate via USB or Bluetooth. | |
NXT-Python | | Yes | | No | Yes | Python | Based on NXT_Python, includes additional advanced features, support for around 30 sensors, and multiple brick connection backends. Works on Windows, Linux, Mac. | |
NXTGCC | | | | | | Assembly, C, makefiles, Eclipse, etc. | The first GCC toolchain for programming the Lego Mindstorms NXT firmware. | |
nxtOSEK | | | | | | C/C++ | | |
OCaml-mindstorm | | | | | | OCaml | Module to control LEGO NXT robots using OCaml through the Bluetooth and USB interfaces. | |
OnScreen | | | | | | A custom language which can be programmed directly on the RCX | | |
pbForth | Yes | | | | | Forth | No longer developed. | |
pbLua | | Yes | | | | API for the Lua programming language for the Mindstorms NXT, text-based | pBLua: ... is written in portable C, with minimal runtime requirements; can be compiled on the fly on NXT; is a small, easy to read, and easy to write language; has extensive documentation available online and in dead-tree format, and a very friendly newsgroup | website |
PBrickDev | | | | | | PBrickDev, a flowchart based language. | Has more functionality than the RIS language, such as datalogs and subroutines/multithreading. | |
PRO-BOT | | | | | | A kind of Visual Basic/spirit.ocx-based language | Designed for robots which are in contact with the workstation at all times | |
Processing | | Yes | | | | Java (Simplified / programmed C-style) | Processing (programming language) is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. To control the NXT with Processing you can use the NXTComm Processing library developed by Jorge Cardoso. | |
QuiteC | | | | | | C | A library for use with GCC and comes with GCC for Windows. | |
RCX Code | Yes | | | | | RCX Code, a custom flowchart-based language | Included in the Mindstorms consumer version sold at toystore | |
ROBOLAB | Yes | | | | | A flowchart language based on LabVIEW | This is the programming environment offered to schools who use MindStorms, supports the Lego Cam. The programming structure simulates a flowchart design structure almost icon by icon. Therefore, it helps users a great deal in terms of translating from a flowchart design to Robolab icons. | |
RoboMind | | | | | | Simple educational scripting language available from Arabic to Ukrainian. | The RoboMind learning environment allows to quickly develop and test scripts for a virtual robot environment. The scripts can then directly be transferred to a Lego Mindstorms NXT robot. It works on the standard firmware. | |
RoboRealm | | | | | | A multi-platform language that works with IRobot Roomba, NXT, RCX, VEX, and many other popular robotic sets. This language is also capable for video processing using a webcam, this gives your robot excellent vision since it can filter out certain colors, lock-on to a certain area of color, display variables from the robot or computer, and much more. The software works with keyboard, joystick, and mouse. | | |
ROBOTC | Yes | Yes | Yes | Yes | | 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. | ROBOTC gives the ability to use a text-based language based on the C language. It includes built-in debugger tools, as well as (but not limited to) code templates, Math/Trig operations (sin, cos, tan, asin, acos... etc.), user-friendly auto-complete function built into the interface, built-in sample programs. This deserves a special note for its debugging tool. For any developer, you will know how important it is to have a good debugging tool. Among all other robotics programming languages which support Mindstorms platform, RobotC's debugging environment does deserve a special note; although it is not free. | |
Robotics.NXT | | Yes | | | Yes | Haskell | A Haskell interface 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). | |
ROS | | | | | | A Linux based library for writing robots. The stack "nxt" provides interface with the NXT. | | |
ruby-nxt | | Yes | | | Yes | Ruby | Provides low-level access to the NXT via Bluetooth as well as some preliminary high-level functionality. | |
RWTH – Mindstorms NXT Toolbox | | Yes | | | Yes | MATLAB | Interface to control the NXT from MATLAB via Bluetooth or USB (open-source). | |
Simulink (LEGO MINDSTORMS NXT Support) | | Yes | | | | Simulink | Provides a one-click rapid programming tool for the NXT. C code is automatically generated from a graphical Simulink model. The code is then deployed and downloaded onto the NXT, from where it can be run. The Mathworks provides an array of graphical blocks that represent the various sensors and actuators that the NXT uses. | |
SqLego | | | | | | Squeak | | |
Swift / Robotary | | | Yes | Yes | | Swift (programming language) | Robotary is a Mac robotics studio that uses the Swift programming language. | website |
TclRCX | Yes | | | | | Tcl | | |
Terrapin Logo | | | | | | LOGO | | |
TinySoar | | | | | | Soar | An implementation of the Soar artificial intelligence architecture that runs on the RCX brick. Soar incorporates acting, planning, and learning in a rule-based framework. | |
TinyVM | Yes | | | | | Java | A predecessor to the lejos language. An open source Java based replacement firmware for the Lego Mindstorms RCX microcontroller. | |
Transterpreter (The) | | | | | | Occam | | |
TuxMinds | | | | | | (Linux) GUI for various distributions, an open source IDE based on Qt. Supports a lot of bots. RCX, NXT and Asuro are predefined. | With the XML-based configuration file almost any kind of bot (or microcontroller) can be added. Own equipment can be added in the same manner. | |
URBI by Gostai for Lego Mindstorms NXT | | | | | | URBI, C++, Java, Matlab | Easy to use parallel and event-driven script language with a component architecture and opensource interfaces to many programming languages. It also offers voice/speech recognition/synthesis, face recognition/detection, Simultaneous localization and mapping, etc. | |
Vision Command | Yes | | | | | RCX Code | The official programming language for use with the Lego Cam, that allows you to control your robot with color, motion, and flashes of light. | |
XS | | | | | | Lisp |