Introduction: ESP32-CAM FPV Arduino Wifi Control Tank With WebApp Controller_p1_introduction

About: Self-esteem, Self-confident, Self-motivate and other Self-....

Hi, I'm Tony Phạm. Currently, I'm a Vietnamese STEAM teacher and also a hobbyist. Sorry in advance about my English. I did write an instruction to make an Arduino Bluetooth Controlled Tank before but it is in Vietnamese.
Reference link:

P1. ARDUINO BLUETOOTH TANK [Control Tank Tread Only]


This ESP32-CAM FPV Arduino Wifi Control Tank project is an upgraded version of the previous project with more features.

This project is suitable for those who have experience in Arduino programming or for newbies who want to learn Arduino through an interesting project. I will update detailed instructions about each part of the project, including: planning, equipment selection, programming, app interface design, making tank chassis through a series of upcoming articles. This article I will use to introduce the capabilities of the tank and the valuable references I have found. These documents will help you save a lot of time to learn, avoid unnecessary trouble, and then focus more on product development.

Step 1: Project Introduction

You can see the key features summarized in the image above. But I will also explain that you can easily visualize the difference between this tank and other shared tank projects.

The biggest difference is the completion in the functions of the product. This tank has the full features of a device that is remotely controlled via Wifi at the first perspective:

1. Video Stream + Capture Photo: This vehicle has the ability to stream video and capture images via mobile application. The video is streamed at VGA(640x480) resolution, the quality is quite good for remote monitoring and controlling the vehicle. It also has ability to take pictures with pretty good color, maximum resolution of UXGA(1600x1200)

2. SD Card Storage: Taken pictures will be stored on an SD memory card for later review. The app does not have ability to save video during recording, but I will spend time to upgrade this feature in the near future.

3. Camera Adjust: Nearly all camera's properties of this tank can be easily adjusted like fine-tuning the camera's properties of a mobile phone, including: resolution, image quality, brightness, white balance, contrast...

4. Flexible Moving: Inherited from the previous tank project, this tank has the ability to move flexibly, most likely controlling a vehicle in reality through the joystick. You can also adjust the maximum speed to familiarize yourself with the controller through the speed lever on the control application. Control information is transmitted almost in realtime to the vehicle via Websocket method.

5. Wide Range [according to my opinion]: In the condition of using the built-in antenna, receiving a broadcast signal directly from a mobile phone (a Hotpot), the vehicle can be controlled within 30 meters stably. .

6. Stable: The vehicle and the application operate in a very stable way. During the time connected to the phone to control, it rarely happens to hang or lag, or lose the signal due to the controller chip overheating.

7. Friendly UI: The control interface is also designed to be easy to operate but still ensure a lot of features.

Step 2: Notes & Credits

Without the projects below for reference, my learning curve and making this product would be a lot steeper. Sincere thanks to:

1 . Rui Santos with "$7 ESP32-CAM with OV2640 Camera" and "ESP32-CAM Take Photo and Save to MicroSD Card" and "ESP32-CAM Troubleshooting Guide: Most Common Problems Fixed"

2. with "ESP32-CAM RC Car with Camera and Mobile Phone Controller"

(actually I can not use Websocket to stream the video, but i refer how he connects electronic parts)

3. Mudassar Tamboli with "ESP32+OV7670 — WebSocket Video Camera"

4. Brian Lough with "ESP32 Camera programmed using Arduino"

5. JEAN-LUC AUFRANC (CNXSOFT) with "Transform Your ESP8266 Board into a USB to Serial Board Easily with Arduino Serial Bypass Sketch"

6. technoreview85 with "How to program ESP-32 cam using Arduino UNO board"

and Special thanks to:

7. Pilotgeek with "DIY 3D Printed WiFi Camera Rover based on ESP32 Arduino - The Scout32"

8. Pepe The Frog with "ESP32CAM on tracked vehicle around the house"

who show me videos that really inspire me to do this project.

Step 3: List of Topics in the Project

In the following articles, I will write instruction which are directly related to this project:

  1. Experience in project planning
  2. Developing ESP32 Arduino Projects with Arduino IDE and Visual Studio (include ESP32-CAM, PlatformIO)
  3. Control OV2640 camera that goes along with ESP32-CAM Module
  4. PWM on ESP32 and its application
  5. How to run an arduino car by joystick
  6. Design and program a simple Web Application
  7. Control ESP32 through Web App via HTTP & WebSocket
  8. ESP32-CAM, some problems we will face
  9. Chassis designing & making (DIY vs Laser cutting vs 3D printing)
  10. ....

I hope you find this article useful! Be sure to following the next article and also like, vote or share this project with your friends! Leave a comment down below if you have any questions or suggestions.