✨ DOWNLOAD OUR APP - Use RCAPP
for additional 5% discount! + Redeem RC COINS 👇
Skip to content
Free Delivery on Orders Above Rs 500/- Pan-India
Cash on Delivery Available for Orders above Rs.500/- and Upto Rs 3000/-
SAVE more when you BUY more. Upto 30% Off on BULK PURCHASE
GST Invoices for Your Business
Dedicated Technical Support Team
Safely Delivering Genuine Products PAN INDIA
Ph: +91 812 3057 137   |  Support

Bluetooth-Controlled Car with Arduino and HC-05 Module

Bluetooth-Controlled Car with Arduino and HC-05 Module - Cover image

What is a Bluetooth Controlled Car?

A Bluetooth controlled car is a wireless robotic vehicle that can be operated remotely using a smartphone or tablet via Bluetooth communication.

This innovative robotics project allows students to control the car's movements—forward, backward, left, and right—through a simple mobile application, eliminating the need for physical remote controls or wired connections. 

Components Required 

To build this exciting DIY project, you'll need the following components: 

  • Arduino Uno: The brain of the project - a microcontroller that processes commands 
  • HC-05 Bluetooth Module: Creates wireless communication between your phone and Arduino 
  • DC Motors (2): Provide power to move the wheels and propel the car 
  • L298N Motor Driver: Safely manages high current needed by motors based on Arduino signals 
  • Wheel Caster Set (2): Ensures proper steering and maneuverability 
  • Chassis: The base structure that holds all components together 
  • Power Source: Rechargeable batteries (Li-ion recommended) for mobile operation 
  • Jumper Wires: Connect all electronic components 
  • Breadboard (Optional): Useful for circuit prototyping 
  • Buzzer: Adds audio feedback for enhanced user experience 
  • Smartphone: With Bluetooth capability to control the car 

Circuit Connections and Wiring 

Here's the detailed step-by-step connection guide for your Bluetooth controlled car project: 

Circuit Connections and Wiring

Main Components Layout 

The diagram illustrates the complete circuit architecture with the L298N Motor H-Bridge as the central control unit, connecting the Arduino microcontroller to the DC gear motors and servo motors. 

Arduino to L298N Motor Driver Connections: 

  • Digital Pin 12 → IN1 (Motor A control) 
  • Digital Pin 11 → IN2 (Motor A control) 
  • Digital Pin 10 → IN3 (Motor B control) 
  • Digital Pin 9 → IN4 (Motor B control) 
  • 5V Pin → VCC (Logic power supply) 
  • GND Pin → Ground (Common ground) 

L298N Motor Driver to DC Gear Motors: 

  • Left DC Gear Motor → Motor A terminals (OUT1 and OUT2) 
  • Right DC Gear Motor → Motor B terminals (OUT3 and OUT4) 
  • Motor Power Supply → 12V input terminal on L298N 

Power Supply Connections: 

  • Battery Pack (7.4V Li-ion recommended) connects to: 
  • Positive terminal → VIN on Arduino and motor power input on L298N 
  • Negative terminal → Common ground for entire circuit 

HC-05 Bluetooth Module Connections: 

  • VCC → Arduino 5V pin 
  • GND → Arduino Ground pin 
  • TX → Arduino Digital Pin 2 (Software Serial RX) 
  • RX → Arduino Digital Pin 3 (Software Serial TX) 

Additional Servo Motor Integration: 

As shown in the diagram, if you're adding servo motors for enhanced functionality: 

  • DC Servo Motor → Connect to Arduino PWM pins (Pin 5 and Pin 6) 
  • Power lines → 5V and Ground from Arduino 

Wire Color Coding (As Per Diagram) 

Following the standard color coding shown in the circuit diagram: 

  • Red wires: Positive power connections (+5V, +12V) 
  • Black wires: Ground/negative connections 
  • Green wires: Digital signal lines to motor driver 
  • Blue wires: Bluetooth module data connections 
  • Orange/Yellow wires: Motor control signals

Arduino Code 

Here's the complete code for your Bluetooth controlled car:


#include  
 
// Define motor control pins 
#define IN1 12 
#define IN2 11 
#define IN3 10 
#define IN4 9 
 
// Create SoftwareSerial object for Bluetooth communication 
SoftwareSerial bluetooth(2, 3); // RX, TX 
 
char command; 
 
void setup() { 
  // Initialize serial communication 
  Serial.begin(9600); 
  bluetooth.begin(9600); 
   
  // Set motor pins as outputs 
  pinMode(IN1, OUTPUT); 
  pinMode(IN2, OUTPUT); 
  pinMode(IN3, OUTPUT); 
  pinMode(IN4, OUTPUT); 
   
  // Initialize all motors to stop 
  stopMotors(); 
   
  Serial.println("Bluetooth Car Ready!"); 
} 
 
void loop() { 
  // Check if data is available from Bluetooth 
  if (bluetooth.available()) { 
    command = bluetooth.read(); 
    Serial.println(command); 
     
    // Execute commands based on received data 
    switch(command) { 
      case '1': // Forward 
        moveForward(); 
        break; 
      case '2': // Backward 
        moveBackward(); 
        break; 
      case '3': // Left 
        turnLeft(); 
        break; 
      case '4': // Right 
        turnRight(); 
        break; 
      case '5': // Stop 
        stopMotors(); 
        break; 
      default: 
        stopMotors(); 
        break; 
    } 
  } 
} 
 
void moveForward() { 
  digitalWrite(IN1, HIGH); 
  digitalWrite(IN2, LOW); 
  digitalWrite(IN3, HIGH); 
  digitalWrite(IN4, LOW); 
} 
 
void moveBackward() { 
  digitalWrite(IN1, LOW); 
  digitalWrite(IN2, HIGH); 
  digitalWrite(IN3, LOW); 
  digitalWrite(IN4, HIGH); 
} 
 
void turnLeft() { 
  digitalWrite(IN1, LOW); 
  digitalWrite(IN2, HIGH); 
  digitalWrite(IN3, HIGH); 
  digitalWrite(IN4, LOW); 
} 
 
void turnRight() { 
  digitalWrite(IN1, HIGH); 
  digitalWrite(IN2, LOW); 
  digitalWrite(IN3, LOW); 
  digitalWrite(IN4, HIGH); 
} 
 
void stopMotors() { 
  digitalWrite(IN1, LOW); 
  digitalWrite(IN2, LOW); 
  digitalWrite(IN3, LOW); 
  digitalWrite(IN4, LOW); 
}

The Working Process

The following 5 steps describes the core working mechanism: 

  • Command Transmission: When you press a directional button in the smartphone app, specific data is transmitted via Bluetooth 
  • Data Reception: The HC-05 module receives this data and forwards it to the Arduino 
  • Signal Processing: Arduino processes the received command using a switch-case structure 
  • Motor Control: Based on the command, Arduino sends appropriate signals to the L298N motor driver 
  • Movement Execution: The motor driver controls the DC motors to achieve the desired movement 

Command Mapping: 

  • Forward → '1' 
  • Backward → '2' 
  • Left → '3' 
  • Right → '4' 
  • Stop → '5'
Prev Post
Next Post

Leave a comment

Please note, comments need to be approved before they are published.

Thanks for subscribing!

This email has been registered!

Shop the look

Choose Options

Edit Option
Back In Stock Notification
Compare
Product SKU Description Collection Availability Product Type Other Details

Choose Options

this is just a warning
Login
Shopping Cart
0 items
FREE SHIPPING!
₹100 OFF
₹200 OFF