The XBee OEM RF Module is used for wireless communication between the Quackraft and the Mallard Module, using the ZigBee protocol. The PIC32 receives commands from the XBee through UART, and then controls the actuation of propellors and servos on the boat. The XBee communicates with the Mallard Module using the communication standards defined by the Communications Committee.
APISQUEEN Thrust Brushless Underwater Propellers with Bi-directional control ESCs were used for driving the Quackraft. Each motor was controlled using ESCs with a PWM signal input at 50Hz, with the left propeller controlled by OC1 and the right propeller controlled by OC2. Each propeller is controlled independently by its own ESC and PWM signal, allowing for differential drive. These motors were wired to the motor screw terminals of the power distribution board, powered by the 2 7V batteries. Although the max current draw of the motors was greater than the current rating of the board, the power magnitude was limited within software to prevent overcurrent.
The pairing servo and gate servo were both "Daryl" hobby servos from Servocity, which each had a 180° range of motion.
One servo was used to actuate the gate for keeping fauna within the boat, while the other was used for the pairing status flag. OC4 was used for the door servo and OC3 was used for the pairing servo.
Each servo was supplied 5V power from the power distribution board.
The motors and servos on the Quackraft are powered by two 7.2V NiMH batteries wired in series for a total of 14.4V power supply. These are connected to the power distribution board supplied by the SPDL. A 20A fuse is wired in series with the batteries to prevent overcurrent draw from the propellers.
The XBee OEM RF Module is used for wireless communication between the Quackraft and the Mallard Module, using the ZigBee protocol. The PIC32 sends commands from the XBee through UART, and then these commands are sent to the Quackraft to control motors and servos. The XBee communicates with the Quackraft using the communication standards defined by the Communications Committee.
Various types of switches and buttons were used to control various functions on the controller. A toggle switch was used to control the position of the fauna gate on the Quackraft, a push button was used to start pairing between the Mallard Module and the Quackraft, and a LED push-release button was used to start the refueling mode for the Quackraft.
Two KY-023 Dual-Axis XY Joystick Modules were used for differential drive of the propellers on the boat. Although the joysticks provide two axes of control, only the Y-axis input was taken by the PIC32, thus the left joystick solely controlled the left propeller and the right joystick solely controlled the right propeller, forwards and backwards.
A RGB LED was used for indicating different statuses associated with the controller, such as refueling and pairing modes. Only the blue and green pins were used.
A potentiometer was used to input which boat the controller was attempting to pair with. Thus, the full range of the potentiometer was divided into 5 sections for the 5 teams' boats.
A SG90 9g Micro Servo was used to indicate the fuel status of the boat being controlled. Using a PWM signal, the position of the servo head was adjusted based on the tracked fuel level.
An ADXL345 Triple-Axis Accelerometer was used for the refuelling action. Users had to shake a hanging duck, which contained the accelerometer, to refuel their boat, which then measured the acceleration of the shaking. Only the X-axis acceleration input signal was used for refuelling.