
Each team is in charge of designing and building a BARNACOAL (Bustling Aquacraft Remotely Navigated to Arm COAL) and a SPECTACOAL (SPectral Emitter of Commands To Arm COAL), acting as a watercraft and controller, respectively. Each team's BARNACOAL and SPECTACOAL are designed to be able to pair with every other team's BARNACOALs and SPECTACOALs. Each BARNACOAL is required to navigate an obstacle course in 5-inch waters to transport COAL (dense rubber balls) into the RECEPTACOAL (RECEiver Passively Taking Any COAL. The SPECTACOALs are each I/O devices that control the features of the BARNACOAL, with an SPDL-supplied XBee radio module for wireless communication.

The SPECTACOAL and BARNACOAL both implement a class-wide standardized Communication Protocol to ensure consistent communication and reliability across different pairing configurations. While the BARNACOAL and SPECTACOAL are waiting to pair, the commands provided by the SPECTACOAL are ignored by the BARNACOAL, which remains stationary, only drifting as a result of the rippling of the fountain.

A potentiometer on the SPECTACOAL is tuned to the setting of the particular BARNACOAL. Depending on the value of the potentiometer, the address of the corresponding BARNACOAL is stored by the SPECTACOAL. Only when the specific pairing button on the SPECTACOAL is pressed is when it sends a message to the BARNACOAL with 0x02 in the position of the status byte. When the BARNACOAL receives the appropriate pairing message, it sends back 0xFF to the SPECTACOAL, and rotates a servo on the BARNACOAL to indicate that the two devices are paired.

Once paired, all bets are off. The SPECTACOAL uses two single-axis joysticks and differential thrust to control the forward and side-to-side movement of the BARNACOAL, for 30 seconds. The BARNACOAL's battery life continues to deplete for 30 seconds, after which the BARNACOAL stops responding to SPECTACOAL commands, and a LED on the SPECTACOAL blinks to indicate a need to recharge. In order to recharge, the SPECTACOAL uses an IR sensor to scan a giant barcode, 5 seconds of which will fully recharge the BARNACOAL.
After the BARNACOAL makes its way to the RECEPTACOAL, a button on the SPECTACOAL is pressed to activate a servo attached to an anchor that is used to latch onto the RECEPTACOAL. Once the BARNACOAL is secured in place, a different button is pressed on the SPECTACOAL to activate a different servo motor, which will open a mechanism that will dispense COAL into the RECEPTACOAL. Once the anchor or the dump mechanism is deployed, the subsequent press of the respective button will return the servo to its original position.
So long as the BARNACOAL and SPECTACOAL are paired, regardless of whether the BARNACOAL is driving, recharging, or stationary due to a lack of charge, the two devices constantly send messages back and forth to one another. However, in the event that one of the two devices is turned off or the distance between the two devices interrupts the communication, a 4 second timeout timer on each device ensures that neither will be stuck, able to be paired with the same or a different device.








































