Three Touch Sensor Expander
The Three Touch Sensor Expander is really a simple digital to analog converter. It takes advantage of the fact that the RCX always converts inputs to a RAW value in the range 0 = 0v and 1023 = 5v. The RCX provides power to the input through a 10k resistor pulling it up to 5v. The LEGO Touch Sensor is a switch that when closed (or pushed) pulls the input voltage down to near 0v. Actually the Touch Sensor has a 500ohm resistor in series with a switch. This is so you can't really short anything out by accident.
The circuit for the expander is shown below. As you can see, there is a different resistor added in the path to each of the three inputs. This makes it possible to determine which of the switches are pushed even if more than one is pushed at a time. The following table shows how the inputs effect the RAW value. You need to write a program that sets the RCX input to SensorType 0 (or RAW), reads the sensor, determines which range the reading is in, and then set the states of the three inputs accordingly.
Input RAW Value 3 2 1 Range 0 0 0 1023 - 1001 0 0 1 1000 - 955 0 1 0 954 - 912 0 1 1 911 - 869 1 0 0 868 - 830 1 0 1 829 - 798 1 1 0 797 - 768 1 1 1 767 - 0

Here is a photograph of my finished Three Touch Sensor Expander. I used a 2X8 LEGO Electric Plate S@H #5037 carefully cutting one side into four 2 pin wide strips. I dug an Xacto knife blade under the metal to cut three strips out of it as can be seen in the enlargement. Resistors all have one end soldered to the input and the other end to each of the input sections. Insulation is added to the resistor wires before soldering to keep them from shorting to each other. The resistors are 1/4W carbon film 5% resistors that you can get at Radio Shack. The bottom strip does not need to be modified. The labels are rub-on transfers.
