ESP32-S3 N8R8 vs N16R8: 8MB vs 16MB Flash Explained
ESP32-S3 N8R8 vs N16R8: both have 8 MB PSRAM; N8R8 has 8 MB flash and N16R8 has 16 MB. Includes correct QIO/OPI Arduino and PlatformIO settings.
STMPE610 Resistive Touch Controller Explained

This example shows how to read touch coordinates from an STMPE610 resistive touch controller using I²C or SPI. The sketch detects touch events, reads X/Y/Z pressure data, and prints everything to Serial for debugging and calibration. The STMPE610 is a…
PCF8574 LED Control with ESP32 (I²C GPIO Expander)

This example shows how to control 8 LEDs using the PCF8574 I²C GPIO expander with an ESP32. The sketch cycles through each LED by sinking current through the expander pins, demonstrating how the PCF8574 works and why wiring matters. The…
Adafruit nRF8001 BLE Callback Echo Example

This example shows how to use the Adafruit nRF8001 Bluetooth Low Energy breakout in callback mode. The sketch starts advertising, reports connection events over Serial, receives incoming BLE UART data, prints it, and immediately echoes the same data back to…
GC9A01A Round Display Adafruit Example

This example is the classic Adafruit graphics demo for the GC9A01A round TFT display. It initializes the display over SPI, runs several drawing benchmarks, prints the timing results to Serial, and then keeps rotating a text demo so you can…
ESP32 BLE Client Example Explained

This ESP32 BLE client example shows how to scan for a BLE server, find a specific service and characteristic by UUID, connect to the device, read data, subscribe to notifications, and write values back to the server. It is a…
ESP32 BLE5 Periodic Sync Example Explained (C3 & S3 Guide)

This example shows how to use BLE5 extended scanning on the ESP32-C3 and ESP32-S3 with the Bluedroid stack. It scans for extended advertisements, looks for a specific advertiser name, and then creates a periodic advertising sync so the ESP32 can…
ESP32-C3/S3 BLE5 Multi-Advertising Guide

Unlock advanced Bluetooth capabilities on your ESP32-C3 or S3. This article explains how to use the Bluedroid stack to run multiple, distinct BLE advertising sets simultaneously from a single chip, bridging the gap between legacy BLE 4.x compatibility and high-performance…
ESP32 BLE5 Extended Scan Guide

Summary : Learn how to implement BLE 5.0 Extended Scanning on the ESP32-C3 and ESP32-S3. This guide breaks down the C++ Bluedroid code required to detect both legacy BLE 4.x and modern BLE 5 extended advertising packets, giving you complete…