nxtIDE is an Integrated Development Environment* which lets you use Python to program Lego Mindstorms NXT robots and also simulate them.
This means that you don't need the actual robot. Just download nxtIDE, install it and you can start having fun while playing with robots!

*) nxtIDE aims to include everything you need to start with Lego Mindstorms NXT robots. You don't need to install anything else.


Lots of people know Lego Mindstorms NXT. It's a robotic kit which has awesome features: it's not that expensive, it's really easy to play with and you can do many cool things with it.

Lego NXT robot

Well, you can create way more awesome things then this robot. Image from Wikipedia.


An example program in NXT-G (click to enlarge). There is also a more complex example.
Image from www.teamhassenplug.org.

But when it comes to programming, there are only bad options. You can use NXT-G which is a graphical programming language and is indeed really simple to use. But once you want to do something more advanced an complex it gets slow.

On the other hand, there is BrixCC and programming language NXC (Not eXactly C) which is based on the C programming language. NXC is faster and more robust than NXT-G but has quite complex syntax. This might be no problem for experienced programmers but causes lots of trouble for beginners who play with NXT robots.


An example program in NXC using BrixCC (click to enlarge). Image from dasl.mem.drexel.edu.


An example program in nxtIDE, written in Python (click to enlarge).

Here is where nxtIDE comes in. You can use it to program your NXT robot in Python programming language. Python has easy syntax and is simple to use for beginners but also provides useful tools for experienced developers.

And not only that! With nxtIDE you can also simulate the program you write. This way you don't need a robot to try your program. All you need is a computer which can run Python!


Line follower robot in the simulator (click to enlarge).

What can I do with it?

Quick tutorial

Here are three simple tutorials to show you what it is like to program robots with nxtIDE:

To sum up what these videos wanted to say here is a table which explains the most common NXC commands (which are actually Python functions) that can be used to program the robot:

Function Description
OnFwd(output, speed) Set output to speed and force a motor connected to it to move forward
OnRev(output, speed) Set output to speed and force a motor connected to it to move backward
Off(output) Turns the output off.

Other features


If you want to open the console, click at the topright image in nxtemu. You should see something like this afterwards.

You can command the robot directly form the emulator. It will respond immediately.

Where can I get it?

The latest version can be always obtained from the GitHub page of this project.

You can obtain Windows installer for the latest version here.

Note: Please note that in order to communicate with the NXT Brick from Windows (for instance to upload programs into it) you might need the Lego NXT Driver


nxtIDE was created and is maintaned by members of the XLC Team.

Fork me on GitHub