Esp32

Why OTA for ESP32 Is Still Too Hard — and What I'm Building to Fix It

Over-the-air (OTA) firmware updates are critical for modern embedded devices, but implementing a secure, automated OTA system on the ESP32 is still more complex than it should be. In this post, I break down the current state of OTA for ESP32, common pain points with existing solutions, and why I’m building an open-source, developer-friendly OTA update system with CI/CD support, firmware signing, and a lightweight OTA agent.

Read more 4 min read

Task Synchronization with FreeRTOS Event Groups on ESP32 (ESP-WROVER-KIT Example)

FreeRTOS event groups provide an efficient way to synchronize tasks based on multiple conditions using binary flags. In this post, we explore how to use event groups on the ESP-WROVER-KIT with ESP-IDF. Through a practical example involving sensor and network initialization, we demonstrate how event bits can signal system readiness to a processing task. This approach enables clean, scalable task coordination in real-time embedded applications using the ESP32.

Read more 4 min read

Using FreeRTOS Mutex with ESP-WROVER-KIT for Resource Protection

FreeRTOS mutexes are essential for managing shared resources in embedded systems, ensuring that only one task accesses a resource at a time. In this post, we explore how mutexes work in FreeRTOS and demonstrate their use on the ESP-WROVER-KIT by protecting UART output shared between two tasks. This practical example shows how to prevent race conditions and output conflicts, while highlighting the importance of mutual exclusion in real-time applications on the ESP32 platform.

Read more 4 min read

Understanding FreeRTOS Semaphores with ESP-WROVER-KIT

FreeRTOS semaphores are powerful synchronization tools that help manage task coordination and shared resource access in real-time embedded systems. In this post, we explore how binary semaphores work in FreeRTOS and demonstrate their use with the ESP-WROVER-KIT by creating a simple application that synchronizes sensor data collection and UART transmission. Whether you're dealing with task-to-task signaling or interrupt-driven events, semaphores are essential for building stable and responsive applications on the ESP32 platform.

Read more 6 min read

Understanding FreeRTOS Queues with ESP-WROVER-KIT

FreeRTOS is a lightweight real-time operating system widely used in embedded systems. One of its core features is Queues, which enable inter-task communication and synchronization. In this post, we’ll explore FreeRTOS Queues from the ground up and demonstrate how to use them effectively on the ESP-WROVER-KIT, a powerful ESP32-based development board.

Read more 7 min read

Getting Started with FreeRTOS Tasks Using the ESP-WROVER-KIT

In this blog post, we explore the fundamental concept of tasks in FreeRTOS and how to implement them using the ESP-WROVER-KIT. With practical examples and in-depth explanations, you'll learn how to structure multitasking embedded applications, manage task priorities, and ensure real-time performance with FreeRTOS.

Read more 5 min read

Building a Wi-Fi Network Scanner with ESP32 and ESP-IDF

Learn how to create a Wi-Fi network scanner using the ESP32 microcontroller and ESP-IDF framework. This step-by-step guide walks you through coding a program to scan nearby Wi-Fi networks, logging details like SSIDs, signal strength, and encryption types to the Serial Monitor. Perfect for IoT enthusiasts and embedded developers!

Read more 7 min read

Ultimate Guide to ESP32 Development with ESP-IDF, Docker, and Docker Compose

Developing for the ESP32 microcontroller using the ESP-IDF framework is powerful but can be complex due to setup challenges. Docker and Docker Compose simplify this by providing consistent, reproducible environments with USB passthrough for flashing and monitoring. In this comprehensive guide, we’ll walk through setting up an ESP32 development environment using ESP-IDF with both Docker and Docker Compose, covering every step in detail to ensure a seamless IoT development experience.

Read more 6 min read

10 Exciting ESP32 Wrover Kit Projects with Additional Hardware

Unleash the full potential of your ESP32 Wrover Kit with these 10 innovative projects that incorporate additional hardware. From smart home hubs to retro gaming consoles, explore how sensors, displays, and modules can transform your kit into powerful IoT and embedded systems, perfect for hobbyists and makers.

Read more 4 min read

Exploring IoT with ESP32 Wrover Kit: 10 Projects Without Extra Hardware

Discover the power of the ESP32 Wrover Kit with these 10 creative IoT projects that require no additional hardware. From Wi-Fi scanners to Bluetooth emulators, learn how to harness the kit’s built-in Wi-Fi, Bluetooth, and processing capabilities for fun and practical applications, perfect for beginners and hobbyists alike.

Read more 4 min read

ESP32 UART with ESP-IDF

The ESP32’s Universal Asynchronous Receiver Transmitter (UART) is a powerful feature for serial communication in IoT and embedded projects. In this blog post, we explore how to effectively use UART with the ESP32 using the ESP-IDF framework. We’ll cover the ESP32’s UART hardware, delve into the ESP-IDF APIs for controlling UART modules, and provide step-by-step guidance on configuring and implementing UART communication. Whether you’re interfacing with sensors, debugging, or building complex systems, this guide will equip you with the knowledge to harness the ESP32’s UART capabilities for seamless and reliable data exchange.

Read more 6 min read

Controlling ESP32 GPIOs with micropython

The ESP32’s General Purpose Input/Output (GPIO) pins are essential for interfacing with sensors, actuators, and other peripherals in embedded projects. In this blog post, we explore how to control ESP32 GPIOs using MicroPython. You’ll learn how to configure pins as inputs or outputs, set or clear output pins, and read digital input states. With clear examples and step-by-step instructions, this guide makes it easy to harness the power of MicroPython for GPIO control, enabling you to build interactive and responsive projects with the ESP32, whether you’re a beginner or an experienced developer.

Read more 4 min read