A 4-wheel-drive rover built on an ESP32, controlled wirelessly via Bluetooth using the Dabble app's GamePad module. Each wheel is driven independently through two DRV8833 motor driver boards.
- 4 independently wired DC motors (front-left, front-right, rear-left, rear-right)
- Bluetooth control via the Dabble app (Android/iOS) — no separate remote needed
- Skid-steering: d-pad Up/Down/Left/Right control forward, reverse, and turning
- PWM speed control using the ESP32's
ledcperipheral
Proof.Of.Concept.mp4
- ESP32 development board
- 2x DRV8833 motor driver modules (one for front motors, one for rear motors)
- 4x DC gear motors (4WD chassis)
- Battery pack (appropriate for your motors)
- Smartphone with the Dabble app installed
| Motor | Input Pin | GPIO |
|---|---|---|
| Front-Left | IN1 | 16 |
| Front-Left | IN2 | 17 |
| Front-Right | IN1 | 18 |
| Front-Right | IN2 | 19 |
| Rear-Left | IN1 | 25 |
| Rear-Left | IN2 | 26 |
| Rear-Right | IN1 | 27 |
| Rear-Right | IN2 | 14 |
Note: DRV8833 uses PWM directly on IN1/IN2 for speed + direction — no separate enable pin is needed.
- Each motor uses 2 GPIOs on the ESP32, connected to its DRV8833 driver's inputs.
- Front connector on the driver board: Front-Left (IN1, IN2) + Front-Right (IN3, IN4)
- Rear connector on the driver board: Rear-Left (IN1, IN2) + Rear-Right (IN3, IN4)
- All grounds (ESP32 + both DRV8833 boards) must be tied together.
- Install the Arduino IDE and add ESP32 board support if you haven't already.
- Install the DabbleESP32 library (Library Manager → search "Dabble").
- Open
esp32-rover.inoin the Arduino IDE. - Select your ESP32 board and correct COM port.
- Upload the sketch.
- Open the Dabble app on your phone, connect to the ESP32 (
MyBluetoothCar), select the GamePad module. - Use the d-pad to drive: Up = forward, Down = reverse, Left/Right = turn.
- Swap GamePad d-pad for joystick control (analog speed + smoother turning)
- Add ultrasonic obstacle avoidance
- Add per-wheel independent control for diagonal/mecanum-style movement
This project is licensed under the MIT License.