Bluetooth-controlled RC car with Arduino Nano + HC-05

Asked 1 week ago Modified 3 days ago Viewed 11 times
Bluetooth-controlled RC car with Arduino Nano + HC-05

Weekend project I built with my 12-year-old. Result: an RC car you steer from any Android phone with a free Bluetooth joystick app. Range is about 8m line-of-sight, and a charge gets us roughly 40 minutes of zooming around the living room.

Parts list

  • Arduino Nano (clone is fine)
  • HC-05 Bluetooth module
  • L298N motor driver
  • 4WD chassis kit (4 motors, 4 wheels)
  • 2 × 18650 cells in series (gives 7.4V) + holder
  • Small toggle switch for power
  • Bunch of M3 standoffs to stack the boards

Wiring overview

  • HC-05 TX → Nano D10, HC-05 RX → Nano D11 via a 1k+2k voltage divider (HC-05 RX is 3.3V tolerant!)
  • HC-05 VCC → 5V, GND → GND
  • L298N IN1-IN4 → D5,D6,D9,D10 (PWM pins — needed for speed control)
  • Battery + → L298N 12V terminal, battery − → L298N GND + Nano GND
  • L298N 5V output → Nano VIN (powers the brain off the same pack)

Pairing

1. Power on the car. HC-05 LED blinks rapidly when unpaired.
2. On your phone, scan Bluetooth devices, pair with 'HC-05', default PIN is 1234 or 0000.
3. Install 'Arduino Bluetooth Controller' (or similar) from Play Store. Use the joystick mode.

Sketch logic

  • Open a SoftwareSerial on D10/D11 at 9600 baud.
  • The app sends single characters: F = forward, B = back, L = left, R = right, S = stop, and digit chars 0-9 for speed.
  • Map those to motor pin states + analogWrite() for speed.

Tips

  • Add a buzzer on D8 and beep on Bluetooth connect/disconnect — kids love it.
  • Wrap the wheels in foam tape for grip on tile floors.
  • The HC-05 default name is 'HC-05'. To rename, put it in AT command mode (hold the small button while powering on) and send `AT+NAME=Speedster`.