https://github.com/grzelkaw/rc-car
ESP32 remote control car
https://github.com/grzelkaw/rc-car
arduino esp32 ov7670 rc-car tft-display
Last synced: 2 months ago
JSON representation
ESP32 remote control car
- Host: GitHub
- URL: https://github.com/grzelkaw/rc-car
- Owner: grzelkaw
- Created: 2025-02-19T16:18:35.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-02-19T17:26:26.000Z (2 months ago)
- Last Synced: 2025-02-19T17:28:06.076Z (2 months ago)
- Topics: arduino, esp32, ov7670, rc-car, tft-display
- Homepage:
- Size: 852 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RC-Car
Remote Control car using two ESP32 microcontrollers. First ESP32 is used to handle car. Second ESP32 is used as controller. Communication between both board is via Wi-Fi.
# Video
https://github.com/user-attachments/assets/4ee33a63-3ffc-428a-b1c8-18ce5ec3e331# Components
Car
- ESP32 DEV MODULE
- 4 DC MOTORS
- SG90 servomotor
- OV7670 camera
- L293D H Bridge
- 4.7Ω resistors
Controller
- ESP32 DEV MODULE
- TFT 2.4″ OLED screen
- Analog Joystick
- 2 Tact Switches
# Car
Chassis
Whole body of car is made from LEGO Technic bricks. In center there is empty space for powerbank which works as power supply.
DC Motors are mounted via zip tie to LEGO bricks.
Steering system is also made from LEGO and is controlled by SG90 servomotor.
Most of the parts are taken from LEGO 42035 set.
Power supply
In center of car is laying 10000mAh power bank with two USB-A outputs.
Both USB ports can give up to 2A, but for 3.5A MAX on total.
First USB port is used only to power 4 DC MOTORS and SG90 servomechanism.
Second USB port is used directly to power ESP32 board. Then ESP32 provides 3.3V output to power everyother component like camera.
Electronics
Car's microcontroller is connected to the same Wi-Fi network as controller's microcontroller.
ESP32 send signals received from second ESP32 to H Bridge to controll DC MOTORS.
If we set PIN X as high and PIN X as low then car will go forward, otherwise will go backwards.
PIN X sends PWM signal to H Bridge to controll speed of the motors.
PIN X sends PWM signal to controll servomotor enabling turning right or left.
OV7670 camera sends video to local HTML page via Wi-Fi.# Controller
Case
Base of controller is basicly two connected small breadboards.
Power supply
ESP32 is powered by micro-USB cable. Then board is powering every component so screen and analog joystick.
Electronics
Microcontroller' joystick is connected to PIN X for vertical signal and PIN X for horizontal signal.
Vertical movement sends PWM signal to change speed of DC Motors.
Horizontal movement sends PWM signal to change servomotor position allowing to turn wheels.
Tact Switch buttons are connected with internal pull-up resisotrs with PIN X and PIN X.
PIN X button send signal to move the car forward and PIN X button sends signal to move the card backwards.
ESP32 receive video signal from HTML page and then displays image on TFT screen.
# Circuit diagram
Car

Controller

# Code
Programm was written in Arduino IDE. I used OV7670 camera library made by X to handle camera functionality.
Car
TODO CODE DESCRIPTIONController
TODO CODE DESCRIPTION# Summary
TODO summary
Made by Wiktor Grzelka