flash force Wiki
Interactive browser →
Wiki / LEGO hardware
#device#ir#rcx#scout#remote

LEGO Remote Control (9738)

The handheld infrared remote for MINDSTORMS, sixteen keys on one faceplate, sold as set 9738 from 1998 to 1999. It sends no consumer infrared code: it speaks the RCX infrared link itself, 38 kHz at 2400 baud, so an RCX or a Scout obeys it with no program running and no computer in the room.

Reach

CapabilityStateNote
Two Scout motors, no program on the brickworkson a Scout the A and B keys are the two real motors
Scout built-in behaviours on the message keysworksMsg 1 seek dark, Msg 2 seek light, Msg 3 bug dance
A Micro Scout puppeted through a Scoutworks, untested hereon a Scout, C is the VLL lamp output and not a motor, so C up and C down relay VLL forward and backward: remote to Scout to Micro Scout in P mode, no computer and no tower
Three RCX motors, no program on the brickworks, untested here0x0008 0x0010 0x0020 drive A B C forward, 0x0040 0x0080 0x0100 reverse; momentary while held, not latched
Two motors at onceworks, untested hereboth bits in ONE frame, 0x0018; send 0x0008 then 0x0080 and only B runs, because the second frame has no A bit and therefore stops A
Letting go without killing the programworks, untested herethe empty mask 0x0000 has its own handler, which writes off to all three motors; the handler is in the firmware, but no capture of a physical remote sending it exists
Holding a keyworks, untested hereany motor frame reloads a 101-tick watchdog and expiry turns everything off, so a held key has to be re-sent; the real remote's rate is about 50 ms, which is eleven bytes of eleven bits at 2400 baud
The five RCX program keysworks, untested here0x0200 P1, 0x0400 P2, 0x0800 P3, 0x1000 P4, 0x2000 P5, select and run program slots 1 to 5, each needing a downloaded program; edge-triggered, so holding one fires it once
The three RCX message keysworks, untested here0x0001 0x0002 0x0004 deliver infrared message 1, 2 and 3 to a running program, NQC Message(); with no code to read them, nothing happens
The Stop keyworks, untested here0x4000 stops the motors AND the running program, and that second job is its only reason to exist, so it is not the way to let go
The Sound keyworks, untested here0x8000, a beep
C reverse on firm0309, the RIS 1.0 and 1.5 firmwareworks, untested herethe test reads the byte after the mask, which is the checksum, so a lone 0x0100 works only by coincidence and unrelated masks drive C backwards: Msg 1, 0x0001, has an odd checksum and does exactly that. Fixed in firm0328 and firm0332, which read the real high byte
Scout program keys, Stop and Soundunknownthe Scout holds one program slot, not five, so P1 to P5 has no clean mapping; stop and beep are plausible and never confirmed

What it hears

It only transmits, and nothing answers: one opcode and a 16-bit mask of which keys are down, on the same link a computer uses to reach an RCX. The frame, the checksum, the missing toggle bit, which bits may combine and the five rules for building an emitter are all in RCX IR protocol. One mask carries all sixteen keys: six motor arrows, A B and C in both directions, five program keys, three message keys, Stop and Sound.

What decides whether driving feels solid is one property of that mask: it is a snapshot of what is held right now, not a list of events. The firmware re-derives all three motors from the current frame alone — forward bit means forward, else reverse bit means reverse, else off — and that last "else" is the whole story. A motor frame also reloads the watchdog, so one frame is a pulse and a held key has to be re-sent. Non-motor keys are the opposite, edge-triggered: holding a program key fires it once, not ten times a second. And a message, program or sound frame slipped into a stream of motor frames skips the motor stage entirely, so it never refreshes the watchdog and the motors stop mid-drive.

All of that comes out of the stock firmware and applies to the stock firmware only: leJOS and brickOS replace it and describe their own behaviour instead. The Scout runs different firmware again, so none of it is proved there, and the Scout rows above were measured on the brick.

Reaching it today

Any 38 kHz infrared emitter can be this remote, because the whole remote is one opcode and a mask.