views:

1895

answers:

8

I'm new to it and currently using the visual flow-chart like language that the Lego Mindstorms IDE uses. I'm impressed with how readable the diagramming language is but missing the flexiblity of actual code. I'm imagining complicated projects I want to try out and don't really want to implement them as a gigantic flow chart! lol :)

I know there are other languages/IDEs you can use but not really sure what they are or which to use. What IDE/language do you recommend for programming Lego Mindstorms projects?

I'd prefer an IDE that still allows me to hit Run and send the program down to the NXT brick via bluetooth and run it immediately.

UPDATE: I ended up choosing lejos. Mainly because I've just started learning Java at work which is very similar to C# which I'm already familiar with. I would recommend Lejos since Java is a great high level, feature-rich language and there are nice IDE's for it. Eclipse is a great IDE which lejos has a plugin for and ant build scripts make building your project, loading it to the NXT brick and running it on the device a one step process. Lejos does require special firmware on your NXT brick but that went fine and you can always put your old Mindstorms firmware back on later if you want.

If you want to check out other language and IDE options I'd highly recommend this chart I stumbled across: http://www.teamhassenplug.org/NXT/NXTSoftware.html

A: 

Back in the day, NQC was the way to go; A good intro to C style programming, with fewer pitfalls.

Now replaced with NXC, which is designed for the new NXT.
Eric
+1  A: 

I think this is a good book about programming your Mindstorm NXT with the NXC (Not eXactly C) language.

"LEGO Mindstorms NXT Power Programming: Robotics in C" by John C. Hansen

With a small amount of tinkering you can probably get NXC working with whatever your favourite IDE already is.

Stewart
+2  A: 

We used NQC for programming Lego Mindstorms. We was to build a four-wheel robot to gather artificial rubbish(pieces of bead and paper) in a competition. After testing different programming and IDEs I concluded NQC was right to me.(because I knew C and NQC had many good tutorial materials). And the point is that you can modify your code easily with NQC. For example, at the competition, we should change our code in oder to cope with new challenges in our robot's environmetn( they changed MDF with carpet!)

by the way, We obtained a good result (third place) :)

Kamran
+1  A: 

MATLAB actually has a LEGO MINDSTORMS NXT Toolkit, if you're interested at all in using MATLAB. You can send commands via Bluetooth connection or create embedded controls that are downloaded to the robot. I've seen it discussed on some of the MathWorks blogs, and there are some demos posted on the MathWorks File Exchange (here's one).

gnovice
+3  A: 

Another option is Microsoft Robotics Studio.

JonnyBoats
+1  A: 

I would suggest RobotC as a good choice for programming the NXT. Here are some of the benefits of RobotC:

  • C based syntax
  • IDE
  • debugging
  • sample programs
  • better performance than the original firmware
  • free 30 day trial

RobotC

Louis Davis
Why would you ever want to pay for something like that? There are many other free, open source options that are just as good, if not better.
Zifre
+2  A: 

FYI, I came across this extremely helpful feature comparison chart of different languages which you can program the NXT in:

http://www.teamhassenplug.org/NXT/NXTSoftware.html

Ben Daniel
A: 

You can use nxtOSEK as operating system on the NXT. Then you can use plain C to write your code.

swegi