Translate

Arduino RF Controlled Car

 1. Introduction

Prototype Diagram

In this project, we will build an Arduino RF Controlled Car using a 433MHz RF transmitter and receiver module. Unlike Bluetooth-controlled cars, this system uses a dedicated wireless remote, making it more suitable for long-range and low-power applications.

This project is ideal for students and beginners who want to learn wireless communication, motor control, and robotics using Arduino.


2. Components

🔹 Transmitter Side

  • Arduino Nano / Uno
  • RF Transmitter (433 MHz)
  • Push Buttons (4 or 5)
  • 10k Resistors (Pull-down)
  • Breadboard
  • Battery

🔹 Receiver Side (Car)

  • Arduino Nano / Uno
  • RF Receiver (433 MHz)
  • L298N Motor Driver
  • 2 DC Motors + Wheels
  • Robot Chassis
  • Castor Wheel/ or 2 more real toy car wheel + motor
  • Battery (7.4V / 12V)
  • Jumper Wires

3. Circuit and Connections

Pinout Diagram of Arduino Uno R3

Button Connection Circuit
Button connection for one button shown   
similarly Add other buttons also


Pinout Diagram Transmitter and Receiver
Pinout Diagram

Pinout Diagram of L298N Motor Driver Module

🔸 Transmitter Connections

  • RF Transmitter DATA → Arduino Pin D12
  • Button 1 → Arduino Pin D2 (Forward)
  • Button 2 → Arduino Pin D3 (Backward)
  • Button 3 → Arduino Pin D4 (Left)
  • Button 4 → Arduino Pin D5 (Right)
  • All buttons → GND through resistor

🔸 Receiver Connections

  • RF Receiver DATA → Arduino Pin D11

🔸 L298N Motor Driver

  • IN1 → D6
  • IN2 → D7
  • IN3 → D8
  • IN4 → D9
  • Motor A → Left Motor
  • Motor B → Right Motor
  • Battery → Motor Driver
Note: You can also buy ready made Transmitter and Receiver in which only receiver connection module to be wired correctly

4. Circuit Working

When a button is pressed on the transmitter side, a signal is sent through the RF transmitter. The RF receiver on the car receives this signal and passes it to the Arduino.

The Arduino processes the signal and controls the motors through the L298N motor driver:

  • Forward → Both motors forward
  • Backward → Both motors reverse
  • Left → Left motor stop, right motor forward
  • Right → Right motor stop, left motor forward

5. Code

🔹 Transmitter Code

#include <VirtualWire.h>

void setup() {
vw_setup(2000);
vw_set_tx_pin(12);

pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
}

void loop() {
char *msg;

if (digitalRead(2)) msg = "F";
else if (digitalRead(3)) msg = "B";
else if (digitalRead(4)) msg = "L";
else if (digitalRead(5)) msg = "R";
else msg = "S";

vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();

delay(200);
}

🔹 Receiver Code

#include <VirtualWire.h>

char msg[2];

void setup() {
vw_setup(2000);
vw_set_rx_pin(11);
vw_rx_start();

pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}

void loop() {
uint8_t buflen = VW_MAX_MESSAGE_LEN;

if (vw_get_message((uint8_t *)msg, &buflen)) {

if (msg[0] == 'F') forward();
else if (msg[0] == 'B') backward();
else if (msg[0] == 'L') left();
else if (msg[0] == 'R') right();
else stopMotor();
}
}

void forward() {
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
}

void backward() {
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
}

void left() {
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
}

void right() {
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}

void stopMotor() {
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}

6. Code Working

  • The transmitter Arduino reads button inputs and sends a character (F, B, L, R, S) using RF module.
  • The receiver Arduino listens continuously for incoming data.
  • When a command is received, it calls the respective function:
    • forward() → moves car forward
    • backward() → reverse
    • left() / right() → turning
    • stopMotor() → stops the car

The VirtualWire library is used for RF communication.


7. Tips

✔ Use external battery for motors (don’t power from Arduino)
✔ Keep antennas (~17 cm wire) for better range
✔ Avoid noise by keeping modules away from motors
✔ Use proper grounding
✔ For better reliability, use encoder/decoder ICs (HT12E/HT12D)


8. Uses

  • Wireless robot cars
  • Remote-controlled vehicles
  • Industrial wireless control systems
  • Home automation systems
  • Robotics learning projects

9. Conclusion

The Arduino RF Controlled Car is an excellent project to understand wireless communication and robotics. It demonstrates how data can be transmitted over air and used to control real-world devices.

This project can be further enhanced by adding sensors, camera modules, or IoT capabilities.

à´¤ുà´Ÿà´•്à´•à´•്à´•ാർക്à´•ാà´¯ി ഇലക്à´Ÿ്à´°ോà´£ിà´•്à´¸് ലളിതമാà´¯ി പഠിà´•്à´•ാം.

Empowering students in Kerala with hands-on technical skills.