Making Mindstorms RCX Work Again





Introduction: Making Mindstorms RCX Work Again

I found one of the original Lego Mindstorms kits at a garage sale and I had to buy it. I have wanted one of these for a while, but I never got around to buying one. Now that they are somewhat antiquated, you can usually pick them up pretty cheaply. Because these sets are nearly 20 years old, there are usually some problems, so once I got my set working I thought I would document the process for others to follow.

The main problem with Mindstorms RCX is the lack of support from Lego for these old sets. According to what I have read and some experience, the sets only really work well under Windows 98. People found ways to make them work under heavily patched copies of Windows XP, but since Microsoft no longer supports XP and the patches from Lego aren't available anymore, I had to find an alternative to the Lego software.

There are still a few sites around that support the original Mindstorms RCX sets, but they are disappearing and the information on them is less valuable as we move away from the versions of Windows that were supported. There are still a handful of good sites out there and they may not be maintained, but you can use the Wayback Machine to read the pages they used to link to.

Step 1: Testing Parts

This Mindstorms set is version 1.5, which includes an RCX brick that does not have an external power connector. I plugged in 6 AA batteries and tried to turn it on. Everything worked so I tested the sensors. When you attach and press the push sensors, a little arrow appears on the LCD below the number that the sensor is attached to. I plugged a motor into the motor port and cycled through the programs that were already saved on the RCX. I found a program that ran the motor forward and stopped it if you pressed the push sensor.

After the batteries have been out for a long time, all programs that were loaded on the RCX will be wiped out. The brick will default back to the standard programs.

I found this site that has the original inventory parts list for this set. I didn't actually go through the list to check everything. I just looked to see how many motors and sensors were supposed to be here and went from there.

Step 2: Disassembling the RCX

These pictures are from another RCX brick that I bought separately because it was an RCX 1.0 with the external barrel jack connector. This allows you to power the RCX brick and your whole project with an external power supply instead of batteries. Included in the auction was one of the RCX IR remotes that came from a different set. This allows you to remotely control movements and begin any of the 5 saved programs.

It's not actually necessary to disassemble the RCX unless you have to repair something, but I like to take things apart and I was already thinking of a future project, so I decided to take the brick apart. It's handy to know what parts go into something. The RCX is basically an LCD display, a microcontroller chip, a couple H-bridges, a speaker, an IR LED and receiver and some button and Lego wire connector contact. This is a good site that details the internals of the RCX brick.

The safest way to do this is to remove all the screws and press the first and last battery contacts out of the battery compartment. To push the contacts out you have to press the little release clip on the contact that prevents it from slipping back through the hole in the plastic. Once that is released, you can gently pry and work the plastic shell apart. Work slowly because it can get bound up and you could easily crack or break something. There are a few tiny pieces that hold the PC board to the upper case that will break if you are not careful.

Step 3: Repairing an RCX

I bought another RCX to do some more tinkering, and unfortunately it arrived with a lot of battery corrosion. I made another Instructable about the process I used to clean off the corrosion, which is a common problem with these RCX bricks. I'm very pleased with the results, but it was definitely a lot of work. If you find a set with a corroded RCX brick, you can replace it with one from eBay for around $20.

Step 4: Serial Port

There are some sets that came with a USB version of the RCX IR tower, unfortunately I don't have that one and serial ports are getting hard to find on laptop computers. I bought this USB to serial adapter because it has a very long list of supported operating systems and includes drivers for each. I also liked this one because it didn't have a wire so it just plugs onto the end of whatever serial device you have and converts it to a USB device. It works great and I have been very happy with this adapter.

I have since heard that the USB drivers are not supported in more modern versions of Windows. If you have the serial version, it still works in Windows 7 (32 & 64 bit) as long as you use NQC instead of the original Lego software.

Step 5: Software Possibilities

My set didn't come with the original installation disk, but I wanted to
try programming the RCX brick with the LEGO OEM software before branching out. Unfortunately, you can't find this software on the Lego website anymore. You can buy replacement disks on Ebay, but you can also find a few torrents still floating around where you can download the Lego Robot Invention System (RIS) 2.0.

The websites that tell you how to patch and install the old RIS software are slowly disappearing, but you can usually still find a website or two that is still linking to a site that used to contain some good information. I was able to paste these links into the Wayback Machine and gather the information I needed.

This software was originally written for Windows 98se, but it will still work under Windows XP (32 bit only) with patches that Lego distributed. Unfortunately, those patches are no longer available, so my best option was a virtual machine running Windows 98se. I downloaded Oracle's VirtualBox software which allowed me to create a virtual machine running 98, but I couldn't get the USB to Serial adapter I bought to pass through the host computer to the 98 client machine. I could have bought another adapter, or bought a USB version of the Lego IR tower off Ebay, but I decided to scrap the original plan and start with something that will work on my Windows 7 machine.

According to what I have read, the Lego IR USB tower has drivers that will work under XP, or Windows 7 32 bit, but not 64 bit. The serial tower will work in Windows 7 64 bit, but since most computers don't have serial ports, you still need the adapter. I recommend the serial tower and serial adapter I mentioned in the last step. I have used this under Windows 7 64 bit and they work great.

There are a handful of different programming languages (NQC (Not Quite C), ROBOTC, LEJOS, etc) or after market IDE's (BRICXCC, etc) that are available to use with the RCX. There is even a Perl package on CPAN that interfaces with the RCX through a serial IR tower. Since it seems like the most has been written about NQC and BRICXCC, I decided to go this route.


BRICXCC and NQC are terrific. The language is easy to understand for anyone who has any experience with C/C++ or any language with C like syntax. People familiar with Arduino will definitely be able to pick this up. The tools built into BRICXCC are very powerful, intuitive and robust. Here is one of the many great NQC tutorials available online.

To use the BRICXCC controls and my IR remote control, I had to update the firmware on my RCX brick with one of these OEM firmwares. You can use an after market firmware, but I wanted to keep things as original as possible to limit the troubleshooting later.

One odd thing I noticed while programming the brick with the IR tower, I was changing the channel on my TV and it caused the communication to fail. There is an awful lot of communication between the RCX brick and the IR tower, and while I had them right next to each other, the TV remote being used anywhere in the room caused the communication to fail. It also caused the TV not to get the signal from the remote.

Step 7: Final Thoughts

I got into Arduino before I ever bought a Mindstorms kit. I loved playing with Technic when I was a kid, but Mindstorms didn't come out until later. There are some quirky little things that I dislike, like how the brick loses your programs and updated firmware if you take the batteries out for too long. I assume this is because Flash memory wasn't very common until after digital cameras drove the price down. Overall, I really enjoy this set and I find that I could have avoided building more complex projects if I had Mindstorms to use in projects like my Mets Apple.

The RCX speaker is very easy to use and the BRICKXCC software includes a tool for converting music files to code for the RCX brick to play. The code is not all that different from how I have created music files (by hand!) for Arduino in my Mets Apple and Super Mario projects. In the future, if I need to make music with Arduino I will open up BRICKXCC and use their tools to generate the code I need and adapt it to fit Arduino. This is a big improvement over doing this manually.



    • Oil Contest

      Oil Contest
    • Game Life Contest

      Game Life Contest
    • Clocks Contest

      Clocks Contest

    30 Discussions

    Hi thanks for the information in your blog. I ma new to all this, I have inherited a 9719 set with the infra red unit missing and no software. I have a windows 7 or 8 PC/Lap top 64 bit. Do you know if the currentl Lego software (V2.0 i think) will work on either of these systems

    We came into possession of two sets of these monsters. I had never even heard of them before, imagine my shock in finding out they were 20 years old! I dug around and found an XP laptop and even though I have the XP drivers for the USB IR tower, I cannot get either one of them to work. So I'm going to walk it backward to a serial setup instead to see if I can get it working that way. My 11-year-old is excited to play with them. Had I not found your post I would have not known the age of these things.

    1 reply

    Good luck. Even though they have been phased out by newer Mindstorms sets, the RCXs still work well enough to be a great intro set. They are cheap and you can still find plenty of parts on eBay.

    If the XP laptop is too much work, you can see if you can get a serial IR tower and that will work with a 64 bit OS. I never did get the original Lego software working the way I wanted, I suggest the BRICXCC and NQC route.

    my teacher gave an rcx1.0 to me but it won't even turn on some one hel

    1 reply

    First thing I would look at is the batteries and battery terminals. These things use a lot of batteries, but then they go unused for long periods of time. Often the batteries leak and the terminals get corroded. If there is any white corrosion or crystals on the terminals, I would get some cotton swabs and vinegar and see if you can clean them up.

    Thanks for this. I just inherited a Mindstorms RCX 1.0 set from my brother-in-law along with the book and companion NQC CD. The control box (with the barrel connector for AC power), IR tower, Serial cable, motors and RCX bots are ALL there, and 95% of the kit pieces are there.

    My son (8) is a bit younger than the recommended age for the kit, although he starts with his own Lego Robotics at school very soon. What's the best way to start...should I just move ahead with the NQC at least for testing and diagnostic of the kit, or try something else? I probably still have a Win7 machine here so it's possible to get things running...

    1 reply

    cdnguy68 If you are not positive the school could use newer Lego Mindstorms Kits. I know if you are in Bridgewater Raynham Regional School District they use the Lego Mindstorm EV3

    By far, the easiest way to program the RCX on a modern PC is to install the firmware with BricxCC, and program it in Robolab 2.x. They both work great under Windows 7, and Robolab is vastly superior to the default programming environment.

    1 reply

    Very interesting, thanks. I think I glossed over this option because it didn't seem to support the RCX anymore but I can see there is still limited support. I like that it is still based on a building block GUI that kids can use without learning a text based programming language.

    I just inherited a boatload of RCX bricks and parts to use with my technology club and/or computer science class. I am trying to figure out if we will be able to use the equipment and how. I have several USB towers, motors, cables, etc. We are a Mac-based school currently using EV3 software with our EV3 kits. I am not sure if I can "put humpty back together again" but do you know of any resources we could use that would address RCX usability on a mac?

    1 reply

    Unfortunately, I'm not very familiar with Macs, but there are some free images of Windows 98se floating around that you can boot up in a virtual machine. Virtual machines would be your best bet because they will work regardless of the modern operating system. The USB IR tower may give you some trouble, serial may be the easy to go if you can, even if you have to get a USB to serial adapter.


    my ir tower does not give any light or something

    1 reply

    If you aim a digital camera at it while it's supposed to be programming you should be able to see if it is working. The IR LEDs are not visible with the naked eye.

    I just bought a RCX / Mindstorms 1.5. Got most of it working with VMWare and a usb to serial converter. The IR tower sees the RCX but the firmware will not load. Any idea?

    1 reply

    Excellent! Good luck with your set. I didn't have much luck with the OEM software, but I did get NWC running pretty well with BrickXCC. If nothing else, you can definitely load the firmware with that. If you can't load the firmware you might have the same issue that I did with the Oracle virtual machine tool. Everything seemed to be working together but the Lego software couldn't make a connection to the hardware. Even thigh I specifically designated the USB adapter to be shared with the virtual machine, it just wouldn't work. Try BrickXCC instead.

    1: Cost - these sets can be found for less than a fifth the cost of an EV3

    2: Adaptability - the original Robotics Invention System had more parts than an NXT or EV3 set, and had a much greater variety as well. This meant that the kit wasn't just for beginners - it had enough to build much, much more advanced creations as well. Personally, I don't think the later versions of Mindstorms could live up to that standard. They were designed to be as simple to use as possible, containing only very basic elements, and with that they lost the variety and complexity that made the RIS so appealing.

    The only problem, as this instructable points out, is the lack of support on modern operating systems.

    2 replies

    Exactly! But luckily there is still a way to use them.

    Yep! Your idea for using a USB to Serial converter was genius; I went out and bought one right away. It's amazing to be able to use my RCX on Windows 10 64-bit. Maybe I'll finally be able to get rid of my XP dual-boot.