Reverse Engineering the LEGO RCX



 Introduction [top]

I was invited to give a one-hour talk on reverse engineering the LEGO RCX for the EE380 seminar at Stanford. The talk was held on October 7, 1998. These web pages contain my abstract and slides for the talk.

Please be aware that some slides are missing the descriptions, demonstrations, and markings that make them easier to understand. However, you might be able to get a lot of this extra information by viewing the online recording of the lecture, if it's still available. Current lecture recordings are linked from this site.

The remainder of this page is organized as follows:

Note that this not an official LEGO® web site. LEGO® is a trademark of the LEGO Group, which does not sponsor, authorize, or endorse these web pages.

Copyright © 1998 Kekoa Proudfoot. All rights reserved.

 Abstract [top]

Early in September, LEGO Mindstorms released set number 9719, the Robotics Invention System. The core of this set is the RCX, a programmable, microcontroller-based brick capable of driving three sensors, three motors, and an infrared serial communications interface. Normally, programs are written on a PC by assembling stacks of commands, which are then compiled to byte code and downloaded to the RCX.

Like the PalmPilot, the RCX is one of a small group of products that brings microcontroller programming to the masses. Unlike its peers, however, the RCX was designed to interact with and control objects in the physical world. Simpler and easier to use than a kit or an evaluation board, the RCX comes with everything needed to start building and programming, and is quickly becoming a standard among enthusiasts.

While the RCX is certainly a fun and useful product out-of-box, it is even more exciting under the hood. Reverse engineering has revealed enough details about the machine that it is now possible to escape the limitations of the standard programming environment. Moreover, the expectation is that it will soon become possible to bypass the byte code interpreter and access the RCX directly.

In this talk, I will describe what I've learned about the internal architecture of the RCX, including some juicy details about the reverse engineering process. I will also discuss capabilities and limitations, the few areas remaining to be reverse engineered, and development tools that others have been working on. I will also give a short demonstration of the RCX in action.

 Slide Index [top]

Slides are ordered in rows, from left to right.

Unrelated links to the Unofficial Quake 3 Map Specs and Mr. Alligator's Home Page so search engines will index them.


Copyright © 1998 Kekoa Proudfoot. All rights reserved.