Hi.
We hope you’re doing well.
We’ve just updated our “ESP32-CAM Projects” eBook (January 7, 2023) to version 1.3 and it’s now available to all customers of previous versions.
Here’s how you can download the updated eBook:
- Login here: https://rntlab.com/courses
- Click the Courses tab and select the “Build ESP32-CAM Projects”
- Press the yellow button “DOWNLOAD EBOOK VERSION 1.3 »”
What’s new?
If you’re currently having issues with some of the projects, know that we’ve updated many of the sketches due to an update of the ESP32 core and other libraries.
Here’s a detailed description of what we’ve changed in each unit for version 1.3 of the eBook:
MODULE 1: Getting Started
- Unit 1: the latest version of Arduino IDE is version 2. However, we still recommend using the legacy version with the ESP32.
- Unit 2: we added more information about another ESP32 camera board, the Freenove Wrover ESP32 Camera board.
- Unit 3 :CameraWebServer example — the face recognition feature no longer works with the ESP32-CAM. The latest version of the example only works with ESP32 S3 boards. This is due to an updated on the ESP32 core for the Arduino IDE.
- Unit 4: we added some more details to the troubleshooting guide.
MODULE 2: Take Photos: Time-lapse, Camera Settings, Web Servers, SD Card Manager
- Unit 5: with the new updates of the ESP32 core, when you get a frame buffer with fb_get(), it saves four different pictures in the buffer. So, when you try to get a new picture, it will return the next picture on the buffer that is four pictures old. How we resolve this issue:
- set config.grab_mode = CAMERA_GRAB_LATEST; to show the latest picture in the buffer
- set config.fb_count = 1; to get only one picture in the buffer – with this workaround it will display a picture that is one picture old.
- to solve this issue, we added the following when taking a picture—basically getting the latest picture, clearing the buffer, and taking a new picture again. This ensures we always get the latest picture in the buffer:
// Take a photo with the camera
fb = esp_camera_fb_get();
esp_camera_fb_return(fb); // dispose the buffered image
fb = NULL; // reset to capture errors
// Get fresh image
Serial.println("Taking a photo...");
fb = esp_camera_fb_get();
if (!fb) {
Serial.println("Camera capture failed");
return;
}
- Unit 6:
- Same issues with the frame buffer as with the previous unit.
- Now, we need to explicitly add “/” to all file paths when refering to files on the microSD card.
MODULE 3 – Take photos and Send Notifications
- Unit 1:
- The ESP MAil Client library can now be installed using the Arduino Library Manager.
- The library now uses LittleFS as a standard filesystem. We changed the code to use LittleFS filesystem.
- There was an issue related to a library update when it comes to the timestamp—it’s fixed now.
- We added the fix of previous units to prevent sending old pictures in the frame buffer.
- Unit 2:
- We modified the code to use LittleFS as it is now the standard filesystem used by the ESP Mail Client Library.
- The same issue related to the timestamp as in the previous unit it’s now fixed.
- We added a snippet to discard the first three pictures that come with a green tint after a restart of the board.
- Unit 4:
- We modified the code to use LittleFS as it is now the standard filesystem used by the ESP Mail Client Library.
- The same issue related to the timestamp as in the previous unit it’s now fixed.
- Fix to the code to send the most recent picture.
- Unit 5:
- We modified the code to fix the buffered images, so it sends the most recent picture.
- Unit 6:
- We fixed the issue related to the multiple pictures in the frame buffer.
MODULE 4 – Video Streaming, Pan and Tilt, Car Robot
- Unit 3:
- We added a more detailed description of Node-RED integration.
- Unit 5:
- You need to use ESP32Servo Library version 0.4.2. More recent versions crash the camera video streaming.
- Unit 6:
- We updated the instructions for the Node-RED instalation and added more information about Node-RED.
- We added more information about ngrok software.
- We updated ngrok printscreens.
MODULE 5 – Face Detection and Face Recognition
- Unit 2:
- We modified the code to use LittleFS instead of SPIFFS.
- We fixed the issue related to the multiple pictures in the frame buffer.
EXTRA UNITS
- Access Point:
- We updated the code to use the latest CameraWebServer example.
- Static IP address:
- We updated the code to use the latest CameraWebServer example.
APPENDIX
- We added the pin definition for Freenove ESP32-Wrover CAM Board.
Thanks for your support.
Rui Santos and Sara Santos
P.S. If you need help following the eBook, please post your question in our Forum: https://rntlab.com/ask-question/