Introduction

The Bluetooth Controlled Arduino Robot Car is a popular robotics project for students. In this project, a robot car is controlled wirelessly using a smartphone via Bluetooth communication.

The system uses an Arduino board, a Bluetooth module (HC-05), and a motor driver module (L298N/L293D) to control DC motors attached to the robot chassis. The mobile phone sends commands through Bluetooth, and the Arduino interprets these commands to move the robot forward, backward, left, or right.

This project helps students learn:

  • Arduino programming
  • Bluetooth communication
  • Motor control
  • Robotics basics

🛠️ Components Used

Typical components required for a Bluetooth robot car include:

  • Arduino Uno / Arduino Nano
  • HC-05 Bluetooth Module
  • L298N Motor Driver Module
  • DC Gear Motors (2 or 4)
  • Robot Car Chassis
  • Wheels
  • Battery (7.4V / 9V / Li-ion battery pack)
  • Jumper wires
  • Switch
  • Smartphone with Bluetooth control app

These components allow the Arduino to receive commands from a mobile device and control the motors through the motor driver module.

Pin Connection

HC-05 Bluetooth Module to Arduino

HC-05 PinArduino Pin
VCC5V
GNDGND
TXRX (Pin 0)
RXTX (Pin 1)

Motor Driver L298N to Arduino

L298N PinArduino Pin
IN1D8
IN2D9
IN3D10
IN4D11
ENA5V or PWM
ENB5V or PWM

Motors

  • Motor A → OUT1 & OUT2
  • Motor B → OUT3 & OUT4

Arduino Code

char command;

int motor1Pin1 = 8;

int motor1Pin2 = 9;

int motor2Pin1 = 10;

int motor2Pin2 = 11;

void setup() {

 Serial.begin(9600);

 

 pinMode(motor1Pin1, OUTPUT);

 pinMode(motor1Pin2, OUTPUT);

 pinMode(motor2Pin1, OUTPUT);

 pinMode(motor2Pin2, OUTPUT);

}

void loop() {

 if (Serial.available()) {

   command = Serial.read();

 

   if (command == ‘F’) {   // Forward

     digitalWrite(motor1Pin1, HIGH);

     digitalWrite(motor1Pin2, LOW);

     digitalWrite(motor2Pin1, HIGH);

     digitalWrite(motor2Pin2, LOW);

   }

   else if (command == ‘B’) { // Backward

     digitalWrite(motor1Pin1, LOW);

     digitalWrite(motor1Pin2, HIGH);

     digitalWrite(motor2Pin1, LOW);

     digitalWrite(motor2Pin2, HIGH);

   }

  else if (command == ‘L’) { // Left

     digitalWrite(motor1Pin1, LOW);

     digitalWrite(motor1Pin2, HIGH);

     digitalWrite(motor2Pin1, HIGH);

     digitalWrite(motor2Pin2, LOW);

   }

   else if (command == ‘R’) { // Right

     digitalWrite(motor1Pin1, HIGH);

     digitalWrite(motor1Pin2, LOW);

     digitalWrite(motor2Pin1, LOW);

     digitalWrite(motor2Pin2, HIGH);

   }

   else if (command == ‘S’) { // Stop

     digitalWrite(motor1Pin1, LOW);

     digitalWrite(motor1Pin2, LOW);

     digitalWrite(motor2Pin1, LOW);

     digitalWrite(motor2Pin2, LOW);

   }

 }

}

Mobile App

Install a Bluetooth RC Controller App from the Play Store.

Steps:

  1. Turn ON robot power
  2. Enable Bluetooth on phone
  3. Pair with HC-05(password usually 1234)
  4. Use the app buttons to control the robot 

Working Principle

  1. Smartphone sends commands through Bluetooth.
  2. HC-05 module receives the signal.
  3. Arduino reads the command via serial communication.
  4. Arduino controls the motor driver.
  5. Motor driver rotates motors accordingly.

Video