Dr. Vegetable's Workshop
Home
Workshop
Gift Shop
Download
Links
Contact
LEGO® is a trademark of
the LEGO Group of companies,
which does not sponsor,
authorize, or endorse this site.

All programs offered on this site are provided AS-IS, and you use them entirely at your own risk. By running the software, you agree to assume all responsibility for any dammages that may result from its use or misuse.

LEGO MindStorms Remote Control Serial Protocol

The LEGO MindStorms Remote

The LEGO MindStorms remote is a battery-operated, hand-held infrared remote control that can command an RCX to start and stop programs, run motors, and respond to three of the one-byte messages implemented by the standard RCX firmware. Even if the RCX is running a program, the motors can be controlled from the remote. Any motor commands will temporarily override the program's current motor settings. As soon as the RCX receives (or assumes) the "all buttons released" command from the remote the motors will resume their current programmed state, and if no program is running all motors will stop.

The remote has sixteen buttons which can be pressed simultaneously in any combination. Whenever one or more buttons is held down, the remote transmits data packets containing a bit field that indicates the state of all sixteen buttons. After the last button is released, the remote sends one final packet containing all "0" bits to indicate that no buttons are pressed.

The RCX does not acknowledge the remote's command packets, and if it does not receive valid packets continuously, it will assume "all buttons up" after a short interval. The RCX will not recognize the infrared remote protocol until after the factory firmware file (either firm0309.lgo or firm0328.lgo) has been downloaded. It should be noted that some replacement RCX firmwares implement their own interpretation of the buttons on the remote.

The remote's packets always adhere to the following format, where "~" indicates taking the 1's complement of a byte value:
0x55 0xFF 0x00 0xD2 0x2D msb ~msb lsb ~lsb chk ~chk

The data in the packet is a 16-bit value (msb/lsb) containing a "1" bit for each button that is pressed at any given time. The checksum byte, chk, is formed the same as for other RCX packets. A key value of 0x0000 indicates that all keys have been released. You form the msb/lsb by ORing together the bits for each button that is held down:
Button NameBit Mask
Message 10x8000
Message 20x4000
Message 30x2000
Motor A Forward0x1000
Motor B Forward0x0800
Motor C Forward0x0400
Motor A Reverse0x0200
Motor B Reverse0x0100
Motor C Reverse0x0080
Program 10x0040
Program 20x0020
Program 30x0010
Program 40x0008
Program 50x0004
Stop0x0002
Beep0x0001
All keys up0x0000

The remote uses the same 2400-Baud RS-232 communications settings as used by the RS-232 IR tower with the standard MindStorms RIS 1.0 software.

Back to the Download Virtual Remote page


Copyright (c) 2003 by Christopher Phillips. All Rights Reserved.
LEGO® is a trademark of the LEGO Group of companies, which does not sponsor, authorize, or endorse this site.
Apart from these trivial things, it is impossible to differentiate between a real and the breitling replica uk. Armed with this knowledge I made a check of various websites that were offering rolex replica watches and was amazed at the huge range of replica Bvlgari watch they had in stock. It seems that all builds of replica watches uk are available over there. This is not the end of the story. I was doubtful whether I could purchase a rolex replica for each and every member of my family because of their prices. There is no doubt that the jewelry used in the replica watches uk is replica and that the case is not made out of real precious metal.