esp32-workbench-gpio

Controls Pi GPIO pins via HTTP API to switch the Bootrom mode of the 5G CPE.

161|53|Updated Jan 28, 2026
One-click install
npx skills add https://github.com/SensorsIot/Universal-ESP32-Workbench --skill esp32-workbench-gpio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: esp32-workbench-gpio
Source: https://github.com/SensorsIot/Universal-ESP32-Workbench/tree/main/.claude/skills/esp32-workbench-gpio
Command: npx skills add https://github.com/SensorsIot/Universal-ESP32-Workbench --skill esp32-workbench-gpio

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provide precise and repeatable GPIO-driven control over ESP32 boot modes and button-like actions from a Raspberry Pi workbench, enabling automated testing and prototyping of ESP32 devices.

Core Features & Use Cases

  • GPIO-based control: drive Pi GPIO pins to simulate reset, boot, and user button interactions on the ESP32 under test.
  • Boot-mode orchestration: coordinate EN and BOOT signals to enter download mode or normal boot for flashing or testing.
  • HTTP API endpoints: POST /api/gpio/set to drive a pin low/high and GET /api/gpio/status to read current states for scripted workflows.

Quick Start

To start, send a POST to http://<pi>:8080/api/gpio/set with {"pin":18,"value":0} to hold BOOT low, then toggle EN (pin 17) LOW to reset and release BOOT HIGH to exit download mode.

Frequently Asked Questions about esp32-workbench-gpio

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control ESP32 boot mode and reset pins from a Raspberry Pi over HTTP?

To control ESP32 boot mode and reset from a Raspberry Pi, send an HTTP POST request to the /api/gpio/set endpoint with a JSON payload specifying the BCM pin number and desired high or low value, driving the connected EN and BOOT pins for automated boot sequences.

Can I automate ESP32 download mode entry using Raspberry Pi GPIO?

Yes, you can automate ESP32 download mode entry using Raspberry Pi GPIO by holding the BOOT pin low and toggling the EN pin low to reset, then releasing BOOT high to exit download mode for flashing workflows.

What is GPIO-based ESP32 boot orchestration and when is it needed?

GPIO-based ESP32 boot orchestration is the process of coordinating EN and BOOT signals to enter download mode or normal boot, needed during automated ESP32 bring-up, development, and testing workflows requiring repeatable boot sequences.

Does this GPIO control method require specific wiring between the Raspberry Pi and ESP32?

Yes, this GPIO control method requires wiring Raspberry Pi BCM pins to the ESP32 EN and BOOT pins to enable reliable reset and download-mode entry for automated testing and prototyping.

How do I check the current status of Raspberry Pi GPIO pins used for ESP32 control?

To check the current status of Raspberry Pi GPIO pins used for ESP32 control, send an HTTP GET request to the /api/gpio/status endpoint, which returns the current high or low state of the pins for scripted workflows.

What is the best way to script ESP32 reset and flashing operations from a Raspberry Pi?

The best way to script ESP32 reset and flashing operations from a Raspberry Pi is to use HTTP API endpoints like POST /api/gpio/set to manipulate BCM pins, coordinating EN and BOOT signals for predictable boot sequences in automated testing.