This is not an official LEGO® document or web site. LEGO® and Spybotics® is a trademark of the LEGO Group, which does not sponsor, authorize, or endorse this document. Copyright © 2003-2009 Steven B. Combs & Bricks in my Pocket (BimP) except where noted. All rights reserved. All photos taken and manipulated by Steven B. Combs unless noted. Images hosted by Brickshelf L.L.C. and LUGNET.)
The purpose of this page is to document and present the internals of the Spybotic Programmable Controller and the Spybotic Programmable Remote Controller. With the assistance of the LUGNET community the internals of the Spybotic Programmable Controller will be dissected, analyzed, and documented. This page will also serve as a links clearing house for Spybotic related control software and hardware additions/modifications. It is not the intent of this document to reveal any trade secrets but rather provide the LEGO Robotic enthusiast with additional information that will allow them to stretch the limits of this device and add to the enjoyment and service life of the product.
This page is inspired by Kekoa Proudfoot’s RCX Internals page, however, the amount of detail presented is based on the contributions of the LUGNET community since I do not have the technical expertise to completely document technical specifications of the firmware and hardware.
All LUGNET readers are encouraged to assist with the development of this resource and provide feedback. If you have technical skills and/or information to provide, please contact me at firstname.lastname@example.org. At present I am looking for the assistance of an embedded systems professional or EE to provide firmware and electronic information.
Note: This is a working document with much work to be done before it is complete.
|The thread of discussion about this project can be found at right.|| || |
The Spybotics Programmable Controller (SPC) is programmable, microcontroller-based device that can simultaneously operate two motors, one touch sensors, one light sensor, an infrared serial communications interface, and a light output device.
The Spybotics line consists of four differing Spybots shown below (images ©2002 LEGO ):
Gigamesh G60 w/212 elements
Snaptrax S45 w/201 elements
Shadowstrike S70 w/193 elements
Technojaw w/ 244 elements
All four sets contain the same SPC and SPRC. Included are additional LEGO elements to make each Spybot unique in appearance and function.
Primarily geared toward the 10-16 year-old market, the Spybot concept is quite unique. Part computer game and part remote controlled vehicle, the Spybotics system is a an original product. The user or “Agent” first builds his/her Spybot from scratch, using the instructions displayed on the computer screen, and is then presented with missions that can be completed for points. These missions generally involve setting up a physical obstacle course (using spot lights, books and/or other heavy objects) in a large area, downloading a program to the Spybot, and attempting the objective. To control the Spybot during the mission, the Agent uses the Programmable Remote Controller (SPRC). Once the objective is completed (or not) the results are then uploaded back to the computer where the score can be compared to prior missions or uploaded via the Internet to compare against other Agent’s scores.
SPC External Features:
The SPC’s overall bounding dimensions are found in the table below.
|Description|| ||English (in)|| ||Metric (mm)|| ||LEGO (studs)|
|Width|| ||2.50|| ||63.50|| ||8|
|Length|| ||4.75|| ||120.65|| ||15|
|Height|| ||2.00|| ||50.80|| ||6|
|The SPC housing is manufactured and molded from a special blend ABS polymer (see news articles at right for more details).|| || |
| || |
SPC Internal Description:
|Once the cover is removed and the bottom half is turned over, the internal components of the SPC are revealed (see image at right).|| |
Click to view super size image
The SPC consists of the following hardware and firmware features (information taken from the LEGO Mindstorms 2.5 SDK available at http://mindstorms.lego.com/sdk2point5/default.asp)
|Storage|| ||Functional Blocks|| ||Events|| ||Inputs|| ||Outputs|
|ROM. 7 tasks, 96 engine subroutines, 64 sound effects, and 8 LED animations|| ||Sound control|| ||bump|| ||1 light sensor|| ||1 piezo speaker|
|CPU RAM. 32 global variables (including 3 counters), 4 local variables per task, 80 stack entries shared between tasks and subs|| ||Motor control|| ||vll|| ||2 IR receivers|| ||2 motors|
|4k EEPROM. 256 byte scratchpad, 8 tasks, 32 subroutines, 16 sound effects, 8 LED animations|| ||LED control|| ||opto|| ||1 touch sensor|| ||1 laser LED (VLL)|
| ||VLL output|| ||counter|| || ||7 display LEDs|
| ||ping control registers|| ||timer|| || ||4 IR transmitters|
| ||communications registers (link, RC, and UART registers)|| ||world change|| || |
| ||world relations tables (other robots and controllers)|| ||IR/PC msg|| || |
| ||3 counters|| || || |
| ||4 timers and timer controls|| || || |
SPRC External Features:
Programmable Remote Controller information coming soon.
The SPRC’s overall bounding dimensions are found in the table below.
|Description|| ||English (in)|| ||Metric (mm)|| ||LEGO (studs)|
|Width|| ||n/a|| ||n/a|| ||n/a|
|Length|| ||n/a|| ||n/a|| ||n/a|
|Height|| ||n/a|| ||n/a|| ||n/a|
|The SPRC housing is manufactured and molded from the same blend of ABS as the SPC.|
|Disassembly of the PRC is also simple and requires only a small Philips screwdriver. Use the steps to the right to open the SPRC.|| ||1. Turn the SPRC over.|
2. Remove the screws found at the location shown in the figure below (coming soon).
3. Carefully separate the top and the bottom (SPRC is not sealed with any adhesive).
4. Coming Soon
SPRC Internal Description:
Send e-mail to email@example.com to contribute to this section.
|Lego Spybotics Homepage|| ||The official LEGO Spybotics homepage. Very little technical information is present.|
|LUGNET Spybotics Newsgroup|| ||You probably found this page while browsing this newsgroup. Use this link to discuss all things Spybotics.|
|Spybot (Hack)|| ||A Japanese site similar to this one. The link automatically uses BabelFish to translate the contents into very broken English.|
|Not Quite C (NQC) Homepage|| ||Variant of the C programming language modified for the RCX brick. Newer versions of NQC also provide support for Spybotics.|
|NQC 2.5 Spybotics Support|| ||Up to date information on NQC and Spybotics.|
|Joybrix|| ||JoyBricx is an application that allows the remote controll of Spybots and the Bionicle RC Fighter using a joysticks, game pad, keyboard, or mouse. It also allows the user to save the events for later playback.|
|Bricx Command Center (NQC IDE)|| ||The best integrated development interface (IDE) available for NQC. Automates and structures coding. Allows real time manipulation of RCX. Supports Spybotics.|
|Apress’ LEGO Spybotics Secret Agent Training Manual Page|