NXT programming environments - state of the art

It may not have gone completely unnoticed that in the last weeks there has been a springing up like mushrooms of programming tools for the NXT in the community - in particular ones that enable you to remotely control the NXT from your PC seem to come into being every week in any imaginable language (while there still is a small set only that actually runs on the NXT).

Here's my overview:

Running on the NXT brick:
  • NXT-G (official LEGO NXT IDE, contained in the kit)
  • ROBOLAB (also by LEGO)
  • NBC (Assembler style)
  • RobotC (C)
Running on the PC:
Do you know of any others?
Which one are you actually using?
Which ones do you particularly like?
What's your dream of a NXT programming environment?

As for me, I'm anxious to see
  1. a Java VM running on the NXT
  2. another Model-Driven NXT development environment with a NXT-specific domain language (as a matter of fact, NXT-G is such a one, but I'd like to see some different concepts implemented)
Matthias Paul


Parmaia said…
Hi, i've working on one of such programming libraries to remote control the NXT, i did it on DELPHI, but is on very beta version and undocumented, cause my job and studies are consuming much of my time, but slowly y will be documenting it.

If any one is interested on this library, tell me and i'll share my research.

It is very like Microsoft Robotics Studio, as i develop a small module in NXT-G that runs in the NXT, and send sensor values to my clases in the pc. To control motors, the library send Direct Commands to the NXT, as MSRS does.

I see that ICommand (Java) has some troubles on the control of the motors with the TachoLimit, I have the same problems, jejeje.

I wanted to do it, because MSRS seem to be a little complicated and i'm not a C# expert, in fact, it is the first time I try to use it, and not feel so good.

I'll make a demo program to show an overview of how it works.

Saludos a todos!!!
Anonymous said…
RobotC runs on the brick itself.
Unknown said…
> RobotC runs on the brick itself.

You're right, of course. Corrected it.
Thanks for the note.
Anonymous said…
You don't ever mention ROBOLAB 2.9. It runs on both the NXT and RCX, has a lot more features than NXT-G and the programs are 10x smaller on the NXT.

The real silly thing is that it is written in LabView just like NXT-G, but with ROBOLAB you can get into LabView and use all its power unlike NXT-G
I don't think anyone's ignoring Robolab on purpose... I think most of us have access to NXT-G so that's why a lot of attention is given to it...

Anonymous said…
If you're not ignoring Robolab then it should mentioned in your blog post. :-)

OK, to make this comment somewhat more useful I will offer that Robolab is missing two important things included in NXT-G:

* Bluetooth
* Sensor support for the NXT buttons
Anonymous said…
Not yet relesed, but the NI NXTToolkit will allow compiling and running on-brick, It will allows programming in native LabView IDE and supports BlueTooth and all firmware syscalls.
Unknown said…
> You don't ever mention ROBOLAB 2.9

Agreed. Thanks for bringing that to my mind.
Added it to the listing.

Is there some homepage for ROBOLAB?
Anonymous said…
www.ceeo.tufts.edu or www.LEGOengineering.com is the (new) Homepage for ROBOLAB.

From what I have been told LEGO crippled ROBOLAB so it didn't run Bluetooth at the moment but it has the capability to do so. I have been told there is a patch coming soon that adds even more functions including NXT buttons as sensors.

ROBOLAB is use by schools all over the world and teachers like me find it a great program to teach with. It has all the maths functionality than NXT-G doesn't. It does datalogging. The programs are heaps smaller that NXT-G. They download in an instant plus heaps more...
Anonymous said…
I am waiting for a python tool to programm the NXT

both inside the brick and from the pc.

still wating.
Anonymous said…
I am also waiting for a pythonic NXT
Anonymous said…
I'm working on Pythonic access (PC only) but am having little luck (need more RTFM)...
Unknown said…

I wrote a program that allows to communicate with a NXT brick under Linux using a Bluetooth link. With this program you can upload and download programs un them and other stuff. You can find more info and get the source at


Our site is not ready yet (really) but this page should be working.

You'll find also info on how to make Bluetooth working on Fedora Core 4 if you have problems, or at least on how I was able to make it work.

The program is called NXTRC (NXT Remote Command) and is a slightly modified and improved version (v 1.1) of another program of mine called NXT that was available on the NET in the last month or so.

Ruslán said…
There is the Java-based LejosNXJ...

Martin said…

Popular Posts