Home · Academy · Robotics & Coding · Robotic Systems · Remote Control

Remote Control

Learn the logic of controlling a robot remotely with infrared, radio or Bluetooth.

LESSON COMPASS

What will you use this page for?

Core idea

Remote control means a robot catches a command sent by a controller and turns it into movement; the robot hears the command, decides what to do, and drives its motors.

Evidence to produce

Complete the page task with your own input, test conditions and reasoning.

Control trap

Leaving the transmitter and receiver on different settings If the group number on micro:bits or the pairing on Bluetooth is different, the command never arrives. Make sure both sides use the same channel/group . Expecting infrared to work behind a wall Infrared needs a line of sight. If the remote and receiver cannot…

Next connection

Autonomous and Semi-Autonomous Systems: How a robot makes some decisions on its own, using its own sensors, without asking you.

Module sources: Python Tutorial · Arduino Learn

LevelBeginner
Age10–16
Duration35–50 min
PrerequisiteRobot Arm Logic
ContentIn-depth guide · 1,887 words
Last updated

One-sentence summary

Remote control means a robot catches a command sent by a controller and turns it into movement; the robot hears the command, decides what to do, and drives its motors.

Why it matters

If you steer a car with a garage remote, fly a drone from the ground, or drive a toy robot from your phone, you are using a remote control system. The robot is not tied to you with a cable; the command travels across the gap as an invisible signal.

In earlier lessons we learned the robot's sense–decide–act loop. Now we add a new kind of "sense": the robot listens not only to its own sensors but also to the command you send. A "go forward" command triggers a decision, just like a distance-sensor reading. By the end of this lesson you will understand how a system that sends a robot forward at the press of a button thinks.

The three parts of remote control

Every remote control system has three parts. Their names may sound intimidating, but the idea is simple.

Everyday example: talking on walkie-talkies

Picture two people using walkie-talkies. One speaks (transmitter), the other listens (receiver). They must be on the same channel; on different channels they cannot hear each other. Remote control is the same: transmitter and receiver must share the same "language" and setting.

Everyday example: a TV remote

When you press a button on a TV remote, you cannot even see a light, yet the TV receives the command. The remote sends a small code using invisible infrared light, and the receiver reads it. "Volume up" is one number, "change channel" is another. In a robot, too, each command is really just a small number or letter.

Ways to send a command

There are several ways to carry a command through the air. Let us compare three of them conceptually.

Infrared (IR) remote

This is the method TV remotes use. It is cheap and easy, but it has two conditions: the remote and the receiver must see each other (no wall in between) and the range is short (a few metres). If you want the robot to turn a corner, the signal gets blocked by the obstacle.

Radio (micro:bit and similar)

Radio waves can pass behind walls and reach farther, with no line of sight needed. A micro:bit has a built-in radio; you can make one micro:bit the controller and another the robot's brain, and send messages between them. The two devices must use the same group number, the same idea as the same channel on a walkie-talkie.

Bluetooth

This connects a phone or tablet to the robot. Its range is similar to radio, but the two devices must first recognise each other, that is, they must pair. When you press a button in a phone app, a command goes to the robot. Setup takes longer, but the interface can be rich.

In short: infrared is simple but needs a line of sight; radio and Bluetooth work behind walls and reach farther.

Turning a command into movement

What does the robot do once it receives a command? This is the heart of the lesson. A command is an input; the robot looks at that input and decides on a movement. Let us write the logic first as pseudocode:

Start
Repeat forever:
  Read the incoming command
  If the command is "forward"
    drive both motors forward
  Else if the command is "stop"
    stop both motors
  Else
    do nothing (keep the last command)

Notice this is the same condition structure from the algorithms lesson. The robot compares each command with an "if." If an unknown command arrives, the safest behaviour is usually to stop or to keep the last known command.

From micro:bit to Arduino: shrinking a command to one letter

The easiest way to send between two micro:bits over radio is to send the command as a single letter. When the controller's A button is pressed, it sends "F" (forward); when B is pressed, it sends "S" (stop). The robot's micro:bit receives the letter and passes it to the Arduino, which works with this logic:

char command = receivedLetter();  // letter from radio/serial port

if (command == 'F') {             // forward
  digitalWrite(leftMotor, HIGH);
  digitalWrite(rightMotor, HIGH);
}
else if (command == 'S') {        // stop
  digitalWrite(leftMotor, LOW);
  digitalWrite(rightMotor, LOW);
}

The line command == 'F' asks "is the incoming letter F?"; if so, it runs both motors. The motors are not powered straight from the Arduino pin but through a motor driver, because motors draw more current than a pin can supply. The driver takes the low-power signal and turns the motor using a separate battery pack.

Why a separate battery and common ground?

The rule we learned in the robot-arm lesson applies here too. Motors use a separate battery pack; the negative terminals (GND) of the Arduino and the battery pack are connected to each other. This is called common ground. Without common ground, the signal and the power do not share the same reference, and the system will not work properly.

Latency and range

In remote control there are two facts to keep in mind: how fast does the signal arrive, and how far does it reach?

Walls, interference from other devices, and battery level also affect range. A good design plans in advance for what the robot should do when the command is lost.

Hands-on mini task

You can do this even without a real robot; the goal is to build the command-to-movement logic.

  1. On a sheet of paper write four commands: F (forward), B (back), L (turn left), S (stop).
  2. Make a friend the "robot." You are the transmitter, they are the receiver.
  3. Give commands by saying only the letter; your friend takes one step or turns for each letter.
  4. Now add a "latency": after you say the letter, your friend waits two seconds before moving. Walking toward an obstacle, you will see how dangerous this is.
  5. Add a "range" rule: once you move to the far side of the room, whisper the command. For commands they cannot hear, your friend should stop (safe stop).

Tip: When your friend hears a letter they do not recognise, they should stop, not move. In a real robot, this is also the safest reaction to an unknown command.

Common mistakes

Leaving the transmitter and receiver on different settings

If the group number on micro:bits or the pairing on Bluetooth is different, the command never arrives. Make sure both sides use the same channel/group.

Expecting infrared to work behind a wall

Infrared needs a line of sight. If the remote and receiver cannot see each other, the command does not go through. Use radio or Bluetooth for behind a wall.

Skipping the "what if there is no command?" question

If the robot keeps running the last command forever when the signal drops, it can drive into a wall. Add a rule to stop if no command arrives for a set time.

Trying to drive motors straight from the Arduino

Motors draw more current than an Arduino pin can supply. Put a motor driver in between, power the motors from a separate battery pack, and connect the common ground.

Ignoring latency

On a fast robot even a small delay can cause a crash. Test at low speed first and observe the reaction time.

Safety note

A remotely controlled robot moves metres away from you; that is a reason to raise your attention, not lower it. The robot can move suddenly on an unexpected command.

Lesson summary

Check questions

  1. What are the three basic parts of a remote control system?
  2. What are two disadvantages of an infrared remote compared with radio?
  3. Which setting must be the same for two micro:bits to communicate over radio?
  4. What is usually the safest behaviour when a robot receives an unknown command?
  5. What do "range" and "latency" mean, and what should the robot do when the command is lost?

Answers

  1. The transmitter that sends the command, the receiver that catches it, and the processor (controller) that drives the motors based on the command.
  2. Infrared requires the remote and receiver to see each other (it does not pass behind walls) and has a short range (a few metres).
  3. Both micro:bits must use the same group number, which is the same idea as the same channel on a walkie-talkie.
  4. Usually to stop or to keep the last known safe command; the robot should not move randomly on a command it does not recognise.
  5. Range is the farthest distance at which the transmitter and receiver can communicate; latency is the short delay between pressing the button and the robot reacting. When the command is lost, the robot should stop safely (safe stop).

Source and verification note

For “Remote Control”, verification focuses on whether the relationship between The three parts of remote control and Everyday example: a TV remote remains consistent across examples. Robot behaviour cannot be explained by code alone; mechanical structure, power system, sensor placement and surface conditions must be evaluated together. Test results should be recorded over several runs on the same course.

Next lesson

Autonomous and Semi-Autonomous Systems: How a robot makes some decisions on its own, using its own sensors, without asking you.

Start QuizBack to Robotic Systems
QUESTION POOL

Reinforce this lesson with 10 questions

This lesson has a pool of 20 questions. Each attempt selects 10 and reshuffles the choices.