this project is a wifi controller rc car build using esp32-cam for main chasis and esp32 for controller instead of using traditional remote, i make my own custom controller using esp32, joystick and screenn
the esp32 of controller and esp32-cam are connected via wifi and send signals like:
joystick -> controller [esp32] -> esp32 cam -> move / stop motor camera -> esp32cam -> controller -> show on screengt; show on screenn
##BOM
| Component | Purpose | Quantity | Total Cost (USD) | Link | Distributor |
|---|---|---|---|---|---|
| 3S Battery Holder | Holds 3×18650 cells in series (≈11.1V for motors + system) | 1 | 0.30 | https://robocraze.com/products/18650-3-cell-holder-charger-without-cover | Robocraze |
| 2S Battery Holder | Holds 2×18650 cells for controller power | 1 | 0.37 | https://robocraze.com/products/18650-2-cell-holder | Robocraze |
| Buck Converter (LM2596) | Steps down ~11.1V to 5V/3.3V for ESP32 boards | 2 | 1.20 | https://robocraze.com/products/lm2596-dc-dc-buck-module | Robocraze |
| 18650 3.7V Battery Cells | Power source (3 for car, 2 for controller) | 5 | 7.60 | https://robocraze.com/products/18650-2200mah-3-7v-battery-cylinder-type-blue | Robocraze |
| ESP32-CAM | Main car controller + camera streaming | 1 | 6.00 | https://robokits.co.in/wireless-solutions/iot-esp-module/esp32-cam-development-board-wifi-bluetooth-with-ov2640-camera-module | Robokits |
| TB6612FNG Motor Driver | Controls direction and speed of DC motors | 1 | 1.70 | https://robocraze.com/products/tb6612fng-dual-dc-motor-driver | Robocraze |
| DC Motors (12V, ~1000RPM) | Drive wheels for movement | 4 | 7.54 | https://robu.in/product/1000rpm-12v-low-noise-dc-motor-with-metal-gears-grade-a/ | Robu |
The basic plan for comunication between the controller and cas is as follows:
-
read input from joystick esp32 [controller]
-
send the command over wifi to ep32cam [chasis]
-
esp32 cam will send the execute the command and send command to motor driver and its move the car
-
esp32 cam will capture video
-
send over wifi to esp32 [controller] and then showed on screen
the controller have following compoents:
- esp32
- dual joystick
- tft screen
The car is designed using the following components:
- ESP32-CAM
- Motor driver
- 4 DC motors
- Battery system
- motor driver connected to esp32-cam
- buck converter used to decrease the voltage for esp32
- capacitor reduce motor noice
- runs HTTP server
- receives commands
- controls motors
- captures image
- read joystick input
- converts them into commands
- send over wifi
- reduced design from 3 boards to 2 boards [in start my idea was to use 3 boards 2 for chasis so that esp32-cam send signal to car esp32 then controller esp32]
- fixed motor noice using capactors
- learned esp32 wifi comunication
- learned how screen and esp32-cam works
- Upload
car.cppto ESP32-CAM - Upload
controller.cppto ESP32 - Connect both to same WiFi
- Update IP in controller
- Power both
- Use joystick