Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

#LEGO Mindstorms RCX on OS X

After a lot of research on the web, I found it was a pain in the ass to communicate with the RCX on a MacBook Pro running OS X Mavericks.

By now, the only (and best) solution is to use NQC.

NQC is a programming language with a syntax similar to C but it's Not Quite C.

For more information and documentation:

NQC is provided as a simple command line program which acts as a compiler and a tool to communicate with your RCX hardware to transmit firmware and programs.

Follow these simple steps and you'll be able to enjoy programming your old RCX brick on a modern Intel Mac.

USB Connection just works. For Serial Connection The only requirement is a Serial to USB adapter to connect the IR Tower to your computer. Find a cheap one based on the PL2303 chip and install the kernel extension:

##1) Building NQC from sources

For the lazy ones, I also provide a compiled version inside the /binaries folder.
(If you want to use it, copy the nqc executable inside your /usr/local/bin directory and go directly to step 2)

git clone
cd mindstorms-rcx-osx-tools
git submodule init
git submodule update
cd nqc
sudo make install

If the build succeeds, the nqc executable will be installed globally.

##2) Find the serial/usb port

Find the name of your serial port:

ls /dev/cu.*

This command will return a list of available devices. Look for something like /dev/cu.PL2303-XXXX and write it down. You will need this on all nqc command with the flag -S (ex: -S/dev/cu.PL2303-XXXX)

For USB connection you should use usb instead of /dev/cu.PL2303-XXXX. ie: -Susb

##3) Uploading the official LEGO firmware

I provide 3 LEGO firmware in this repository:

firm0309.lgo: RCX firmware version 3.09 - Provided with RCX 1.0 & 1.5
firm0328.lgo: RCX firmware version 3.28 - Provided with RCX 2.0
firm0332.lgo: RCX firmware version 3.32 - Latest firmware (Not sure if this one is compatible with NQC)

We will use firm0328.lgo for now.

Send it to your brick (Serial):

nqc -S/dev/cu.PL2303-XXXX -firmware firmwares/firm0328.lgo

Send it to your brick (USB):

nqc -Susb -firmware firmwares/firm0328.lgo

This will take a few minutes.

##4) Send a test program to the RCX

I provide some example programs (from the NQC website) in the /examples folder

Upload the music.nqc program with this command:

nqc -S/dev/cu.PL2303-XXXX -TRCX2 -d -pgm 1 examples/music.nqc

When the transfer is complete, you can test it on your brick by selecting program slot 1 and running it

For more informations on the NQC utility, please refer to the official manual:

For the NQC syntax reference: