An open API service indexing awesome lists of open source software.

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

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.

![image alt](https://github.com/grzelkaw/RC-Car/blob/main/screenshots/4.jpg?raw=true)

# 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.

![image alt](https://github.com/grzelkaw/RC-Car/blob/main/screenshots/1.jpg?raw=true)

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.

![image alt](https://github.com/grzelkaw/RC-Car/blob/main/screenshots/2.jpg?raw=true)

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.

![image alt](https://github.com/grzelkaw/RC-Car/blob/main/screenshots/3.jpg?raw=true)

# Circuit diagram

Car

![image alt](https://github.com/grzelkaw/RC-Car/blob/main/screenshots/5.png?raw=true)

Controller

![image alt](https://github.com/grzelkaw/RC-Car/blob/main/screenshots/6.png?raw=true)

# Code

Programm was written in Arduino IDE. I used OV7670 camera library made by X to handle camera functionality.

Car



TODO CODE DESCRIPTION

Controller



TODO CODE DESCRIPTION

# Summary

TODO summary


Made by Wiktor Grzelka