Smartphone Bluetooth RC Car
Transform a 2WD/4WD rover chassis into a smartphone-controlled RC car using an HC-05 / ESP32 Bluetooth module and a mobile virtual joystick app.
Build your own custom remote-controlled vehicle! Learn wireless serial communication over Bluetooth SPP/BLE, packet parsing protocols, dual H-bridge motor driving, speed throttling, and mobile joystick app pairing for responsive real-time wireless teleoperation.
Bill of Materials (BOM) & Hardware Components
| Component | Specifications | Qty | Approx Cost |
|---|---|---|---|
| HC-05 / HC-06 Bluetooth Module (or ESP32 built-in) | UART serial communication, 2.4GHz Bluetooth 2.0+EDR / BLE | 1 | $3.50 |
| 2WD / 4WD Smart Robot Chassis Kit | Chassis base, DC gearmotors, rubber wheels, hardware | 1 | $10.00 |
| L298N or TB6612FNG Motor Driver Module | Dual H-bridge motor controller for bidirectional speed control | 1 | $3.50 |
| Arduino Uno / Nano Microcontroller | Executes serial command parser and motor PWM routines | 1 | $5.50 |
| 7.4V 2S Li-ion / 4xAA Battery Holder with Switch | Power source with master ON/OFF toggle switch | 1 | $4.00 |
| 1kΩ & 2kΩ Resistors | 5V-to-3.3V voltage divider protecting Bluetooth RX pin | 2 | $0.20 |
Electrical & System Architecture
HC-05 TXD connects to Arduino Pin 2 (SoftwareSerial RX); Arduino Pin 3 (TX) connects to HC-05 RXD through a 1kΩ/2kΩ voltage divider. L298N driver direction and PWM inputs connect to Arduino digital pins D5-D8.
Step-by-Step Assembly & Configuration Tutorial
Follow each milestone step with photos, wiring checks, and testing procedures.
Chassis & Motor Driver Parallel Integration
Mount the DC motors onto the chassis. Wire left motors in parallel to Driver Output A, and right motors to Output B for differential skid steering.
- Verify that both left wheels spin forward when Output A is energized.
- Connect motor driver ground directly to Arduino GND (Common Ground).
- Install an inline master toggle switch on the positive battery line.
Wiring HC-05 Bluetooth UART with 3.3V Divider
Connect the Bluetooth transceiver to Arduino SoftwareSerial pins (Pins 2 & 3). Add a 1kΩ/2kΩ voltage divider on the Arduino TX line to protect the 3.3V HC-05 RX pin.
- Connect HC-05 VCC -> 5V, GND -> GND, TXD -> Arduino Pin 2.
- Connect Arduino Pin 3 to a 1kΩ resistor in series with HC-05 RXD, with a 2kΩ resistor from RXD to GND.
- Power on: verify the HC-05 onboard LED blinks rapidly (2Hz) indicating pairing mode.
Smartphone App Pairing & Command Packet Parser
Download a free Bluetooth RC Controller app from the Google Play or iOS App Store, pair with `HC-05` (PIN `1234`), and flash the command parser firmware.
- Upload the sketch: parse single-byte ASCII characters: `F` (Forward), `B` (Reverse), `L` (Spin Left), `R` (Spin Right), `S` (Stop), `0-9` (Throttle Speed).
- Implement a 400ms safety watchdog: automatically stop motors if Bluetooth communication is lost.
- Enjoy high-speed responsive driving around your home!