Introduction: ESP32 Based Ip Video Surveillance

This is an example how to use an Ili9342 based touchscreen and ESP32 to show live pictures of an IP camera on the screen. This can be used for example for video surveillance, video door bells and similar applications.

Step 1: Materials



  • Arduino IDE

Step 2: Hardware Monitor

I've used our AZ-Touch MOD kit for ESP32 as hardware plattform. This kit comes with a 2.4 or 2.8 inch tft touchscreen. The demo will work with both screen sizes, but of course it makes more sense to use the bigger 2.8 inch screen in this application.

Step 3: Camera

This example was written for the ESP32-CAM camera. Please install the CameraWebServer example on the ESP32-cam which comes with the Arduino IDE.

It's important to choose "ESP Wrover Module" as board and "Huge APP ..." as partition scheme.

The software of the monitor can be used with other IP cameras too if these cameras can provide a JPG picture via http in QVGA (320 x 240) or VGA (640 x 480) size. Probably some small changes especially in the host address configuration are needed in this case.

Step 4: Libraries

Install the following libraries through Arduino Library Manager:

You can also download the library also directly as ZIP file and uncompress the folder under yourarduinosketchfolder/libraries/ After installing the libraries, restart the Arduino IDE.

Step 5: TFT_eSPI Setup

I've prepared a User setup files for the TFT_eSPI library especially for AZ-Touch and ESP32

Please replace the original User_Setup.h file in your ...\Arduino\libraries\TFT_eSPI\ folder

Step 6: Firmware of Monitor

You will find the firmware for the ESP32 based monitor here:

Download the ZIP and open it in the Arduino IDE

Step 7: Settings

Open the file settings.h in the Arduino IDE and enter your WiFi SSID & password in the fields in the WiFi section:

const char* ssid = "your ssid";

const char* password = "your password";

Furthermore you have to change the host ip address to the ip address of your camera.

const char* host = "";