The robot consists of modules controlled by a main controller. The main microcontroller is an 18-pin, 8-bit, PIC16F84 Flash microcontroller operating at 4MHz. The microcontroller is programmed in assembly language. The controller is connected via I/O pins to the communication module, drive module, scoreboard and the stepper motor driver circuit. The controller is responsible for processing the input received from the receiver module and executing the necessary responses.

The transmitter is controlled by an 8-pin, 8-bit PIC12C509A microcontroller programmed in assembly language. The main controller outputs control signals to the transmitter via two output pins. One pin controls the laser and the other enables the infrared transmitters. The output from the laser is a stream of bits decoded by the opposing robot as a hit. The output to the infrared transmitters allows the transmitter to be turned on and off by the controller.

The receiver is a PNA4613M photo IC. The controller receives input signals from the receiver module via an input pin. The data sent by the receiver module is a stream of bits corresponding to the infrared signal received. The controller processes the signal and responds to valid data received.

The scoreboard is controlled by an 8-pin, 8-bit PIC12C509A microcontroller. The microcontroller is programmed in assembly language. The scoreboard connects to the main controller via an input pin. The input pin is polled continuously. The main controller toggles the input to the scoreboard high to increment the hit count on the score display.

The L293D is a dual h-bridge driver IC. The IC is also referred to as a push-pull four channel driver. An h-bridge is ideal for driving motors. The L293D provides two h-bridges for driving both motors on the robot base. The motor direction is controlled by logic signals from the microcontroller. Two signals per motor are required to control the direction

The Low Battery Indicator circuit was designed with the availability of parts, and low cost in mind. The circuit is based to the LM741 operational amplifier. The op amp is configured as a comparator. A zener diode provides a voltage reference to the non-inverting input of the comparator. A voltage divider between the battery voltage and ground is connected to the inverting input. When the voltage of the divider drops below the reference voltage then the output of the comparator goes low and lights a red LED (tied high).

Charging of sealed lead acid (SLA) batteries has a significant effect on the performance and service life of the battery. The charger developed for the robotsí SLA batteries was designed to meet the specifications of the battery as given above. The charger design is based on Unitrodeís UC3906 battery charge controller IC. The charger is a dual-level float charger. An important feature of the UC3906 is that it is temperature compensated to track the battery temperature coefficient.