Skip to content
Sun, Oct 11, 2026 / Ideas for a clearer worldINDEPENDENT INSIGHTS ยท PRACTICAL TOOLS ยท EXPLAINERS
Sign in
Robot Programming / May 26, 2026

How to Control a Robot Using a Smartphone App ๐Ÿ“ฑ๐Ÿค–

Controlling a robot using a smartphone is an exciting way to bring automation and wireless communication into your robotics projects. Whether youโ€™re using Bluetooth, Wi-Fi, or IoT, smartphone-controlled robots are fun to build and highly practical.Contents1๏ธโƒฃ Choosing the Right Communication Method ๐Ÿ“ก๐Ÿ”น Bluetooth (HC-05/HC-06) ๐Ÿ”ต๐Ÿ”น Wi-Fi (ESP8266/ESP32) ๐Ÿ“ถ๐Ÿ”น Radio Frequency (RF) ๐Ÿ›ฐ๏ธ2๏ธโƒฃ Required Components ๐Ÿ› ๏ธ3๏ธโƒฃ […]

Controlling a robot using a smartphone is an exciting way to bring automation and wireless communication into your robotics projects. Whether youโ€™re using Bluetooth, Wi-Fi, or IoT, smartphone-controlled robots are fun to build and highly practical.

In this guide, weโ€™ll cover:

โœ… Choosing the right communication method

โœ… Required components

โœ… Setting up hardware

โœ… Writing the robotโ€™s code

โœ… Developing a smartphone app

Letโ€™s get started! ๐Ÿš€

ย 

1๏ธโƒฃ Choosing the Right Communication Method ๐Ÿ“ก

There are multiple ways to connect a smartphone to a robot. Here are the three most common methods:

๐Ÿ”น Bluetooth (HC-05/HC-06) ๐Ÿ”ต

โœ”๏ธ Easy to use and power-efficient

โœ”๏ธ Works within a short range (~10 meters)

โŒ Requires Bluetooth pairing

๐Ÿ’ก Best for: Simple wireless robots controlled via an app.

๐Ÿ”น Wi-Fi (ESP8266/ESP32) ๐Ÿ“ถ

โœ”๏ธ Can be controlled over the internet ๐ŸŒ

โœ”๏ธ Works over long distances (within the same network)

โŒ Requires an active Wi-Fi connection

๐Ÿ’ก Best for: IoT-based robots or web-controlled bots.

๐Ÿ”น Radio Frequency (RF) ๐Ÿ›ฐ๏ธ

โœ”๏ธ No need for internet or Bluetooth

โœ”๏ธ Can work over long distances

โŒ Requires dedicated RF transmitter and receiver

๐Ÿ’ก Best for: Outdoor and industrial robots.

For beginners, Bluetooth is the easiest option to start with!

ย 

2๏ธโƒฃ Required Components ๐Ÿ› ๏ธ

To build a smartphone-controlled robot, youโ€™ll need:

๐Ÿ”น Microcontroller: Arduino Uno or ESP32 (for Wi-Fi-based bots)

๐Ÿ”น Motor Driver (L298N): Controls DC motors

๐Ÿ”น Motors: DC motors or servo motors

๐Ÿ”น Chassis: The body/frame of the robot

๐Ÿ”น Bluetooth Module (HC-05/HC-06): For wireless communication

๐Ÿ”น Power Supply: 9V battery or rechargeable Li-ion battery

๐Ÿ”น Smartphone: To run the controller app

๐Ÿ’ก If using Wi-Fi, replace the Bluetooth module with an ESP8266 or ESP32.

ย 

3๏ธโƒฃ Setting Up the Hardware ๐Ÿ”ง

๐Ÿ”น Step 1: Connecting the Bluetooth Module (HC-05)

HC-05 PinArduino PinVCC5VGNDGNDTXRX (Pin 10)RXTX (Pin 11)

๐Ÿ“Œ Important: Use a logic level shifter or resistor divider for RX to prevent damage.

๐Ÿ”น Step 2: Connecting the Motor Driver (L298N) to Motors

L298N PinArduino PinIN18IN29IN310IN411ENA (PWM)6ENB (PWM)5

๐Ÿ’ก PWM pins (5, 6) control speed, while IN1-IN4 control direction.

ย 

4๏ธโƒฃ Writing the Robotโ€™s Code ๐Ÿ’ป

๐Ÿ”น Basic Arduino Code for Bluetooth-Controlled Robot

cpp
----
#include <SoftwareSerial.h>

SoftwareSerial BT(10, 11); // RX, TX

#define motor1A 8
#define motor1B 9
#define motor2A 10
#define motor2B 11

void setup() {
  pinMode(motor1A, OUTPUT);
  pinMode(motor1B, OUTPUT);
  pinMode(motor2A, OUTPUT);
  pinMode(motor2B, OUTPUT);
  BT.begin(9600);
}

void loop() {
  if (BT.available()) {
    char command = BT.read();
    
    if (command == 'F') {  // Move Forward
      digitalWrite(motor1A, HIGH);
      digitalWrite(motor1B, LOW);
      digitalWrite(motor2A, HIGH);
      digitalWrite(motor2B, LOW);
    } 
    else if (command == 'B') {  // Move Backward
      digitalWrite(motor1A, LOW);
      digitalWrite(motor1B, HIGH);
      digitalWrite(motor2A, LOW);
      digitalWrite(motor2B, HIGH);
    } 
    else if (command == 'L') {  // Turn Left
      digitalWrite(motor1A, LOW);
      digitalWrite(motor1B, HIGH);
      digitalWrite(motor2A, HIGH);
      digitalWrite(motor2B, LOW);
    } 
    else if (command == 'R') {  // Turn Right
      digitalWrite(motor1A, HIGH);
      digitalWrite(motor1B, LOW);
      digitalWrite(motor2A, LOW);
      digitalWrite(motor2B, HIGH);
    } 
    else if (command == 'S') {  // Stop
      digitalWrite(motor1A, LOW);
      digitalWrite(motor1B, LOW);
      digitalWrite(motor2A, LOW);
      digitalWrite(motor2B, LOW);
    }
  }
}

๐Ÿ“Œ How it works:

  • Reads commands (โ€˜Fโ€™, โ€˜Bโ€™, โ€˜Lโ€™, โ€˜Rโ€™, โ€˜Sโ€™) from Bluetooth.
  • Controls motors accordingly.

5๏ธโƒฃ Creating a Smartphone App ๐Ÿ“ฑ

To control the robot, you need a Bluetooth app. You can:

1๏ธโƒฃ Use a pre-built app (e.g., Arduino Bluetooth Controller from Google Play).

2๏ธโƒฃ Create your own app using MIT App Inventor or Android Studio.

๐Ÿ”น How to Create a Simple Bluetooth App (MIT App Inventor)

1๏ธโƒฃ Go to MIT App Inventor and start a new project.

2๏ธโƒฃ Add a Bluetooth Client component.

3๏ธโƒฃ Add buttons for Forward, Backward, Left, Right, Stop.

4๏ธโƒฃ Program the buttons to send โ€˜Fโ€™, โ€˜Bโ€™, โ€˜Lโ€™, โ€˜Rโ€™, โ€˜Sโ€™ via Bluetooth.

๐Ÿ“Œ Alternative: You can also use Blynk or Arduino IoT Cloud for Wi-Fi-based control.

ย 

6๏ธโƒฃ Testing & Improving Your Robot ๐Ÿš€

๐Ÿ”น Step 1: Upload the Arduino code.

๐Ÿ”น Step 2: Pair the Bluetooth module with your smartphone.

๐Ÿ”น Step 3: Open the control app and test movement.

๐Ÿ”น Step 4: Improve by adding sensors (ultrasonic for obstacle avoidance, camera for vision).

๐Ÿ’ก Want a Wi-Fi robot? Replace HC-05 with ESP8266 and send commands via a web app!

ย 

Final Thoughts ๐Ÿ’ก

Building a smartphone-controlled robot is an exciting and rewarding project! By using Bluetooth, Wi-Fi, or IoT, you can create advanced robots with remote control features. Start with basic movement, then explore AI, voice control, and autonomous navigation!