This is the modules component of the RoboBricks project. It is currently work in progress.

RoboBricks Modules

Table of Contents

Robobricks Catagories

Robobricks are partioned into four catagories:

Master Robobricks
A master module contains some sort of processor and a bunch of connectors for connecting to and controlling 1 or more slave Robobricks (see definition below.) Many master modules have some sort of power regulator for producing 5 volts from the battery voltage.
Slave Robobricks
A slave module performs some sort of input or output function. There are usually many slave Modules per robot.
Debug Robobricks
A debug module provides some sort of debugging function. These modules are only during robot development After a robot has been debugged, the debug modules can be removed.
Obsolete Robobricks
An obsolete module is one that no longer makes any sense to build. Typically they have been replaced by something better. These are listed in a separate section below.
A robot consists of one master Module and one or more slave Modules. Debug Modules are added and removed as needed for debugging.

Master Robobricks

The following master Robobricks are under active development:

MicroBrain8
The MicroBrain8 module provides a master module controlled by any processor that is pin with the Basic Stamp II® from Parallax®. This module has a battery conntection, power switch, and 5 volt linear voltage regulator. It has hub connections for controlling up to 8 modules.
PICBrain11
The PICBrain11 module provides a master module controlled by a PIC16F876 from Microchip®. This module has a battery connection, power switch, and 5 volt linear voltage regulator with fuse. It has hub connections for controlling up to 11 modules. It can be directly connected to an RS-232 port on a host computer.

Eventually, there should be master Modules for each of the more popular microcontrollers out there (e. g. Basic Stamp II, HC11, AVR, 8051, Rabbit, etc.)

Slave Robobricks

The following slave Robobricks are being actively developed (in alphabetical order):

AnalogIn8
The AnalogIn8 module allows for the input of up to 8 analog voltages between 0 and 5 volts with a resolution of up to 10 bits. There are 6 trim pots on board that can be jumpered to the first 6 analog inputs.
Compass8
The Compass8 module uses the 1490 digital compass module from Dinsmore Instrument Company. This module provides a 8 directions N, NE, E, SE, S, SW, W, and NW. This module can prevent a robot from getting totally turned around.
CompassDT1
The CompassDT1 module uses the CMPS01 compass module from Devantech to provide a compass bearing between 0.00 and 359.00 degrees.
Digital8
The Digital8 module has 8 I/O lines that can be used for input or output. A line can be changed from input to output and back under program control. This module replaces InOut10, Out10, In8, and InOut4 Modules.
DualMotor1Amp
The Robobricks DualMotor1Amp module an control up to two small DC motors. The motor voltage input can range from 5 volts to 24 volts. It is capable of accelleration ramping and electronic breaking. Lastly, it has an optional watchdog feature that will turn the motors off if a command has not been received in a while.
DualMotor2Amp
The Robobricks DualMotor1Amp module an control up to two small DC motors with a current of up to 2 amps. The motor voltage can be as high as 48 volts. The two internal H-Bridges can be tied together to provide a current capacity of 3.5 amps to a single motor.
IO8
The IO8 module has 8 I/O lines that can be independently used for digital input, analog input, and digital output. The analog inputs have 10 bits of resolution.
IRBeacon8
The IRBeacon8 module is used to provide an IR beacon that Modules can home in on. It is designed for both stand alone operation and to work in a Module setting.
IRDistance4
The IRDistance4 module is used measure distances using up to 4 Sharp GP2D12 (InfraRed Optical Distance) modules. The modules are typically attached to IRDistanceHolder modules.
IRDistance8
The IRDistance8 module is used measure distances using up to 8 Sharp GP2D12 (InfraRed Optical Distance) modules. The modules are typically attached to IRDistanceHolder modules.
IRDistanceHolder
The IRDistanceHolder module is used carry 1 4 Sharp GP2D12 (InfraRed Optical Distance) module.
IREdge4
The IREdge4 module provides a way to use inexpensive IR emitter/detector pairs to sense changes in surface reflectivity.
IRProximity2
The IRProximity2 module is used detect objects via reflection of an InfraRed (IR) light. There are two light sources and one light receiver along one edge of the board.
IRRemote1
The IRRemote1 module is used to send and receive IR signals. Currently, only signals from Sony style IR Remotes are supported.
Keypad12
The Keypad12 Module has 12 push buttons for user control inputs and 12 LED's for direct output.
LCD32
The LCD32 module displays 2 lines of 16 characters each using an LCD display.
LCD32Holder
The LCD32 module holdes a 2×16 LCD module that is plugged into the LCD32 module.
Laser1
The Laser1 Module is able to detect when an inexpensive laser pointer is reflecting off of a passive reflector beacon. In conjunction with 3 reflector beacons placed in known locations, it is possible for a robot to triangulate its position accurately.
LaserHead1
The LaserHead1 Module is a board that be used to mount a laser pointer and some photo detectors on. It is meant to work in conjunction with the Laser1 Module.
LCD32
The LCD32 Module provides a way to output up to 32 characters (2 lines of 16 characters each) to a Liquid Crystal Display.
LED10
The LED10 Module provides the ability to output 10 bits to 10 on board LED's.
Line3
The Line3 Module provides the ability to sense lines on flat surfaces for building line/maze followers.
PIC876Hub10
The PIC876Hub10 module provides a master Module controlled by PIC16F876 from Microchip®. This module has a battery connection, power switch, and 5 volt linear voltage regulator with fuse. It has hub connections for controlling up to 10 Modules. Lastly, it has the ability to sense the battery voltage. This module has morphed into the PICBrain11.
ProtoPIC
The ProtoPIC Module is just a prototyping board for the 8-pin PIC's (e.g. PIC12C509 and PIC12C672) and the 14-pin PIC's (e.g. PIC16C505.)
RCInput8
The RCInput8 module reads up to 8 RC servo pulse widths from a standard RC server receiver.
Reckon2
The Reckon2 module is used to manuver a robot. It can contol two motors in "differential steering" mode. Each motor needs to have a shaft encoder with a quadrature output. If there is enough resolution on the shaft encoder and the wheels are not too "squishy", it is possible to keep pretty accurate track of a robot's location and bearing using deduced reckoning.
Rotation2
The Rotation2 module can keep track of up to two quadrature shaft encoders.
SpeechQV1
The SpeechQV1 Module is used to perform speech synthesis to allow a robot to talk.
Sense3
The Sense3 module contains a infrared distance, sonar and laser bearing sensor that is meant to be scanned using a hobby servo.
Servo4
The Servo4 Module is used to connect to up to 4 standard servo motors.
SonarDT1
The Sonar1 Module is used to provide a Module interface to the SRF04 sonar range finder from Devantech.
Sonar8
The Sonar8 module can drive up to 8 SonarSR modules.
SonarSR
The SonarSR module provide an ultra-sonic send/receive functionality.
SRFHolder
The SRFHolder holds a Robot Electronics SRF04 sonar ranging module.
Stepper1
The Stepper1 Module can control one small unipolar or bipolar stepper motor.
Switch8
The Switch8 Module will read in 8 bits of data from on-board switches.

Below is a list of slave Robobricks that are under consideration for future development:

Analog Output Module
An anilog output module can output a single 5-bit output voltage.
Tilt Module
This module detects what its current inclination is.
IR Remote Module
This module detects signals from an IR Remote control.
Microphone Module
This module detects the current sound level. inclination is. It does not provide way to record sound.
FM Synthesis Module
This module produces sounds using FM synthesis.
Temperature Module
This module measures the current temperature.
Light Module
This module measures the current amount of ambient light.

Miscellaneous Robobricks

The following Miscellaneous Modules are being worked on:

IRDistance Holder
A board for holding a Sharp GP2D12 infrared distance sensor.
LaserHolder1
A board mecahnically supporting a small laser pointer for the Sense3 module.
Scan Base
A board for electrically connecting to a Scan Panel.
Scan Panel
A board for mounting on top of a servo horn. This typically used to mount other sensors, such as sonar or IR distance sensors, to be swept back and forth. From revision B on, this board is used to electrically connect to a Sense3 module.
Servor Adaptor 0.4
This board is used for adapting servos with .4 inch mounting hole on systems that "Lego" stud spacing.
Shaft Sense 2
This module is meant to pick up a quadrature single from shaft mounted optical encoder wheel.
SRF Holder
This board is used to hold a SRF04 module for sonar distance sensing.
Strut 1x2
This is just a small piece of PCB with two holes for Lego studs.
Strut 1x4
This is just a small piece of PCB with four holes for Lego studs.
Strut 1x8
This is just a small piece of PCB with eight holes for Lego studs.
Twin Gear Sensor Left
This module is designed to fit into the left side of a Tamiya Twin Gear motor box and extract a quadrature signal off of one of the gears.
Twin Gear Sensor Right
This module is designed to fit into the right side of a Tamiya Twin Gear motor box and extract a quadrature signal off of one of the gears.

Debug Robobricks

The following Debugging Modules are under active development:

Activity9
The Activity4 Module is used to detect communication activity between two Modules.
Debug16
The Debug16 Module is used to view up to 16 8-bit data values inside of many Module modules.
Emulate
The Emulate board uses an 28-pin PIC16F876 with flash memory to emulate a PIC12C519, a PIC12C672, or a PIC16C505. The PIC16F876 has flash memory so it is easier to erase than the other parts which require a UV light.
Harness
The Harness Module is used as a testing harness for testing other Modules. The Harness Module has an RS-232 connection and a connection to a single slave Module.
Tether
The Tether Module provides a wire connection between a master Module and a computer via a standard telephone extension cord. The connection to the computer is via a standard 9-pin RS-232 connector.

Obsolete Modules

The obsolete Modules are listed below:
Activity4 (Use Activity9 instead!)
The Activity4 Module is used to detect communication activity between two Modules.
AnalogIn4
The AnalogIn4 Module allows for the input of up to 4 analog voltages between 0 and 5 volts with a resolution of 8 bits.
AIROD2 (Use AIROD4 instead!)
The AIROD2 Module is used to measure distances using up to 2 the Sharp® GPD2D12 analog infrared distance measurement units.
AIROD4
The AIROD4 Module uses the Sharp® GP2D12 analog infrared distance measurement device to measure distances between 3 and 30 centimeters. Currently, the GP2D12 seems to cost about half what the GP2D05 used in the BIROD2 Module.
AIROD5
The AIROD4 Module uses the Sharp® GP2D12 analog infrared distance measurement device to measure distances between 3 and 30 centimeters. Up to five GP2D12's can be supported.
BIROD2 (Use BIROD5 instead!)
The BIROD2 Module is used to connect to up to 2 of the Sharp® GP2D05 IROD (InfraRed Optical Distance) measuring sensors. This version of the Sharp chip provides a single bit of information for when the sensor is within a fixed distance an object.
BIROD5
The BIROD2 Module is used to connect to up to 5 of the Sharp® GP2D05 IROD (InfraRed Optical Distance) measuring sensors. This version of the Sharp chip provides a single bit of information for when the sensor is within a fixed distance an object.
Bench (Use a master Module instead)
The Bench Module provides a way to provide power to a bunch of Modules via a standard 5 volt bench supply. It has two banana plugs to provide the connection.
BS2Hub8
The BS2Hub8 module provides a master Module controlled by the Basic Stamp II® from Parallax®. This module has a battery conntection, power switch, and 5 volt linear voltage regulator. It has hub connections for controlling up to 8 Modules. This module has morphed into the MicroBrain8 module.
Compass360
The Compass360 Module uses the 1655 analog compass module from Dinsmore Instrument Company. It can provide a resolution that is good to about 1 in 256 (1.4 degree.) The magnetic environment that a robot operates in can generate deviations of 10's of degrees however.
Hub8 (Use a master Module instead)
The Hub8 Module can connect up to 8 slave Modules.
In8 (Use InOut10 instead!)
The In8 Module will read in 8 bits of data.
InOut4 (Use InOut10 instead!)
The InOut4 Module allows for the bi-directional input or output of up to 4 signals. The direction of input or output can be changed dyamically. This Module can be used to talk to a serial bus such as I2C.
InOut10
The InOut10 Module has 10 I/O lines that can be used for input or output. A line can be changed from input to output and back under program control. This module replaces Out10, In8, and InOut4 Modules.
IRSense2
The IRSense2 Module is used seek out IR Beacons and do simple proximity detection.
IRSense3
The IRSense3 module is used to do simple IR proximity detection in three directions.
LED4 (Use LED10 instead)
The LED4 Module provides the ability to output 4 bits to 4 on board LED's.
Light4
The Light4 Module provides a way to use inexpensive IR emitter/detector pairs to sense changes in surface reflectivity. The input level is renal flexibility in control.ad as an analog value to provide additional flexibility in control.
Motor2
The Motor2 Module can control up to two small DC motors. The motor voltage input can range from 5 volts to 24 volts. The Motor2 Module is capable of electronic breaking.
Motor3
The Motor3 Module allows for control of up to three small DC motors via pulse width modulation. The motor voltage input can range from 1 volt to 24 volts. There is no electronic breaking for the Motor3 Module.
MotorScan
The MotorScan Module is used to provide horizontal rotational scan platform based on the Tamiya Universal Gear Box. A combination of laser head, sonar, and IR sensors can be placed on the vertical shaft and rotated around.
Out10 (Use InOut10 instead!)
The Out10 Module provides the ability to output 10 digital bits to a terminal strip.
OOPicHub10
The OOPicHub15 is an adaptor board for the OOPic by Savage Innovations. The newer OOPIC module that is pin compatible with the Parallax Basic Stamp II is now the preferred way to go
PIC16F876 (Use PIC876Hub10 instead!)
The PIC16F876 master Module is based around the PIC16F876 microcontroller from MicroChip®. This microcontroller has the ability to write into its own program memory without requiring any additional voltages or hardware.
ProtoPIC8Pin (Use ProtoPIC instead!)
The ProtoPIC8Pin Module is a prototype board for building Modules using an 8-pin PIC. ProtoPIC works with 8 and 14-pin PIC's.
Shaft2
The Shaft2 Module can keep track of the quadrature encoding of 2 shaft encoders.
Sonar1
The Sonar1 Module provides an active sonar range finder that can measure distances 5 centimeters to 3 meters. It uses some inexpensive ultrasound transducers (~$6US).
Threshold4 (Use Light4 instead!)
The Threshold4 Module consists of 4 analog voltage comparators. Each comparator compares an input voltage against a fixed voltage that is set a small potentiometer. There is one potentiometer per comparator. The resulting 4 binary bits of data are avaiable for querying.

Copyright (c) 1999-2002 by Wayne C. Gramlich. All rights reserved.