Main Content

Remote control and Video Monitoring with ESP32 for Robot

Remote control and Camera view of Robot per net or internet on your Smartphone or PC

The basic idea was to build a control module that can also enable image streaming. This should be a universal module that can easily replace already used modules. My current projects are building a remote control for car robots and RobotArm. The solution can allow swapping a Bluetooth model without having to change anything in the current software. The module was originally developed to control robots, but without any restrictions it can be used to control any other module. You’ll be able to control the robot using a web server that displays a video streaming of what the robot “sees”. You can control your robot remotely even if it’s out of your sight or even if the web server can only be reached via the internet. That doesn’t bother function robot at all.

The principle is shown in the picture below. A mobile device communicates with the Arduino either via Bluetooth or via Wi-Fi. However, communication via Wi-Fi has the advantage that, in addition to the command, we also have a picture of the surroundings.

Wi-Fi is most common protocols that mobile devices have. Next we will build a project to make a mobile devices interact with ESP32 board over Wi-Fi. I will show how you can use different computers, which are responsible for controlling the wheels and for streaming and object or face detection. The simplest Arduino is responsible for motor functions. ESP32 regulates image streaming and image recognition. It can also generate controls for driving in “follow mode”, which will be explained in another project.

About ESP32

The ESP32-CAM is a very small camera module that costs about 10 US dollars and is therefore comparable in price to the HC 05 Bluetooth module.

The ESP32-CAM is not a module but an independent ESP32 board with an integrated camera and SD card module. With the camera you can take pictures, record videos or even set up a live stream that can be accessed via the web browser. It is perfect for a low-budget surveillance camera. For good results with video streaming, I recommend using an ESP32-CAM with external antenna.

Besides the OV2640 camera, ESP has several GPIOs for connecting peripherals, which can be useful. In principle, you could build really good controlled robots with the module without using too many other components. Unfortunately, some pins can only be used to a limited extent, others should always be left unconnected. Such a construction without good “know how” would suffer from many problems. That’s why I decided to use the ESP module only for communication and video streaming.

The Application can be extended to a versatile and general purpose Remote control.

The upload

The ESP32-CAM board is delivered without an ISP programmer (i.e. without a USB connection), so it is necessary to use a USB/UART converter to program the module. An FTDI converter with a USB Mini-B connector is the easiest way to program the ESP32-CAM board and used here. And best of all: You can easily program it with your Arduino IDE - just like your Arduino boards. However, you have to make a few preparations for this.

VCC and GND pin of ESP32 is connected with the VCC and GND pin of the FTDI board.

Tx of and Rx of ESP32 is connected with Rx and Tx of the FTDI board.

Note: For programming, GND must be connected to GPIO0 on the board (e.g. with a jumper). This bridging is then removed again after programming. Before each programming, the reset button (on the bottom of the board) of the board must also be pressed that is used to reset the program uploaded from the software.”

Link to article