esp32 with camera and tft display free sample

This module is the 3.2” version of the ESP32 touchscreen display, based on ESP32-WROVER, with a built-in 2M pixel OV2640 camera. The LCD is 320x240 TFT, with driver is ILI9341, it uses SPI for communication with ESP32, the SPI main clock could be up to 60M~80M, make the display smooth enough for videos; and the camera OV2640 with pixel 2M, with this camera, you can make applications such as remote photography, face recognition…

While the camera not used, you can freely use all these pins with the breakout connectors, to connect the ESP32 display with sensors/ actuators, suitable for IoT applications.

esp32 with camera and tft display free sample

A while ago, I decided to try out the examplebut found it broken. A lot of library dependencies were missing. It turns out that Espressif had overhauled theiresp-facerepo intoesp-dl, and focused more on the more expensive ESP-EYE.You can find instructions in the original repo orthis articleof how to train your own TinyML model onEdge Impulse. After download the deployed Arduino library, change the imported library name in my script.

I copied the necessary files and made it work. But it is still not an elegant solution; you have to view the image in a browser, on a computer connected to the same (stable) WiFi. And you need to refresh the page (send a new request) in order to get a new photo.

At first it was not successful, since most examples useTJpg_Decoderand it use a lot of memory, causing the ESP32-CAM crash then reboot. Then I found out that there"s an function from the ESP32 library to convert JPEG into RGB565 (which is the format used by the Adafruit driver). I can even scale the image to 1/2 side size (= 1/4) so it fit the ST7735S 160x128 or 128x128 displays nicely. Everything works and problem solved.

You can find some more details about wiring, the training data (Kaggle Cats and Dogs Dataset) and the model (MobileNetV1 96x96 0.25 with transfer learning) on my repo. There"s also a copy of my model library and a boilerplate version (without using button and TFT).

The train accuracy is 89.8% and test accuracy is 86.97% on Edge Impulse. Captured image is 240x240 (resized to 120x120 on TFT and 96x96 for the model). Model inference (predict) time on ESP32-CAM is 2607 ms (2.6 secs). It"s not fast, but the setup is so cheap I think this can actually be useful as real world applications...?

esp32 with camera and tft display free sample

This is an example how to use an Ili9342 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.

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.

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.

esp32 with camera and tft display free sample

Probably because of to low voltage under upload, you have to use 5 volt not 3.3 volt on your ftdi uploader. I made the same error and got same result as you did. After setting ftdi to 5 volt it worked fine.

I have updated the arduino IDE to 1.8.9 and ESP32 boards as per instructions, but cant find the problem. If you have any ideas I really appriecate it.

Hi Dan, yes I took Sara’s advice and selected the correct camera module in the code but commenting out the ones that don’t apply. I did also find reducing the upload speed made things more stable. I think my programmer is not the best.

Hi Dan, did you found the solution. I also purchase two units with different brand with same issue. (the first one have successed before but when retry to reupload the issue came).

Try all suggestions here by changing board selection, changging cable, changging programmer device, changging pins selection, try with different PC and all have same problem.

Any update on card sizes??? Brand name 4 GB cards are special order. When I find 4GB they are almost as expensive as 16/32GB sizes. Ebay takes forever anymore, and then you don’t know what you are getting. No name brand on Ali Express or Banggood.

Any way you know of to see the video stream or stills via a TFT display on another ESP through web browser or otherwise? I’ve used ESPNow between ESP12’s or 32’s for display of thermal cam images but they’re much smaller. Avoids need for phone or laptop tied up….

2. When I put it manually through extracting the zip file and moved it to my Arduino libraries folder, then compile the code, I got “no headers files (.h) found” error

Alternatively, if you have the latest updated ESP32 add-on, you should have the code in your examples. Go to File > Examples > ESP32 > Camera and open the CameraWebServer example.

I was looking for something like this for my recent project, Thanks! Great tutorial! But I think ESP32-CAM is “unofficial” combination of ESP32 with a camera. I think Espressif themselves released a dedicated “official” ESP32+camera board called ESP-EYE with their own “official” software library called ESP-WHO.

Have not tried that board myself. Can you make a tutorial on that as well since that is the “official” hardware and software and would have longer support from Espressif itself.

We haven’t fully tested the ESP-EYE yet. We’ve played with the example firmware that they provide and we made a blog post about it that you can read here: https://makeradvisor.com/esp-eye-new-esp32-based-board/

Try to check the cable, connections, power source … etc. If you can, try to measure the voltage that goes directly to the pins on the ESP32CAM board. It should be the closest to 5 Volt.

Thanks, it will be of great help, recently I was able to integrate my esp32 cam into an MQTT client library, every face detected a publisher is sent to the broker

Rolling back to the 1.01 core and using the example program belonging to that core, will ‘fix’ it (currently that is the program that Sara and Rui have on their Github

I’ve selected AI Thinker in the code and reduced the upload to 115200. Anyone have some insights? I have a M5Stack Camera which works pretty well with the code but these two are dead.

Hi! good tutorial!, I need to put the upload speed 115200 and the flash frequency in 40Mhz to avoid a Guru Meditation Error: Core 0 panic’ed (InstrFetchProhibited) error if someone have the same problem