Hey, what's up, Guys! Akarsh here from CETech.
In today's project, we are going to make a Digital Action Camera of our own with a Capacitive Touchscreen on it. We made a similar DIY camera using the ESP32 Cam a few projects back but there was no touchscreen on that module. You can check that project from here and its Video description from here.
We will be using an ESP32 Cam touchscreen module from MakersFab which is based on theESP32 wrover module. We will also use it for playing some fun games and at the end, we will make a Screenshot receiver as well. We also have with us an A9G module and a SIM808 module from Makerfabs but we will make something with them in the future. Though I have made a project using the A9G module in the past you can check that out from here and its video description from here.
This is going to be fun. So let's get started.
Get PCBs for Your Projects Manufactured
PCBGOGO, established in 2015, offers turnkey PCB assembly services, including PCB manufacturing, PCB assembly, components sourcing, functional testing, and IC programming.
Its manufacturing bases are equipped with the most advanced production equipment such as YAMAHA pick and place machine, Reflow oven, Wave soldering Machine, X-RAY, AOI testing machine; and the most professional technical personnel.
Though it’s only five years old, their factories have experience in the PCB industry for over 10 years in Chinese markets. It is a leading specialist in surface-mount, thru-hole, and mixed technology PCB assembly and electronic manufacturing services as well as turnkey PCB assembly.
PCBGOGO provides the order service from prototype to mass production, join them now.
About ESP32 Touch Cam Module
The ESP32 Touch Cam Module is a beautiful 3.5” touchscreen display, based on ESP32-WROVER, with a built-in 2M pixel OV2640 camera, which makes it an excellent platform for ESP32 projects. It is a pretty sleek and good looking module that can be used in several different display based projects. It comes up with a built-in micro SD card slot because an SD card is required for Image Capturing and Streaming purposes. It has an onboard CP2102 programmer and other display and Capacitive connectors on the backside.
It has ILI9488 as the 3.5” 320x480 TFT LCD driver which uses SPI for communication with ESP32. The SPI main clock could be up to 60M~80M, which makes the display smooth enough for videos. The camera OV2640 with pixel 2M can make applications such as remote photography, face recognition, etc. The module also has GPIO pins which we can use with the breakout connectors to connect the ESP32 display with sensors/actuators. The ESP32 TFT Touch support Arduino or MicroPython programming. The module we are using here has a Capacitive Touch, you can also get the module with resistive touch as well.
Coming to some more components on the module we have an NS2009 touch screen controller which is a 4-wire screen controller with an I2C interface. Apart from that, we have an FS6232 Two way MP motherboard Clock Generator IC which generates all clocks required for single and two-way multiprocessor platforms. Some important specifications of this module are as given below:-
3.5 inch display, 320x480;
2M pixel OV2640 Camera
WIFI/ BLE Connection.
Onboard USB2UART convertor for ESP32 programming
Onboard SD card socket
USB connector Type-C
ESP32 Camera Build
Here we will use the ESP32 Touch Cam module from Makerfabs to build a DIY Digital Camera. For that, we do not need to do any extra connections. we just need to connect the module to our PC, and uploading the code will make it ready to use. For building the camera we need to follow some simple steps given below:-
First of all, connect the Touchscreen Camera module to your PC using a USB type C cable. After that head over to the Github repository of the project from here.
In the Github repository, you will see a folder named Touch Camera. You simply need to download the folder and when the folder gets downloaded. You need to open the Camera_v2.ino file. It is the Arduino Code for the project you need to upload on the module.
When the code opens in the Arduino IDE. You need to head over to Tools and select the correct board which is the "ESP32 Wrover module". After that, we need to select the correct Partition Scheme which is the "Huge APP(3MB No OTA)". As this is done, you need to select the correct COM Port and hit the upload button.
As the code gets uploaded, you will see that the screen will become completely white and as the code gets uploaded the screen will start displaying whatever will be in front of the camera. You will see "Streaming" written on the bottom left corner of the screen and on the right side of the screen you will see 3 options which are "Take Photo", "Last Photo" and "Start Streaming". Take photo button will click a photo and save that in the SD Card. The Last Photo option will display the last photo which was clicked and the start streaming option will start streaming. In this way, you can click photos and also stream camera data over Wifi as well. So in this way, you will have a digital camera built by yourself. Now let's try some other applications of this module as well.
Screenshot Receiver using ESP32 Touch Cam module
In the last step, we built a digital camera using the Touch Cam module now in this step we will try another interesting application of the ESP32 Touch Cam module which is the Screenshot Receiver. What a Screenshot Receiver does is that it captures data from the screen of your PC sends it over Wi-Fi to the ESP32 module and displays the same data on your module's display. So to build that we need to follow the steps given below:-
Connect the ESP32 module with the PC and head over to the Github repository of the project from here.
After opening the file, you need to enter your Wi-fi Credentials in the code. When you are done with that, you can select the correct Com Port and hit the upload button.
As the code gets uploaded, you will be greeted with a message saying "Wi-fi begin" and below that, you will see an IP Address which is the local IP Address of the device.
Once you have that IP address, you need to head over to the repository again. There you will see a ScreenShot Sender application. You need to open that application and enter the IP Address you obtained on the module display and hit the connect button.
Once the module gets connected you will see a Square box on your display and whatever on your screen would be covered by the box will also become visible on the module display as well. You can move that box on your PC screen and the contents on the module's display will change simultaneously as well. All this Screenshot data transmission happens over Wifi and there is no wired connection between the module and the PC meant for the transmission. So in this way, we built a Screenshot Receiver and tested it as well.
Other Applications of the ESP32 Touch Cam
So in this way, we got to know about the ESP32 Touch Camera module from Makerfabs. It is very compact and good for use in certain projects. We made two such projects as well which were the Wifi-based Screenshot receiver and the ESP32 Digital camera as well but the possibilities of making projects from these are endless. One example I can give you is ESP32 based gaming.
You can upload code for classic games such as 2048, Flappy birds, etc., and play them very easily using this. You can also use it as a touch-based drawing pad as well on which you can draw with the help of your fingertips. The code for these above mentioned applications can be obtained from the Github repository of this project. You can get to the repository from here.
So this was about the ESP32 Touch Cam module from Makerfabs and its applications. You can attach sensors/ actuators with it and make something of your own.
Hope you liked the project. Looking forward to seeing you next time.