Scout Internals


The Scout is an important step in making the experience of LEGO MINDSTORMS accessible to a younger audience, but it also plays a significant role in taking the technology of MINDSTORMS into the future.

The Scout's LCD programming interface represents only a small part of what the Scout can do. Hidden beneath this interface is an operating system that has many of the programming features provided by the RCX's standard firmware, plus several new capabilities that the present RCX firmware does not offer, at least not yet...

The new features developed for the Scout include:

  • access control regions for advanced multitasking
  • subroutine calls for both ROM-based and user defined subroutines
  • local and global variables
  • system defined events
  • sound sets
  • upload RAM command
  • Visible Light Link communication protocol (VLL)
(For more detail on the Scouts technical specifications, see "More Technical Stuff" below.)

This new operating system reflects some of our latest innovations in robotic programming, including features we would like to extend to the RCX in the future.

To let more people get their hands on the power of the Scout, the LEGO Group has officially released a Software Developers Kit for the Scout. The SDK includes:
  • documentation on the Scout's overall system and programming capabilities
  • a small Windows application for programming the Scout in LEGO assembler
  • a library of sample assembler programs that demonstrate key functions of the Scout
  • an alpha version of LEGO's new communications driver called "Ghost" (which will replace "Spirit.OCX" for products released in the future)

Scout Proofing Tool released with SDK
(Click pic to enlarge)

Our goal in releasing the Scout SDK is to continue to stimulate experimentation and invention within the MINDSTORMS community. Or in other words, let you play with the same toys we get to play with.

We also are looking for feedback on the commands and capabilities of the Scout's firmware. We will use this feedback to finalize the design for the next update of the RCX's firmware.

The SDK is available for download here.

This release is free for non-commercial use. The Scout Programming Tool requires the LEGO MINDSTORMS Infrared Transmitter and Serial Cable, along with a Win 95 or Win 98 PC with a working 9-pin serial port.

(The IR Transmitter and cable are available in the Robotics Invention System. For those who don't own the Robotics Invention System, the IR Transmitter can be purchased separately from Pitsco LEGO Dacta at 1-800-362-4308. The product is listed as the Infrared Transmitter and Cable Pack, Product Number W979713.)

Technical Support is not currently a service we that we are providing for the Scout SDK. lets you send suggestions and feedback directly to the LEGO MINDSTORMS development team to help us improve the products we create.

While we do read everything you send, we do not normally answer questions from the address.

Also, PLEASE NOTE that any idea, concept, know-how or technique submitted here, or any communication or material that you transmit, may be used freely by the LEGO Group and its affiliates for any purpose whatsoever, including but not limited to developing, manufacturing and marketing our products, without license, credit or payment to the submitter. All ideas, data, questions, comments, suggestions or the like sent to this e-mail address is, and will be treated as, non-confidential and non-proprietary. Confidential information that you or others own and want to protect as proprietary should NOT be submitted to the LEGO Group.

By sending an e-mail to you are agreeing to these terms and assuming full responsibility to indemnify and hold harmless the LEGO Group for any breach of confidentiality and/or violation of any intellectual property rights. You further grant the LEGO Group permission to use, modify, copy, distribute, transmit, publicly display, broadcast, post, reproduce, publish, sublicense, create derivative works from, transfer, or sell any such idea, concept, know-how, technique, communication or material, and to sublicense to third parties the unrestricted right to exercise any of the foregoing rights granted.

More Technical Stuff

The Scout firmware language consists of over 70 different assembler commands, with the majority adapted from RCX assembler commands.

The Scout runs on a Toshiba microprocessor with 32k of ROM and 1k of RAM. About 400 bytes of RAM are available to hold one user program, accessible through Power Mode. To optimize the use of the limited RAM, a library of system sounds and over 30 command subroutines are built-into ROM, along with the capacity to handle three user-defined subroutines in RAM.

Programs can be downloaded into the RAM via the IR port. The IR communication protocol is nearly identical to the RCX, with only minor command differences.

Once downloaded, a user program can run up to 6 tasks in parallel. The Scout can manage multitasking similar to how the RCX does it, however the Scout has the additional feature of access control commands. Access control commands let the user set rules of priority when different tasks attempt to control common resources, such as the motor outputs.

For example, if a touch event triggers a sequence involving the motors while a sequence running in the main task is also using the motors, control will go the task with the greatest priority. If the main task is overridden by a task with higher priority, it will regain control when the other task has completed, with the program resuming at a point specified by the user. Tasks can have multiple access control regions of different priorities.

In English, this means you can get the Scout to watch out for a lot of stuff, but still focus on doing one thing at the time based on what you think is most important.

The Scout's input/output configuration differs from the RCX. The Scout follows a 2+1 by 2+1 format rather than 3 by 3. There are two connectors for external sensors, plus one built-in light sensor. The Scout does not support active sensors like the RCX (meaning sensors that require power from the p-brick.) It does support passive sensors and can read resistance values like the RCX.

For output it has two ports which work the same as the RCX's output ports. The red light in the front of the Scout is designed to work as a third output control. It can send commands through a protocol called Visible Light Link (VLL.) This lets the Scout talk to other LEGO control products, which include the Micro Scout and the Code Pilot. (The Micro Scout is currently sold as part of the Droid Developer Kit, #9747.)

By connecting the Scout's emitter to the Micro Scout's light sensor with a fiber optic cable (see note below), the Scout can send direct commands to use the Micro Scout as a third motor. It can also download a small program into the Micro Scout and run it. To receive commands and programs, the Micro Scout's display should be set to the "P" program. (The VLL protocol also works with the Code Pilot from LEGO Technic, available as part of the Bar Code Multi Set, #8479.)

For more detail on the Scout's capabilities, please refer to the Scout SDK.

Scout controlling the Micro Scout through VLL Protocol

(Note -- Anything that lets enough light pass through will work, such as the fiber optic system (FOS) elements used in the Extreme Creatures Expansion Set. We are investigating a standard piece for next year's assortment that provides a tighter fit and longer length. Placing the Scout's emitter near the Micro Scout's light sensor with low background light will also allow communication.)

Now aren't you glad you kept reading?

Scout Resource Overview
(Click pic to enlarge)