Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 1 commit ahead of Glitchbone:master.

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.

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:


Programming a LEGO Mindstorms RCX on OS X






No releases published


No packages published