Built-in packages
ESP32
The ESP32 board package — its pins, what each can do, and its firmware.
The board every workflow starts on: the classic ESP32 (ESP32-WROOM / DevKit boards and their
clones), running the official MicroPython ESP32_GENERIC image with the Henglos IO
platform frozen into it.
@henglosio/board-esp32v1.0.0platform ^1.0.0
| Pin | digital in | digital out | analog in | PWM | touch | UART |
|---|---|---|---|---|---|---|
| GPIO0 | ✓ | ✓ | ✓ | ✓ | ✓ | |
| GPIO1 | ✓ | ✓ | ✓ | |||
| GPIO2 | ✓ | ✓ | ✓ | ✓ | ✓ | |
| GPIO3 | ✓ | ✓ | ✓ | |||
| GPIO4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GPIO5 | ✓ | ✓ | ✓ | |||
| GPIO12 | ✓ | ✓ | ✓ | ✓ | ✓ | |
| GPIO13 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GPIO14 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GPIO15 | ✓ | ✓ | ✓ | ✓ | ✓ | |
| GPIO16 | ✓ | ✓ | ✓ | ✓ | ||
| GPIO17 | ✓ | ✓ | ✓ | ✓ | ||
| GPIO18 | ✓ | ✓ | ✓ | ✓ | ||
| GPIO19 | ✓ | ✓ | ✓ | ✓ | ||
| GPIO21 | ✓ | ✓ | ✓ | ✓ | ||
| GPIO22 | ✓ | ✓ | ✓ | ✓ | ||
| GPIO23 | ✓ | ✓ | ✓ | ✓ | ||
| GPIO25 | ✓ | ✓ | ✓ | ✓ | ✓ | |
| GPIO26 | ✓ | ✓ | ✓ | ✓ | ✓ | |
| GPIO27 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GPIO32 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GPIO33 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GPIO34 | ✓ | ✓ | ||||
| GPIO35 | ✓ | ✓ | ||||
| GPIO36 | ✓ | ✓ | ||||
| GPIO39 | ✓ | ✓ |
What it offers
| Capabilities | wifi, bluetooth — so WiFi and HTTP run on it. |
| Firmware | MicroPython 1.29.0 (ESP32_GENERIC), flashed at 0x1000. |
| Connection | USB serial, at 115200 baud by default (up to 921600). |
Pins worth knowing
- Analog in reads 0–3.3 V. The ones on ADC2 (GPIO0, 2, 4, 12–15, 25–27) can't be read while Wi-Fi is on — use GPIO32–39 for a sensor in a workflow that connects.
- GPIO34–39 are input only: no output, no pull-up or pull-down.
- GPIO0, 2, 12 and 15 are read at boot to pick how it starts — something pulling them the wrong way can keep the board from booting.
- GPIO1 and 3 are the USB serial the studio talks over — leave them free.
Flashing it
Compile + Flash in the studio's board settings builds this board's MicroPython with the platform's runtime frozen in and writes it over USB — once per board, and again when the workflow's platform version changes. See Building a board.