Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit 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.

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:

(I don't know if NQC works with the USB IR Tower on OS X since I only have the serial version)

##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) Uploading the official LEGO firmware

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.

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:

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

This will take a few minutes.

##3) 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:


Programming a LEGO Mindstorms RCX on OS X






No releases published


No packages published