RCX
The big yellow MINDSTORMS brick, 1998 to 2001: a Hitachi H8 microcontroller, three motor outputs, three sensor inputs, an LCD and a speaker. It hears the infrared serial link in RCX IR protocol, and it answers back.
Reach
| Capability | State | Note |
|---|---|---|
| Three motor outputs, A B C | works, untested here | direct commands act at once, with no program in the brick |
| Three sensor inputs | works, untested here | the reading comes back on the reply, so it takes both directions of the link |
| Its light sensor as a sensor | works, untested here | reflected and ambient brightness, the same physics VLL uses as a channel |
| Speaker and LCD | works, untested here | six built-in sounds, a tone by frequency and duration, a chosen value on the display |
| Five stored program slots | works, untested here | bytecode downloaded over the link, then run with no computer in the room |
| Firmware download | works, untested here | the brick ships empty and needs one before anything else |
| One-byte messages, brick to brick | works, untested here | the same infrared both ways; this is how cooperating robots were built |
| The handheld remote, no program running | works, untested here | 9738 speaks this link itself |
| VLL out, through a lamp brick on an output port | works, untested here | the RCX becomes the emitter and commands a Micro Scout |
| Flash Force through the bridge | works, untested here | motors, sounds, stored programs and messages, from a layout on the glass or a gamepad |
| The bridge's frames on real hardware | works, untested here | the remote's frames were replicated on a real Scout, which shares this link layer, never on an RCX here |
| Hearing the RCX answer through the bridge | out of reach | the reply needs an infrared receiver the bridge does not carry |
What it hears
An infrared serial link that runs in both directions: a computer pushes a program in and reads a sensor value back out, and every other link here is one way. The framing, the carrier, the baud rate and the toggle bit are in RCX IR protocol; the commands are in RCX opcode table; every link a LEGO brick can hear sits on one page in How the links work. The handheld LEGO Remote Control (9738) rides this same link with an opcode and rules of its own, including one firmware-version bug, all in the protocol note.
The brick's other optical path is not a channel at all. Its light sensor reads brightness, which is the same physics VLL uses to carry codes, put to work as a sensor instead.
Reaching it today
- Flash a firmware first, because the brick ships empty:
firm0309.lgo,firm0328.lgoorfirm0332.lgo, withnqc -firmware firm0332.lgo. Dick Swan'sfast0612.lgoruns 50 to 100 times quicker — see pbrick.info. - NQC · BrickCC — the classic toolchain, still the shortest path.
- LegoRcxPy — Python over a serial tower.
- BrickLogo — a Logo prompt that talks to the brick.
- Period software LEGO shipped: RIS · RCX Code for the consumer sets, ROBOLAB for schools.
- Replacement firmwares that run native code on the H8: legOS · brickOS in C, pbForth in Forth, leJOS in Java.
One tower does double duty: the same hardware that talks to an RCX can flash VLL at a Micro Scout. And an RCX emits VLL itself by blinking a 9V light brick on an output port — see rcxvll.nqh (pbrick).
Links
- Sets 9719 RIS 1.0, 9747 RIS 1.5, 3804 RIS 2.0 — Sets & bricks index.
- Towers: 9713 serial, 9783 USB — LEGO USB IR tower (RIS 2.0).
- The handheld remote, set 9738 — LEGO Remote Control (9738).
- VLL out of an output port, in NQC: rcxvll.nqh (pbrick) · pbrick.info.
- The specification: RCX Internals (Kekoa Proudfoot).
- macOS tools: mindstorms-rcx-osx-tools · InfraredBrickTower.