MindStorms Ultimate Builders Set 3800 instructions

A few weeks ago I wanted to build one of the awesome projects of the MindStorms Ultimate Builders Set again, but didn’t want to dig up an old Windows machine or VM to install the original software (the building instructions were all on the CD-ROM, no paper). So I went online to see if anyone had ever made them available like some of the other sets that were CD-ROM only (like Spybotics).  But I couldn’t find them anywhere.

That was a few weeks ago.  I now understand why no one ever did this… I’m still sweating 😉

MindStorms UBS Plotter

Plotter project

Download it here.

I am now building these projects one by one to see if I’ve made any mistakes. The CD-ROM had small movies included in the instruction steps, most of which are probably not that important, but for some of them I may need to find a way of inserting a shot from the movie into the instructions.

 

Version history:
0.2 – verified the plotter project with all its modules: corrected one image in motor module 2 and added two images to the pen module.
0.1 – initial version.

Making the legousbtower usb device permissions permanent

After using my MindStorms USB Tower on Ubuntu Linux for a while, I started noticing that the permissions on the /dev/usb/legousbtower1 device reverted to “root only” every time I rebooted or un- and re-plugged the device into the USB port. The permissions were like this every time:

crw------- 1 root root 180, 1 Oct 22 09:56 legousbtower1

Since I log on as user michiel, not root, I could not access the device, so NQC would complain about “Could not open serial port or USB device”. I found the solution on Adrian Smith’s Blog:

“For a more permanent solution create the file /etc/udev/rules.d/90-legotower.rules with the following contents,

ATTRS{idVendor}=="0694",ATTRS{idProduct}=="0001",MODE="0666",GROUP="<group>"

You can use any group you’re a member of in place of <group>. You can find a list of the groups you’re a member of using ‘id -a‘. I used the group “adrian”. On a lot of systems there’ll be a group with the same name as your userid. This is fine so long as you’re the only one who’ll need access to the device. Otherwise you’ll need to find a common group or perhaps create a new one. By the way, the vendor and product ids in the udev rules file came from running lsusb.”

I used the group name “michiel” and it worked fine (I think it will work regardless  because it sets the mode to 666 which means read/write access for everyone anyway.

After creating that file, I unplugged the USB tower, plugged it back in, and presto there it was:

crw-rw-rw- 1 root michiel 180, 1 Oct 22 12:59 legousbtower1

Problem solved!

The RCX’s 3 built-in standard programs

When your RCX is new (right!) or has been without power for longer than a few minutes, it will have lost its firmware, which you must upload again. In this state the RCX is not completely useless. It still has three basic built-in programs that you can use.

Program 1

When the program is started, Output ports A and C are turned on forward.
So if you attached two motors to these ports and linked them to wheels, you have a rover that drives forward.

Program 2

Sensor ports 1 and 3 are configured for use with touch sensors.
When the program is started, Output ports A and C are turned on forward.
When touch sensor 1 is activated, motor A stops. When touch sensor 3 is activated, motor C stops.
With this you could for example build a rover that turns when hitting an object.

Program 3

Sensor port 2 is configured for a light sensor. Keep two motors attached to output ports A and C.
After activating the program, the motors will turn only when the light sensor is close to a bright surface, for example a white paper. When above a dark surface (for example a black line), the motors will stop.
With this you could build a Rover that drives on a white surface until it reaches a black finish line or boundary.

Controlling a MicroScout from an RCX using VLL

The MicroScout brick has one motor, a light sensor, display and can make R2D2-like beepy noises. It has 7 built-in programs, and a mysterious “P” mode in which it can be respond to external commands and can even be programmed via the light sensor. LEGO calls this Visible Light Link (VLL), and it has been used in other bricks as well, like the Code Pilot.

So I decided to hook up a standard LEGO 9v Light 2×1 brick to one of the OUT ports on my RCX, and see if I could get it to work. Here is the setup (and my first attempt at Leocad):rcxvll building instructionsThe lamp doesn’t really show up well in the above picture, but it’s simply one of these.

Continue reading

Controlling a Spybotics pbrick using an RCX

The LEGO MindStorms RCX is capable of sending remote control IR signals to a LEGO Spybotics brick. This opens up a ton of new possibilities, essentially giving the RCX access to two more motors (theoretically even six as you can control up to three Spybotics over different channels).

The RCX has been set up real simply with three touch sensors, one for left, one forward and one right. The programming is made pretty easy using NQC:

task main()
{
  /* Set all three Sensor types to Touch sensors */
  SetSensorType(SENSOR_1, SENSOR_TYPE_TOUCH);
  SetSensorType(SENSOR_2, SENSOR_TYPE_TOUCH);
  SetSensorType(SENSOR_3, SENSOR_TYPE_TOUCH);

  /* Set infrared power to High, so we can cover longer distance. */
  SetTxPower(TX_POWER_HI);

  while(true) // Loop forever
  {
    if (SensorValue(0)==1) //button 1 pressed
    {
      SendRCMessage(RC_CHANNEL_1, RC_CMD_REV, RC_CMD_FWD);
    }
    if (SensorValue(1)==1) //button2 pressed
    {
      SendRCMessage(RC_CHANNEL_1, RC_CMD_FWD, RC_CMD_FWD);
    }
    if (SensorValue(2)==1) //button3 pressed
    {
      SendRCMessage(RC_CHANNEL_1, RC_CMD_FWD, RC_CMD_REV);
    }
    Wait(5);
  }
}

This of course assumes your Spybotics brick has been configured to RC channel 1. Download the program: rcx2spy_remote.nqc

Using an adapter to power the RCX 1.0

The original RCX that came in Robotics Invention System 1.0 and later LEGO Education sets has an adapter socket into which you can plug an adapter to power it, instead of using batteries.

Here it is:
RCX 1.0 power port

If you look closely, you’ll see above the port it says:  9-12 V ~

So that means you can use any adapter that produces between 9 and 12 volts and has a plug that fits? Unfortunately, No. Continue reading