ESP-BIST brings IEC 60730 Class B self-test coverage to Espressif SoCs, and this article walks through what that actually means before putting it to work. Using an ESP32-P4-based M5Stack Tab5 as a Modbus HMI for a simulated motor controller, we show how a SoC that can prove its own health is a chip you can trust to draw a “safe” screen without lying about it.
ESP32 Bit Pirate turns an ESP32-S3 into a scriptable multi-protocol workbench with more than twenty modes, a web and serial CLI, and dump and sniff tooling. This article walks through the firmware and the two open-hardware companions that extend it: a carrier dock with selectable 1.8 V, 3.3 V and 5 V level translation, and an ESP32-C5 adapter that adds a dual-band radio.
esp32pin.com is a free interactive pinout reference for the ESP32 family. Every pin carries its real-world constraints, the data is generated from Espressif’s official KiCad libraries and cross-validated against the esp-gpio-tool dataset, and new dev boards can be proposed right in the browser.
ESP RainMaker Neo is a new implementation of ESP RainMaker in which the entire device-to-cloud-to-app stack, including the cloud backend, is open source under the Apache License 2.0. This article explains what Neo is, why we rebuilt RainMaker on native AWS IoT services, what open source means in practice for your product, and how Neo relates to ESP RainMaker Classic.
This article explains what a PWM signal is, and how to generate PWM signal using the ledc peripheral on Espressif devices. It covers the LEDC timer and channel configuration, and shows how to convert a PWM signal into a clean DC value using an RC filter, including the tradeoffs between ripple and response speed.
esparagus is an ESP32-family flasher written in Rust — a behavioral port of esptool’s protocol, sync, reset, and stub-loader paths, wrapped in an observability layer built for programs rather than humans: NDJSON events, a machine-readable report file, stable exit codes, and an expect-style serial monitor with built-in crash detection. This article explains why that layer exists, how the flash-test-fix feedback loop works, and the three ways to integrate it — direct CLI, an Agent Skill, and an MCP server.
This article introduces Velxio, an open-source, browser-based embedded simulator that runs real ESP32 firmware on emulated hardware. It explains how the simulator works under the hood, demonstrates LED, Wi-Fi, MQTT, and sensor based projects, and highlights support for multiple boards across the ESP32 family.
ESP-GMF v1.0 is the first official release of Espressif’s General Multimedia Framework, a lightweight, unified framework for building audio, video, and AI multimedia applications on Espressif chips. This post introduces the release, walks through what is new for each component area, and lists the full v1.0 component set.
Aliro brings mobile access credentials to Espressif devices and is compatible with Matter. We are excited to announce esp-aliro, an SDK that enables support for the Aliro standardized protocol on Espressif SoCs.
This article shows how to create a simple environmental logger using the DHT20 sensor and store the data on a little_fs filesystem on the module’s flash memory.
This article shows how to build a physical OpenCode companion with ESP-VoCat. The device displays session status and permission prompts, then sends one-button approval or rejection decisions over BLE UART.
Start from an esp-bsp dev kit, customize pins and features in a web form, and download a production-style BSP component for your custom PCB - same APIs, less manual work.
NuttX Web Panel is a self-hosted web interface for NuttX that provides system information, a browser-based NSH terminal, and file management. Combined with Python, it turns NuttX into a computing platform where interpreted applications can be developed and tested without recompiling code.
AES67/RAVENNA is the audio transport behind a lot of broadcast and live-sound infrastructure, and it normally runs on dedicated silicon or Linux boxes. This article is about getting a working, PTP-synchronized AES67 endpoint onto an ESP32-P4 — how the clock sync, the low-latency receive path, and the I2S playout fit together, what the measured latency is, and where the edges are.
A set of ESP-IDF components that run the Rust smoltcp stack as the IPv4/IPv6 data plane, while keeping esp_http_server, esp-tls and esp-mqtt working without source changes. This article explains the linker –wrap shim that makes it compatible, the single-task poll architecture, the throughput I measured on an ESP32-P4 (91.15 Mbit/s on a 100 Mbit link), and the limitations to be aware of.
Still on improving our AI-based, embedded software workflow, this article applies the same AI-agent discipline to Zephyr. Using the same ESP Dualkey kit from M5Stack, specs, integration rules, plan→execute→commit→test, reusable modules, journals, and Git - without redefining the product.
esp_trace is a new ESP-IDF component that splits application-level tracing into pluggable encoders and transports, so adding a new trace library no longer means patching the kernel. This post gives a high-level tour and walks through the example that demonstrates the integration.
Inkplate is a family of all-in-one, open-source e-paper development boards built around the ESP32. This article introduces the Inkplate lineup, covers the hardware, the Arduino and MicroPython libraries, and the kinds of projects you can build, explaining why ESP32 makes e-paper development accessible for everyone.
This article explains what Wi-Fi provisioning is, introduces the network_provisioning component, and walks through a complete SoftAP-based provisioning example using the ESP SoftAP Prov app.
In this article, we will set up ESP-WHO on the ESP32-S3-EYE board, running a face recognition example, and extending it with custom detection callbacks.
A first-person account of building an ESP32-C5 Arduino temperature indicator with AI assistance, from generated code and confusing errors to serial debugging, wiring issues, and the moment the LED finally changed color.
FOFOCA is an open-source reference design for an AI-governed household robot, built around a Raspberry Pi 5 brain, an ESP32 for real-time motor control and sensor polling, and an ESP32-C3 driving an OLED status display over MQTT. This article walks through the hardware architecture, the firmware running on each Espressif chip, and how all of it connects to a local edge AI server running NVIDIA Nemotron Nano 8B for inference — no cloud dependency required.
A look at the Espressif Installation Manager (EIM) integration in the ESP-IDF Extension for VS Code, and a roundup of all major improvements across v1.10.x, v1.11.x, v2.0.2, and v2.1.0.
This article introduces the redesigned ESP-Brookesia v0.7 architecture, from Utils, HAL, and General Service to AI Agent and AI Expression. It explains how these modules fit together and highlights two examples that help you quickly understand how to build AIoT interaction products on top of the framework.
ESP-IDF v6.0 introduces the Tools local MCP server, a feature that lets AI clients like Cursor and Claude Code control your projects – setting targets, building, flashing, and checking status. This article explains how it works and walks you through setup step by step.
When an ESP-IDF project uses ExternalProject_Add(), compiler options driven by Kconfig and components do not flow into the nested build on their own. This post walks through why that happens and how to keep the outer and inner CMake worlds aligned.
AI assistants are most effective on ESP32 Rust firmware when you supply clear specs, pinned crates, reference implementations (often ESP-IDF C), and a tight verify loop. The article discusses good practices, pitfalls, discipline, and entropy. A brief explanation about the device is also included, along with the repository and all artifacts.
Connecting an ESP32 to a cloud platform usually means HTTP libraries, JSON parsers, and TLS handshakes. This tutorial shows a different approach: a single UDP datagram, built with snprintf, carrying structured sensor data in about 130 bytes. The TagoTiP open specification makes it possible by defining the data structure so you don’t have to.
This article presents two C++ ESP32 components: wifi_manager for seamless network connection and Deep Sleep for power-saving operation, both easily integrated using provided code examples. It also lists additional ESP-IDF components to streamline development.