‘Boatbot’ is a remote controlled robot designed in the shape of a boat. The main aim of this project is to develop an embedded system to remotely control a boat in sea. The boat is controlled using zigbee communication. Boatbot is used to measure the parameters like salinity, temperature, humidity, pH etc. of that location and these values will be transmitted to land using zigbee. Peripheral interface controller or PIC microcontroller is used to control the overall system. The program for the project can be written, simulated and assembled in MPLAB. 

Block Diagram   

block diagram                                                                                                                                                                                                                                                                                                        


The whole system can be divided into two sections: Transmitter and Receiver. In the transmitter side, microcontroller, sensors, motor driver, motors, wireless camera and zigbee transmitter will be there. In receiver side, zigbee receiver and a PC will be there. To interface zigbee with PC; RS232 is used.

Components Required

  1. PIC Microcontroller
  2. Zigbee module
  3. DHT11 Temperature and Relative humidity sensor
  4. Pressure sensor
  5. pH sensor
  6. Motor Driver IC
  7. DC motor
  8. RS232
  9.  PC


The robot designed in the shape of a boat is used to analyze the different parameters of seawater. The bot is controlled wirelessly. For wireless communication zigbee module is used. Zigbee is a type of wireless communication under the standards IEEE802.15.4 and has a range extending from 500 m to 1.6 km. For zigbee transmitter and receiver are not required to be on line of sight. The pin out of the zigbee module is given below:


Zigbee pin layout

The zigbee transceiver module has to be interfaced with the microcontroller through serial communication. Here the microcontroller used is 16F877A PIC microcontroller. PIC stands for Peripheral Interface Controller and ‘F’ and ‘A’ stands for flash memory and it’s variant. 16F877A is selected because it has inbuilt many peripherals, low cost, low power consumption, ease of use, flexibility etc. The pin description of the PIC microcontroller is provided below: It has inbuilt USART. For this project it is configured to work as UART i.e. Universal Asynchronous Receiver/Transmitter. Zigbee Tx pin is connected to the Rx pin of the PIC microcontroller and Rx pin with Tx pin of the microcontroller. Tx pin and Rx pin of both are connected to transfer the sea water parameters to the server side and to receive the instruction to control the robot from that side.   

Boatbot will be used to analyze the temperature, humidity, pressure and pH of the sea water. DHT11 temperature-humidity sensor is used to measure the temperature and humidity of that location. The pin out of it is provided. 


It uses only one pin and that too digital output for providing both temperature and relative humidity values. It can measure temperature from 0-50 °C with an accuracy of ±2°C and the relative humidity from 20-95% with an accuracy of ±5%. It is connected to any of the digital input pin of the microcontroller. A digital pulse will be transmitted first to configure the sensor. A response signal will be transmitted back to the microcontroller. As soon it gets transmitted the sensor will start transmitting the temperature and relative humidity value to the microcontroller. A 40 bit data will be received by the microcontroller. The temperature measurement is done by the inbuilt thermistor and for the humidity measurement it uses capacitive effect were the capacitance varies as humidity varies. The 2nd sensor i.e. the pH sensor is connected to one of the port A input of the PIC microcontroller as it has inbuilt ADC. It measures the hydrogen ion activity of the sea water and produces a corresponding voltage which gives the pH value of the water. It should be between 7.5- 8.4, alkaline in nature. Below 7 shows the acid nature.

pin out

The pressure sensor, MPX4115 is used and which is connected to one of the ADC pin of the microcontroller. The pinout of the pressure sensor is provided below. Its range is 15Kpa to 115Kpa.  The pressure of water will be calculated by the deflection caused by it. This deflection will be converted into corresponding voltage. The values from these sensors will be communicated to the server side using zigbee. The values will be received on the Rx pin of the zigbee which will wirelessly communicate the information to the receiver side. At receiver side, zigbee module will receive the information and transmit to the PC through RS232. It supports full duplex transmission of data. The pinout is given below:

rs232 pin out

For all these analysis the boatbot has to be placed on the area where the analyzing has to be done. The controlling and directing to the required position is done by the person at the server side. On PC a VB based application has been designed to control the direction. Four buttons will be there left, right, front and back. Person has to click the corresponding buttons to place it in the required position. These instructions will be transmitted to the zigbee through RS232 which in turn will transmit the same to the boatbot’s microcontroller. The zigbee will receive them and through serial communication will forward to the PIC  

To drive the boat motors are required. Here 2 12V DC motors are used. But the voltage and current required can’t be satisfied by the microcontroller. In order to support the DC motors a motor driver IC is used.L293D is used here and it can control both the robots together. It works in H-bridge configuration which makes it possible to drive the load connected to the IC move in either direction i.e. by reversing the current flow the direction of rotation of motor will be reversed. L293D’s enable pins are set high and the input pins are connected to the input pins of the PIC microcontroller. The 2 DC motors are connected to the output pins of the L293D. When the instructions reach the microcontroller it will set the input pins accordingly.

  • Forward Direction: input1 and input3 =‘HIGH ;   input 2 and input4 =’LOW’
  • Backward Direction: input1 and input3 =‘LOW' ;  input 2 and input4 =’HIGH’
  • Left Direction: input1 and input4 =‘HIGH’ ;  input 2 and input3 =’LOW’
  • Right Direction: input1 and input4 =‘LOW';  input 2 and input3 =’HIGH’

L293D pin layout


The working can be stated like this, on the analysis location the boatbot is placed with the help of zigbee. The person will drive the boat to the precise location by selecting the required pins. Once reaching the site, it will measure the temperature, humidity, pH and pressure and  these will be fed to the PIC microcontroller and microcontroller inturn with the help of zigbee will communicate it to the receiver side PC. The boatbot is retracked after the analysis to the initial position.


The project can be extended by adding wireless camera and some other sensors which will be helpful for analysing the sea water. If wireless camera is added then the person can control the boatbot depending upon the feedback from the live videos. This will help to overcome the main disadvantage that the boatbot and the receiver side PC should be in line of sight.

Related Items