{"id":94533,"date":"2021-05-02T11:06:00","date_gmt":"2021-05-02T11:06:00","guid":{"rendered":"https:\/\/randomnerdtutorials.com\/?p=94533"},"modified":"2025-04-26T16:23:16","modified_gmt":"2025-04-26T16:23:16","slug":"esp32-cam-projects-ebook","status":"publish","type":"post","link":"https:\/\/randomnerdtutorials.com\/esp32-cam-projects-ebook\/","title":{"rendered":"Build ESP32-CAM Projects using Arduino IDE eBook (2nd Edition)"},"content":{"rendered":"\n<center><h1>Build ESP32-CAM Projects<br>using Arduino IDE eBook (2nd Edition)<\/h1><\/center>\n\n\n\n<p class=\"has-text-align-center\">Build 20 projects with the ESP32-CAM using Arduino IDE: photo capture, web servers, email notifications, video streaming, car robot, pan and tilt server, face detection, face recognition and much more.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"#sign-up\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" width=\"370\" height=\"500\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/04\/Build-ESP32-CAM-Projects-2nd-Edition-eBook-500px.jpg?resize=370%2C500&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Build ESP32-CAM Projects 2nd Edition eBook cover\" class=\"wp-image-168999\" style=\"width:250px\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/04\/Build-ESP32-CAM-Projects-2nd-Edition-eBook-500px.jpg?w=370&amp;quality=100&amp;strip=all&amp;ssl=1 370w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/04\/Build-ESP32-CAM-Projects-2nd-Edition-eBook-500px.jpg?resize=222%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 222w\" sizes=\"(max-width: 370px) 100vw, 370px\" \/><\/a><\/figure><\/div>\n\n\n<p class=\"has-text-align-center\"><a class=\"button rntyellow\" href=\"#sign-up\">GET THE EBOOK \u00bb<\/a><\/p>\n\n\n\n<p class=\"has-text-align-center\">We&#8217;ve just released the 2nd Edition of our Build ESP32-CAM Projects eBook. To celebrate, we&#8217;re offering a special <em>29% discount<\/em>! Enroll now to take advantage of this offer (it ends when the timer below hits zero).<\/p>\n\n\n\t\t<div data-elementor-type=\"section\" data-elementor-id=\"83175\" class=\"elementor elementor-83175\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-de8771d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"de8771d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b331559\" data-id=\"b331559\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-71bb1c3 elementor-countdown--label-block elementor-widget elementor-widget-countdown\" data-id=\"71bb1c3\" data-element_type=\"widget\" data-widget_type=\"countdown.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-countdown-wrapper\" data-date=\"1751313600\">\n\t\t\t<div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-days\"><\/span> <span class=\"elementor-countdown-label\">Days<\/span><\/div><div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-hours\"><\/span> <span class=\"elementor-countdown-label\">Hours<\/span><\/div><div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-minutes\"><\/span> <span class=\"elementor-countdown-label\">Minutes<\/span><\/div><div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-seconds\"><\/span> <span class=\"elementor-countdown-label\">Seconds<\/span><\/div>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">What\u2019s Inside the eBook? <\/h2>\n\n\n\n<p>\u201c<strong>Build ESP32-CAM Projects<\/strong>\u201d is an eBook with 20 projects divided into 5 Modules and 400 pages long. The ESP32-CAM is a development board with an ESP32 chip, an OV2640 camera, microSD card slot and several GPIOs to connect peripherals.<\/p>\n\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"341\" height=\"300\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-300h.jpg?resize=341%2C300&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" class=\"wp-image-94565\" style=\"width:259px;height:auto\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-300h.jpg?w=341&amp;quality=100&amp;strip=all&amp;ssl=1 341w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-300h.jpg?resize=300%2C264&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 341px) 100vw, 341px\" \/><\/figure><\/div>\n\n\n<p><strong>Here\u2019s what you\u2019ll have access:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>eBook in PDF format (5 Modules, 400 pages, 20 Projects)<\/li>\n\n\n\n<li>Source Code + Full Schematics + Parts List + Pinout Diagrams<\/li>\n\n\n\n<li>Unlimited Free Updates (future projects will be added to the eBook)<\/li>\n\n\n\n<li>Access to a private Forum to ask questions<\/li>\n\n\n\n<li>Exclusive access to our Facebook group community<\/li>\n<\/ul>\n\n\n\n<p><strong>What you\u2019ll learn<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Take photos and save them on microSD card or SPIFFS;<\/li>\n\n\n\n<li>Build a web server to display and take photos;<\/li>\n\n\n\n<li>Send photos captured with the ESP32-CAM via email;<\/li>\n\n\n\n<li>Control and monitor ESP32-CAM using Telegram App;<\/li>\n\n\n\n<li>Create a video streaming web server;<\/li>\n\n\n\n<li>Run an IP cam connected to Home Assistant or Node-RED;<\/li>\n\n\n\n<li>Build a remote controlled car robot with camera;<\/li>\n\n\n\n<li>Control a pan and tilt stand to move your camera remotely;<\/li>\n\n\n\n<li>Face detection with face-api.js;<\/li>\n\n\n\n<li>Face recognition comparing two photos with face-api.js;<\/li>\n\n\n\n<li>And much more\u2026<\/li>\n<\/ul>\n\n\n\n<p><em>Continue reading for the complete Table of Contents&#8230;<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Module #1: Getting Started with ESP32-CAM<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"500\" height=\"281\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-1-1.jpg?resize=500%2C281&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP32-CAM Projects eBook Rui Santos Sara Santos Module 1\" class=\"wp-image-94545\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-1-1.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-1-1.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Getting Started with ESP32-CAM<\/li>\n\n\n\n<li>Preparing Arduino IDE for the ESP32-CAM<\/li>\n\n\n\n<li>Camera Web Server with Video Streaming<\/li>\n\n\n\n<li>Troubleshooting Most Common Problems<\/li>\n\n\n\n<li>ESP32-CAM Flashlight and External Pushbutton<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Module #2: Take Photos: Time-lapse, Camera Settings, Web Server, SD Card Manager<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"281\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-2-1.jpg?resize=500%2C281&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP32-CAM Projects eBook Rui Santos Sara Santos Module 2\" class=\"wp-image-94546\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-2-1.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-2-1.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Take Photos and Save to MicroSD Card (Time-lapse)<\/li>\n\n\n\n<li>Photo Filename with Date and Time Saved to MicroSD Card<\/li>\n\n\n\n<li>Change Camera Settings<\/li>\n\n\n\n<li>Take Photo and Save to MicroSD Card with Pushbutton<\/li>\n\n\n\n<li>Take Photo and Display in Web Server<\/li>\n\n\n\n<li>Web Server SD Card Photo Manager: Capture, View and Delete<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Module #3: Take Photos and Send Notifications<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"281\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-3-1.jpg?resize=500%2C281&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP32-CAM Projects eBook Rui Santos Sara Santos Module 3\" class=\"wp-image-94547\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-3-1.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-3-1.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Send Photos via Email using SMTP Server<\/li>\n\n\n\n<li>Motion Detector with Photo Capture and Email Notifications<\/li>\n\n\n\n<li>Take and Email Photo with a Web Server<\/li>\n\n\n\n<li>Take and Send Photo to Telegram App<\/li>\n\n\n\n<li>Motion Detector with Photo Capture and Telegram Notifications<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Module #4: Video Streaming, Pan and Tilt, Car Robot<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"281\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-4-1.jpg?resize=500%2C281&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP32-CAM Projects eBook Rui Santos Sara Santos Module 4\" class=\"wp-image-94548\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-4-1.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-4-1.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Video Streaming Web Server (Start and Stop Buttons)<\/li>\n\n\n\n<li>Video Streaming Web Server with Sensor Readings<\/li>\n\n\n\n<li>Video Streaming IP Camera<\/li>\n\n\n\n<li>Remote Controlled Car Robot with Camera (Web Server)<\/li>\n\n\n\n<li>Pan and Tilt Video Streaming (2 Axis)<\/li>\n\n\n\n<li>ESP32-CAM IP Camera: Raspberry Pi and Node-RED Dashboard<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Module #5: Face Detection and Face Recognition<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"281\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-5-1.jpg?resize=500%2C281&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP32-CAM Projects eBook Rui Santos Sara Santos Module 5\" class=\"wp-image-94549\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-5-1.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Projects-Module-5-1.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Face Detection Video Streaming (Age, Face Expression, etc)<\/li>\n\n\n\n<li>Face Recognition (Comparing Two Photos)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Extra Units<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ESP32-CAM Access Point (AP)<\/li>\n\n\n\n<li>ESP32-CAM Static\/Fixed IP Address<\/li>\n\n\n\n<li>Pinout for ESP32 Camera Boards<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Invitation to Join our Private Forum!<\/h2>\n\n\n\n<p>This eBook comes with an opportunity to join our private Forum of like-minded people where you can ask questions about the eBook or other related subjects. You&#8217;ll get direct help from Rui and Sara or from other active members of the community.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"599\" height=\"423\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/03\/forum-questions-and-answers.png?resize=599%2C423&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" class=\"wp-image-54929\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/03\/forum-questions-and-answers.png?w=599&amp;quality=100&amp;strip=all&amp;ssl=1 599w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2018\/03\/forum-questions-and-answers.png?resize=300%2C212&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 599px) 100vw, 599px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Recommended ESP32 Camera Board<\/h2>\n\n\n\n<p>This eBook is fully compatible with the ESP32-CAM AI-Thinker board or similar boards with the &#8220;ESP32-S&#8221; label\u2014it comes with an OV2640 camera, microSD card support, 4MB PSRAM and external GPIOs to connect peripherals &#8211; see figure below.<\/p>\n\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"341\" height=\"300\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-300h.jpg?resize=341%2C300&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" class=\"wp-image-94565\" style=\"width:266px;height:auto\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-300h.jpg?w=341&amp;quality=100&amp;strip=all&amp;ssl=1 341w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-300h.jpg?resize=300%2C264&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 341px) 100vw, 341px\" \/><\/figure><\/div>\n\n\n<p>Other ESP32 development boards with the OV2640 camera are compatible with some projects. We provide the pin assignment for the most common ESP32 camera dev boards: TTGO T-Journal, M5-Stack ESP32 camera, M5-Camera without PSRAM, TTGO T-Plus, ESP-EYE, etc&#8230;<\/p>\n\n\n\n<p>For example, projects that involve using the SD card are just compatible with boards that support microSD card. Projects that connect external peripherals are compatible with boards with exposed GPIOs.<\/p>\n\n\n\n<p>For projects that don\u2019t require a microSD card nor external peripherals, the M5-stack ESP32 camera with PSRAM is a great option.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Programming Language<\/h2>\n\n\n\n<p>The projects in this eBook cover programming the ESP32-CAM using Arduino IDE and the &#8220;<em>Arduino programming language<\/em>&#8220;. At the moment, the eBook <em>doesn\u2019t<\/em> cover programming the ESP32-CAM with MicroPython.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"362\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-arduino-ide-programming.jpg?resize=600%2C362&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" class=\"wp-image-94567\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-arduino-ide-programming.jpg?w=600&amp;quality=100&amp;strip=all&amp;ssl=1 600w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-arduino-ide-programming.jpg?resize=300%2C181&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading has-text-align-center\" id=\"sign-up\">Download the eBook<\/h2>\n\n\n\n<div class=\"wp-block-columns has-2-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list bulletnospace\">\n<li>Released April 16, 2025<\/li>\n\n\n\n<li>5 Modules (PDF eBook with 400 pages)<\/li>\n\n\n\n<li>Source Code<\/li>\n\n\n\n<li>Schematic Diagrams<\/li>\n\n\n\n<li>Parts List<\/li>\n\n\n\n<li>Unlimited Updates<\/li>\n\n\n\n<li>Exclusive access to a Private Forum<\/li>\n\n\n\n<li>Access to our Facebook group<\/li>\n\n\n\n<li>English language<\/li>\n\n\n\n<li>Created by Rui Santos and Sara Santos<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/rntlab.com\/checkout\/?add-to-cart=64539\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"370\" height=\"500\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/04\/Build-ESP32-CAM-Projects-2nd-Edition-eBook-500px.jpg?resize=370%2C500&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Build ESP32-CAM Projects 2nd Edition eBook cover\" class=\"wp-image-168999\" style=\"width:250px;height:auto\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/04\/Build-ESP32-CAM-Projects-2nd-Edition-eBook-500px.jpg?w=370&amp;quality=100&amp;strip=all&amp;ssl=1 370w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/04\/Build-ESP32-CAM-Projects-2nd-Edition-eBook-500px.jpg?resize=222%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 222w\" sizes=\"(max-width: 370px) 100vw, 370px\" \/><\/a><\/figure><\/div><\/div>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><a class=\"button rntyellow\" href=\"https:\/\/rntlab.com\/checkout\/?add-to-cart=64539\">GET THE EBOOK | <strike>$35<\/strike> $25 USD \u00bb<\/a><\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong><a href=\"https:\/\/rntlab.com\/checkout\/?add-to-cart=64539\">Click here to get the eBook | <strike>$35<\/strike> $25 USD<\/a><\/strong><\/p>\n\n\n\n<p class=\"has-text-align-center\">We&#8217;ve just released the 2nd Edition of our Build ESP32-CAM Projects eBook. To celebrate, we&#8217;re offering a special <em>29% discount<\/em>! Enroll now to take advantage of this offer (it ends when the timer below hits zero).<\/p>\n\n\n\t\t<div data-elementor-type=\"section\" data-elementor-id=\"83175\" class=\"elementor elementor-83175\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-de8771d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"de8771d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b331559\" data-id=\"b331559\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-71bb1c3 elementor-countdown--label-block elementor-widget elementor-widget-countdown\" data-id=\"71bb1c3\" data-element_type=\"widget\" data-widget_type=\"countdown.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-countdown-wrapper\" data-date=\"1751313600\">\n\t\t\t<div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-days\"><\/span> <span class=\"elementor-countdown-label\">Days<\/span><\/div><div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-hours\"><\/span> <span class=\"elementor-countdown-label\">Hours<\/span><\/div><div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-minutes\"><\/span> <span class=\"elementor-countdown-label\">Minutes<\/span><\/div><div class=\"elementor-countdown-item\"><span class=\"elementor-countdown-digits elementor-countdown-seconds\"><\/span> <span class=\"elementor-countdown-label\">Seconds<\/span><\/div>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\n\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p><strong>Note:<\/strong>&nbsp;after your purchase,&nbsp;you receive an email with a username and password that you use to access the members area and download the PDF eBook.<\/p>\n\n\n\n<p>Have questions?&nbsp;Email me at <a href=\"https:\/\/randomnerdtutorials.com\/support\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/randomnerdtutorials.com\/support<\/a>&nbsp;anytime for any reason.<\/p>\n\n\n\n<p>You won\u2019t regret it. My 60 day money back guarantee backs up every word in this message. Proceed with confidence.&nbsp;See you inside,<\/p>\n\n\n\n<p>-Rui Santos<\/p>\n\n\n\t\t<div data-elementor-type=\"section\" data-elementor-id=\"81987\" class=\"elementor elementor-81987\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8061b91 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8061b91\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-6e373e8\" data-id=\"6e373e8\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d02f327 elementor-widget elementor-widget-image\" data-id=\"d02f327\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"134\" height=\"133\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2019\/03\/money-back-logo.png?resize=134%2C133&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-thumbnail size-thumbnail wp-image-81988\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2019\/03\/money-back-logo.png?w=134&amp;quality=100&amp;strip=all&amp;ssl=1 134w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2019\/03\/money-back-logo.png?resize=80%2C80&amp;quality=100&amp;strip=all&amp;ssl=1 80w\" sizes=\"(max-width: 134px) 100vw, 134px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-a11ade3\" data-id=\"a11ade3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-77abfc0 elementor-widget elementor-widget-heading\" data-id=\"77abfc0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Backed by a 60 day 100% money-back guarantee<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e08d4e6 elementor-widget elementor-widget-text-editor\" data-id=\"e08d4e6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If you don\u2019t like the course, I don\u2019t want your money. Seriously, that\u2019s why I offer a 60 days money back guarantee. <a href=\"https:\/\/randomnerdtutorials.com\/support\" target=\"_blank\" rel=\"noopener\">Email me here<\/a> and I will promptly refund all your money. No questions, no hassles \u2013 it\u2019s that simple.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Frequently Asked Questions<\/h2>\n\n\n\t\t<div data-elementor-type=\"section\" data-elementor-id=\"94626\" class=\"elementor elementor-94626\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-640e627d elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"640e627d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-397e2ded\" data-id=\"397e2ded\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3aadb368 elementor-widget elementor-widget-toggle\" data-id=\"3aadb368\" data-element_type=\"widget\" data-widget_type=\"toggle.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-toggle\">\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-9841\" class=\"elementor-tab-title\" data-tab=\"1\" role=\"button\" aria-controls=\"elementor-tab-content-9841\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">I\u2019m not familiar with the ESP32. Can I follow along?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-9841\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"region\" aria-labelledby=\"elementor-tab-title-9841\"><p><strong>Yes.<\/strong> All projects contain step by step instructions and all the resources to follow along even if you\u2019re not familiar with the ESP32.<\/p><p>However, keep in mind that this eBook doesn\u2019t cover basic concepts related to ESP32 &#8211; so if you\u2019re new to programming you might not be able to fully understand the code. To learn ESP32, you might consider enrolling in <a href=\"https:\/\/randomnerdtutorials.com\/learn-esp32-with-arduino-ide\/\">Learn ESP32 with Arduino IDE course<\/a> instead.<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-9842\" class=\"elementor-tab-title\" data-tab=\"2\" role=\"button\" aria-controls=\"elementor-tab-content-9842\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">I have a different ESP32 Camera development board. Can I follow along?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-9842\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"region\" aria-labelledby=\"elementor-tab-title-9842\"><p><strong>Yes.<\/strong> However, depending on the board you\u2019re using, you won\u2019t be able to follow some of the projects.<\/p><p>For example, projects that use the microSD card are not compatible with boards that don\u2019t have microSD card support. Projects that use peripherals are just compatible with boards that have exposed GPIOs.<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-9843\" class=\"elementor-tab-title\" data-tab=\"3\" role=\"button\" aria-controls=\"elementor-tab-content-9843\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Do I get free future updates?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-9843\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"region\" aria-labelledby=\"elementor-tab-title-9843\"><p>Yes, I often update all my eBooks, so everyone who purchases gets free lifetime updates. You\u2019ll also have access to future content that we\u2019ll add to the eBook.<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-9844\" class=\"elementor-tab-title\" data-tab=\"4\" role=\"button\" aria-controls=\"elementor-tab-content-9844\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">What if I don\u2019t like it?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-9844\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"4\" role=\"region\" aria-labelledby=\"elementor-tab-title-9844\"><p>Well, if you don\u2019t like it, I don\u2019t want your money. Seriously, that\u2019s why I offer a 60 days money back guarantee.\u00a0<a href=\"https:\/\/randomnerdtutorials.com\/support\" target=\"_blank\" rel=\"noopener noreferrer\">Email me here<\/a>\u00a0and I will promptly refund all your money. No questions, no hassles \u2013 it\u2019s that simple!<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-9845\" class=\"elementor-tab-title\" data-tab=\"5\" role=\"button\" aria-controls=\"elementor-tab-content-9845\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Have a question?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-9845\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"5\" role=\"region\" aria-labelledby=\"elementor-tab-title-9845\"><p>If you still have questions after reading this page please\u00a0<a href=\"https:\/\/randomnerdtutorials.com\/support\" target=\"_blank\" rel=\"noopener noreferrer\">email me here<\/a>. I\u2019ll do my best to answer your questions.<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-9846\" class=\"elementor-tab-title\" data-tab=\"6\" role=\"button\" aria-controls=\"elementor-tab-content-9846\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-right\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">What language is used in the eBook?<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-9846\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"6\" role=\"region\" aria-labelledby=\"elementor-tab-title-9846\"><p>The eBook is only available in English language.<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Meet the Authors<\/h2>\n\n\n\t\t<div data-elementor-type=\"section\" data-elementor-id=\"94636\" class=\"elementor elementor-94636\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-195d4c23 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"195d4c23\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2fa21719\" data-id=\"2fa21719\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7507f28b elementor-widget elementor-widget-testimonial\" data-id=\"7507f28b\" data-element_type=\"widget\" data-widget_type=\"testimonial.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial-wrapper\">\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-testimonial-meta elementor-has-image elementor-testimonial-image-position-aside\">\n\t\t\t\t<div class=\"elementor-testimonial-meta-inner\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-image\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"267\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2019\/03\/M_Photo_Rui_Santos-1.jpg?fit=300%2C267&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-full size-full wp-image-83199\" alt=\"\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-details\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-name\">Rui Santos<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-job\">RandomNerdTutorials.com<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2883e9a elementor-widget elementor-widget-text-editor\" data-id=\"2883e9a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Hey there, <strong>I\u2019m Rui Santos<\/strong>, founder of the Random Nerd Tutorials blog. For the last couple of months we\u2019ve been working on this new eBook dedicated to programming the ESP32-CAM boards with Arduino IDE. This eBook is our complete guide to take the most out of the ESP32 Camera development boards. If you like my work, you&#8217;ll certainly like &#8220;Build ESP32-CAM Projects&#8221; eBook.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\n\n\n\t\t<div data-elementor-type=\"section\" data-elementor-id=\"94639\" class=\"elementor elementor-94639\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2254c17d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2254c17d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5de2916b\" data-id=\"5de2916b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-36eb99db elementor-widget elementor-widget-testimonial\" data-id=\"36eb99db\" data-element_type=\"widget\" data-widget_type=\"testimonial.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial-wrapper\">\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-testimonial-meta elementor-has-image elementor-testimonial-image-position-aside\">\n\t\t\t\t<div class=\"elementor-testimonial-meta-inner\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-image\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"497\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/Sara-photo-7.jpg?fit=500%2C497&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-full size-full wp-image-94638\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/Sara-photo-7.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/Sara-photo-7.jpg?resize=300%2C298&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/Sara-photo-7.jpg?resize=150%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 150w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-details\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-name\">Sara Santos<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-job\">RandomNerdTutorials.com<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54ef7b46 elementor-widget elementor-widget-text-editor\" data-id=\"54ef7b46\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Hi. <b>I\u2019m Sara Santos<\/b> and I work at the RNT blog with Rui. We\u2019ve created the \u201cBuild ESP32-CAM Projects\u201d eBook to provide an easy way to get started with this amazing ESP32-CAM board. This board allows you to build complex projects with real world applications. By the end of this eBook, you&#8217;ll be able to make your own video streaming servers, robots, surveillance systems, and much more. I&#8217;m sure you&#8217;ll like it.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">See what others are saying<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Thank you Rui for everything you\u2019ve done for ESP8266 projecteers. You and your site have been my \u201cgo-to\u201d for a few years whenever I need advice or some detail of a component.<\/p>\n\n\n\n<p><strong>DWilliams<\/strong><\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>I have been doing your courses on ESP8266, ESP32, and Home automation, and they are really excellent. It seems that you have taken lots of efforts to make and explain even very difficult topics in a very simple and easy to understand way. Congratulations for your valuable work.<\/p>\n\n\n\n<p><strong>Dattatraya Apte<\/strong><\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>This is one of the best sites on the net, period. I recently purchased your course (Learn ESP32 with Arduino IDE) and I can&#8217;t say enough about it. It simply let me bypass hours of aggravation. Clear instruction and great example code. Thanks again.<\/p>\n\n\n\n<p><strong>Jay W.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Hello Sir. You are such an inspiring person. I really appreciate the effort you put into your projects. Because of RNT I have successfully built my first DHT11 circuit with my new ESP32 and I am very proud of it.<\/p>\n\n\n\n<p><strong>Bhavish Dussoye<\/strong><\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Hi, I love your eBooks and courses &#8211; everything has worked perfectly. I have lots of new ideas. Thanks!<\/p>\n\n\n\n<p><strong>John Benson<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"has-text-align-center\"><strong>AS SEEN ON&#8230;<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"120\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2015\/11\/FEATURED-LOGOS.png?resize=800%2C120&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"FEATURED LOGOS\" class=\"wp-image-13911\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2015\/11\/FEATURED-LOGOS.png?w=800&amp;quality=100&amp;strip=all&amp;ssl=1 800w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2015\/11\/FEATURED-LOGOS.png?resize=300%2C45&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Build ESP32-CAM Projectsusing Arduino IDE eBook (2nd Edition) Build 20 projects with the ESP32-CAM using Arduino IDE: photo capture, web servers, email notifications, video streaming, car robot, pan and tilt &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Build ESP32-CAM Projects using Arduino IDE eBook (2nd Edition)\" class=\"read-more button\" href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-projects-ebook\/#more-94533\" aria-label=\"Read more about Build ESP32-CAM Projects using Arduino IDE eBook (2nd Edition)\">CONTINUE READING \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":169000,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[266,224,242,314],"tags":[],"class_list":["post-94533","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-no-ads","category-premium","category-premium-project","category-product"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/04\/Build-ESP32-CAM-Projects-2nd-Edition-eBook-featured-image.jpg?fit=1920%2C1080&quality=100&strip=all&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/94533","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/comments?post=94533"}],"version-history":[{"count":16,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/94533\/revisions"}],"predecessor-version":[{"id":169443,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/94533\/revisions\/169443"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media\/169000"}],"wp:attachment":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media?parent=94533"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/categories?post=94533"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/tags?post=94533"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}