1. Introduction
In this project, we will build a voice-controlled robot using Arduino, where the robot moves based on voice commands given through a smartphone. The commands are sent via Bluetooth using an Android app and received by the Arduino.
This project is widely used in robotics learning, automation, and assistive technology.
2. Components Required
- Arduino Uno / Nano
- L298N Motor Driver Module
- HC-05 Bluetooth Module
- DC Motors (2 or 4)
- Robot Chassis
- Jumper Wires
- Battery (7.4V / 12V)
3. Circuit Diagram and Connections
🔌 Connections:
HC-05 Bluetooth:
| HC-05 | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| TX | RX (Pin 0) |
| RX | TX (Pin 1) |
L298N Motor Driver:
| L298N | Arduino |
|---|---|
| IN1 | Pin 8 |
| IN2 | Pin 9 |
| IN3 | Pin 10 |
| IN4 | Pin 11 |
4. Circuit Working
- User speaks command in mobile app
- App converts voice → text
- Text sent via Bluetooth (HC-05)
- Arduino reads command
- Motors move accordingly
🎤 Example Commands:
- “forward”
- “backward”
- “left”
- “right”
- “stop”
5. Arduino Code
char command;
void setup() {
Serial.begin(9600);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
if (Serial.available()) {
command = Serial.read();
if (command == 'F') { // Forward
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
}
else if (command == 'B') { // Backward
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
}
else if (command == 'L') { // Left
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
}
else if (command == 'R') { // Right
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
}
else if (command == 'S') { // Stop
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
}
}
6. Code Explanation
- Arduino reads data from HC-05 using Serial
- Each character corresponds to a command
- Motor driver pins control robot movement
7. Output
- Robot moves according to voice commands
- Controlled wirelessly via smartphone
8. Applications
- Assistive robotics
- Smart automation
- Hands-free control systems
- Educational robotics
9. Advantages
- Wireless control
- Easy to operate
- Interactive project
- Good for beginners and advanced users
10. Conclusion
This project demonstrates how voice commands can be used to control robotic systems. It integrates Bluetooth communication with Arduino, making it a powerful and practical project for real-world applications.
11. Mobile App Setup (Voice Control App)
🔹 Recommended App
Use:
👉 Arduino Bluetooth Control (Android)
OR search in Play Store:
👉 “Bluetooth Voice Control for Arduino”
🔹 Install and Setup
Step 1: Install App
- Open Play Store
- Search: Bluetooth Voice Control Arduino
- Install the app
Step 2: Pair HC-05 Module
- Turn ON your robot
- Go to mobile Bluetooth settings
-
Find device:
👉 HC-05 -
Enter password:
1234OR
0000
Step 3: Connect App
- Open the app
- Click Connect
- Select HC-05
👉 Now your phone is connected to Arduino
🔹 Voice Commands Setup
Most apps convert voice → text → send characters
Example Mapping:
| Voice Command | App Sends | Arduino Action |
|---|---|---|
| “Forward” | F | Move forward |
| “Backward” | B | Move backward |
| “Left” | L | Turn left |
| “Right” | R | Turn right |
| “Stop” | S | Stop |
🔹 How It Works Internally
- You speak → “Forward”
- App converts voice → text
- Converts text → character (‘F’)
- Sends via Bluetooth
- Arduino reads and executes
⚠️ Important Tips (Very Useful)
✔ Speak clearly (simple words only)
✔ Keep phone language = English
✔ Ensure Bluetooth is ON
✔ Keep robot within 5–10 meters