Guide
Custom GPIO Nodes
Connect external sensors, actuators, and modules using digital, analog, I2C, SPI, and UART nodes.
Reserved pins
These GPIOs are used by onboard hardware. Do not use them for external connections.
Digital Write
Set a GPIO pin HIGH or LOW. Use for LEDs, relays, buzzers, or any digital output.
pinvalue- Do not use pins reserved for OLED, SD, IR, RF — see pin map above
- For PWM dimming use pwm_output instead
Digital Read
Read a GPIO pin state. Returns high/low triggers and a boolean state value.
pinmodeAnalog Read
Read a 12-bit ADC value (0–4095) from a GPIO pin. Also outputs the voltage in volts.
pinsamples- ADC-capable pins on ESP32-S3: 1–10, 11–20
- ADC accuracy is ±5% — not suitable for precision measurement
PWM Output
Output a PWM signal on any GPIO. Use for LED dimming, servo control, or motor speed.
pinfrequencydutyI2C Read/Write
Communicate with I2C devices (sensors, displays, DACs). Uses the Wire library internally.
addressregistermodebytes- Default I2C pins: SDA=GPIO8, SCL=GPIO9 (OLED pins — shared bus)
- Multiple I2C devices on the same bus is supported as long as addresses differ
SPI Read/Write
Communicate with SPI devices (ADCs, flash chips, RF modules). Full-duplex transfer.
csPinspeedmode- Default SPI pins on ESP32-S3: MOSI=GPIO11 MISO=GPIO13 CLK=GPIO12
- SD card uses SPI on CS=GPIO10 — do not conflict
UART Read/Write
Send and receive data over UART (Serial2). Use for GPS modules, GSM modems, or any serial device.
baudtxPinrxPin- Uses Serial2 — Serial (USB) remains free for debugging
- Data input port accepts a String value to transmit — wire set_variable or string_format to it
Encoder
Virtual rotary encoder using the UP/DOWN navigation buttons. Tracks a value between min and max with configurable step.
minmaxstep