ThatProject: A Collection of Open Source Examples to Explore ESP32

ThatProject is essentially an open-source repository that consolidates many practical projects, tutorials, source codes, and videos related to ESP32/ESP32-S3, ESP8266, and more, created by the author (Eric Nam). Unlike a single library or toolchain, it serves as a “case-driven” learning resource library. You will find complete demos, accompanying source codes, and instructional videos, allowing you to follow along step by step to get it running.

ThatProject: A Collection of Open Source Examples to Explore ESP32

What Pain Points Does It Address?

  • • Difficulty in Getting Started: Provides a wealth of “ready-to-run” complete examples, reducing repetitive trial and error.
  • • Too Much Fragmented Information: Organizes videos, source codes, and examples in one place, saving time spent searching on YouTube/forums.
  • • Complexity of Hardware Interaction: Covers common peripheral integration and communication scenarios, from camera capture and audio recording to practical applications with LoRa/GPS/cellular modules.
  • • High Barrier for UI/Application Development: Examples using LVGL + SquareLine show how to create beautiful interactions on MCUs.
  • • Comprehensive Solutions for OTA, Cloud, MQTT, etc.: Not just simple demos, but also accompanying server-side or mobile implementations (Flutter, Flask, AWS tutorials, etc.).
  • ThatProject: A Collection of Open Source Examples to Explore ESP32

Target Audience

  • • Students who want to learn ESP32/ESP32-S3/ESP8266;
  • • Entrepreneurs/project developers looking to connect hardware to mobile/cloud;
  • • Hardware engineers needing to quickly create POCs (Proof of Concepts);
  • • Enthusiasts interested in researching modules like LVGL, audio capture, cameras, LoRa, UWB, etc.

Installation and Usage (Quick Guide) Below is a general process that many examples follow—just follow along.

  1. 1. Prepare Hardware
  • • An ESP32 or ESP32-S3 board (such as TTGO, AI-Thinker camera board, etc.), with peripherals prepared according to demo requirements (camera modules OV2640/OV5640, INMP441 microphone, SIM7600G module, LoRa module, etc.).
  • 2. Environment Setup
    • • It is recommended to use PlatformIO or ESP-IDF (the project includes examples in both styles), with some using Arduino IDE.
    • • Install necessary drivers (USB serial), Python, and Git.
  • 3. Obtain Source Code
    • • git clone https://github.com/0015/ThatProject
    • • Each demo in the project README has links to source code and videos; navigate to the corresponding subdirectory as needed.
  • 4. Open Example and Compile
    • • PlatformIO: Open the corresponding example folder and run pio run / pio run -t upload directly.
    • • ESP-IDF: idf.py set-target esp32 && idf.py build && idf.py flash.
  • 5. Configure Parameters
    • • Many examples will have constants for WiFi, MQTT, API keys, SIM card configurations, etc., in the code; modify them with your own information.
  • 6. Run and Debug
    • • Use serial tools to view logs (minicom, screen, PlatformIO serial monitor), and follow the author’s steps in the video to debug step by step.
  • 7. Deepen and Expand
    • • If you want to create a UI, refer to the LVGL + SquareLine examples to modify the interface; if you want to connect to the cloud, follow the short tutorials for Firebase/AWS.
    • ThatProject: A Collection of Open Source Examples to Explore ESP32

    Key Example Overview

    Function/Module Example Description Suitable For
    Camera (ESP32CAM / OV2640/OV5640) Camera streaming, taking photos, uploading images to servers or other devices Surveillance, Baby Monitor, Image Capture
    INMP441 Microphone Audio sampling, saving WAV, creating sound level meters, Speech-to-Text integration Voice Capture, Acoustic Monitoring
    LoRa + GPS LoRa transmission of GPS data displayed on a map Long-distance positioning reporting, sensor networks
    LVGL + SquareLine GUI and animation examples on MCU Dashboards, Touch Interfaces, Interactive Prototypes
    Custom OTA Python Flask + OTA server + ESP32 client Batch upgrades, internal network upgrade solutions
    Flutter / MQTT / AWS Mobile App interaction with ESP32, MQTT multi-device management Mobile Control, Cloud Monitoring

    Advantages

    • • Comprehensive examples covering everything from hardware to cloud and mobile;
    • • Video tutorials make it easier to get started;
    • • Many practical tips and optimizations (e.g., JPEG processing, LVGL optimization, etc.);
    • • Community-friendly, based on Apache 2.0 license, facilitating secondary development.

    Disadvantages / Points to Note

    • • There is a lot of documentation, but not every example has detailed step-by-step instructions; you may need to refer to videos for additional information;
    • • Strong hardware dependencies; some modules require specific boards or peripherals, and replicating demos may require corresponding components;
    • • Mixed coding styles (Arduino / ESP-IDF / PlatformIO), beginners may need to choose a toolchain first;
    • • Some examples are tailored to the author’s personal devices and accounts (Google Fi, certain services), replacing them with your own configurations may require extra work.

    ConclusionThatProject is more like a “plug-and-play” practical manual, not just a simple library, but a wealth of project templates that can be run directly. If you want to learn, create, or quickly validate ideas, this repository can save you a lot of time. The only thing you need to prepare is the patience to go through the hardware and configurations—some examples require you to set up devices and modify parameters yourself. Overall, it is highly recommended for those who want to explore the potential of ESP32.

    Project Address: https://github.com/0015/ThatProject

    Leave a Comment