ESP32S3 Camera Mastery Course

ESP32S3 Camera Mastery Course cover

Hi,
I'm Simone from Italy, author of the ESP32S3 Camera Mastery Course and owner of the eloquentarduino.com blog.

This course is the updated version of my original book Mastering the ESP32 camera, which got much more interest than I could have anticipated. This is why I spent months working on this new revision: you reader and the whole Arduino/ESP32 community deserve better tools to work with the fantastic piece of hardware that is the ESP32 camera.

If there would have existed top quality, advanced content on this topic on the internet, I wouldn't have sold a single copy of the book. Instead, I sold +100 copies (not that much, but more than I anticipated). It means there's lack of resources online: the intent of this course is to fill this gap.

What's inside?

This book covers a few topics. Some are very basic:

  1. take your first picture in a sane way
  2. real time video stream
  3. save pictures to SD card with structure
  4. motion detection without PIR
  5. Telegram notifications

Others can be considered more advanced:

  1. face detection
  2. image classification using Edge Impulse
  3. object detection using Edge Impulse

The first chapters work on the old generation of ESP32 chip (e.g. AiThinker board), while the latest ones that require machine learning (face/object detection) only run (or run better) on the new ESP32S3 chip. 

I strongly recommend you upgrade if you can, because the S3 chip is a lot faster and has a lot more RAM that its predecessor. A couple boards I can recommend because I have them:

  1. Seeed XIAO Sense: tiny and pretty cheap, it gets hot really quick though
  2. Freenove Cam Board S3: good price point, may be available even on Amazon in your country. Pay attention that it is the S3 version (the one with 2 USB ports!), since they also have a non-S3 version

A note about the coding style

This course is articulated in short chapters, each for each topic.

Even though they don't follow any particular order (apart from the first chapter that shows how to take your first picture), I would recommend to read it in order. The first chapters cover the most frequent use cases and show the basics, which you can later integrate into more advanced projects to get a complete working project.

The code examples make heavy use of a few C++ features:

Here's an example snippet showing the above points.

using namespace eloq;

// object orientation with method chaining
if (!camera.capture().isOk()) {
    Serial.println(camera.exception.toString());
    return;
}

// namespacing: 'face' is the namespace, 'detection' is the object
if (!face::detection.run().isOk()) {
    Serial.println(face::detection.exception.toString());
    return;
}

// lambda functions
fomo.forEach([](int i, bbox_t bbox) {
    Serial.printf("Detected object #%d\n", i + 1);
});
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Hardware requirements

Only an ESP32 camera board is required. We will not use any external sensor nor hardware. Supported boards are:

Software requirements

To follow the sketches in the book you will need:

If you cannot find version 2.x.x of EloquentEsp32Cam from the Arduino Library Manager, you can install it from Github.

  1. visit https://github.com/eloquentarduino/EloquentEsp32cam/tree/2
  2. download library as zip
  3. extract the zip inside your Arduino libraries folder
  4. if the folder is named EloquentEsp32Cam-master, delete the -master part

eloquentesp32cam-github.png 446.16 KB

Free sample limitations

If this is the free sample of the course, you will have access to the first handful chapters only. To unlock all the chapters, consider buying the full course at https://eloquentarduino.lemonsqueezy.com/checkout/buy/e7995ef6-f001-4208-8080-d5365a35a14e

Subscribe to my newsletter

Join 1721 businesses and hobbysts skyrocketing their Arduino + ESP32 skills twice a month