[Setting up NXC Development on a Mac]

Lego Mindstorms Tutorials Date: Jan 2012

This tutorial provides a step-by-step guide for setting up your Mac or Linux machine and your NXT Mindstorms brick for development with NXC. We will use the enhanced NXC firmware in order to enable extended functions for development.

1. Download the compiler

Download the latest NXC compiler from the NXC website. Pick the latest possible version if the very latest one is not yet available for your system. The download should contain a single file 'nbc'. Put the file somewhere on your disk, for example to /Developer/SDKs/nxt.

2. Download the NeXT Tools

The NeXT tools are necessary for downloading firmware onto the brick and are useful for managing files on the brick, as well for program testing.

3. Download the latest firmware

In order to use advanced NXC functions and some math functions, the enhanced firmware needs to be downloaded onto the intelligent brick. According to Ford Perfect's blog, the latest version can always be downloaded from here. Unzip the file and start up the NeXT tools.

Reinstalling the firmware will erase all your files on the brick so it is a good idea to use the NeXT Explorer and upload all the files to your computer first.

NeXT Explorer

When you are ready, press the Download firmware button and find your firmware file. NXT will restart after the firmware download is finished.

There will be no sounds that you are normally used to but don't panic! Just use the NeXT Explorer and download the backed-up sounds like Startup.rso and Click.rso back into the brick.

You can always revert to the original firmware by getting it from the official Lego support page.

You are now ready to write and compile your first program!



Hi Sara, yes, this tutorial is bout 6 years old now. If you do get it working, please do let me know here how you did it! Good luck.

I guess this doesn't work with macOS Sierra I followed the steps but when I try to open NeXT Tool I keep getting this message "NeXT Tool quit unexpectedly" I will try with XCode

Sorry no idea, never happened to me.. take it to be repaired I guess..
Rohan V
No I meant that after I tried to download one of my programs my NXT wouldn't turn on I replaced the batteries and it still did't work. Also it keeps on making a ticking sound like a clock.

Which code editor is that? You mean you can't edit stuff?

{Please enable JavaScript in order to post comments}

NXC UserInteraction Library

The User Interaction (UIn) Library helps you create standard user interfaces (multi-line aligned texts, buttons, menus, etc.) and capture user actions on the NXT brick. The library works with the intelligent brick buttons and keeps all your sensor ports free for your program to use.

Problems with the NXC Compiler

After being paused by many NXC compiler errors, I can finally resume my work on the NXC User Interaction library that should be coming out soon...

Developing in NXC using XCode

After comparing a number of options, I chose NXC as a pretty good alternative to Robot-C. It supports a lot of things like sensor and motor management, playing of sounds, basic 2D and 3D graphics, etc. Most importantly, you can compile your programs from the command line or from XCode. This tutorial assumes knowledge of XCode 4 and of C. The NXC programming guide is a good reference.

Adaptive Robot Controller

A robot neural controller where obstacle-avoidance and random-walk neurons observe level of their irritation and randomly reconfigure their connections to motors when the irritation reaches a specified threshold is presented and tested.


The main purpose of pyCreeper is to wrap tens of lines of python code, required to produce graphs that look good for a publication, into functions. It takes away your need to understand various quirks of matplotlib and gives you back ready-to-use and well-documented code.

Novelty detection with robots using the Grow-When-Required Neural Network

The Grow-When-Required Neural Network implementation in simulated robot experiments using the ARGoS robot simulator.