This article introduces Cirkit Designer’s simulation architecture for ESP32 and ESP32-S3: an instruction-accurate emulator built from scratch in Rust, compiled to WebAssembly, and connected to simulated hardware in the browser. We’ll look at how compiled firmware executes and how it interacts with simulated peripherals.
Espressif chips now run from the ESP8266 and ESP32 through the S, C, H, P, and E series, and the details live in many datasheets. The Chip Comparison Center puts one chip’s capabilities, side-by-side differences, requirement filters, application references, and matching development boards on a single page so you can choose a chip or a board faster.
The Arduino core v4.0 overhauls its Bluetooth libraries with modernized, safer codebases: the BLE library gains a unified API across NimBLE and Bluedroid with Bluetooth 5 enabled by default, while BluetoothSerial adds multi-peer support. Here is what changed and how to migrate from v3.3.12 to v4.0.0-RC1.
Post-quantum cryptographic algorithms are now standardized to protect connected devices against future quantum computing threats. This post introduces esp-pqc, a component that brings ML-KEM and ML-DSA to Espressif SoCs, and shows how to implement hybrid TLS 1.3 to safeguard network communication and Secure Boot V2 to verify firmware integrity, complete with real-world memory, flash, and performance benchmarks.
Team XLC – WYLDFYRE built two autonomous soccer robots around the ESP32-S3 and finished 11th of 24 at RoboCup Junior 2026 in Incheon. This article covers why we moved from an Arduino Mega to the ESP32-S3, how we read 48 analog line sensors through three multiplexers, how the whole robot runs from a millis-based scheduler inside loop(), and how ESP-NOW let two identical robots swap attacker and defender roles mid-match. It also covers what it cost us to use almost every usable pin on the chip, and the gate driver that destroyed several boards before we understood it.
This article introduces the ESP_Video library in the Arduino core for ESP32. It explains how the V4L2-style capture API works on MIPI-CSI and DVP camera interfaces, walks through hardware configuration and frame capture, and shows how to run the official examples on ESP32-P4 and ESP32-S3 boards.
This case study assesses device-to-cloud IoT implementation of products based on ESP32-C5 and ESP RainMaker against the EN 18031 security requirements for the EU market.
The CRA’s vulnerability reporting obligations start on 11 September 2026 and apply to products already on the market, including ones sold years ago. What Article 14 requires, which duties run to whom, how reporting works through the ENISA Single Reporting Platform, and where the Espressif platform layer fits.
The ESP DALI component implements an IEC 62386 master on the RMT peripheral, with support for commissioning, dimming, color control, sensors, and Matter-to-DALI bridges.
iOS 26 brings Wi-Fi Aware™ support on iPhone 12 and later, enabling compatible devices to securely discover, pair, and communicate directly. This requires no Access Point and does not affect iPhone’s network connectivity over Wi-Fi. This article walks through the steps to set up an ESP device and an iPhone so they can pair and connect using Wi-Fi Aware.
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.