Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.

Pin conflict checker

List each signal and the pin you plan to use. Get the traps — strapping pins, ADC2 with Wi-Fi, input-only pins, 5 V into 3.3 V — with a fix for each.

Wi-Fi is used
      pins.h

      How it works

      Each rule comes from the chip's datasheet and the board's schematic, using the same pin maps as our interactive pinouts:

      • Boot-strapping pins (ESP32 GPIO 0, 2, 5, 12, 15) are read at reset to pick the boot mode. A pull-up on GPIO12 selects 1.8 V flash and the board won't boot.
      • Input-only pins (ESP32 GPIO 34–39) can't drive anything and have no internal pull-ups.
      • ADC2 (ESP32 GPIO 0, 2, 4, 12–15, 25–27) is shared with the Wi-Fi radio: analogRead() fails while Wi-Fi is on.
      • 5 V signals into an ESP32 or Pico pin exceed its absolute maximum; use a divider for slow signals or a level shifter for I2C.
      • Buses: the Uno's I2C is fixed to A4/A5 and its SPI to D11–D13; on the Pico, SDA and SCL must belong to the same I2C controller.
      • Shared pins: two signals can't share one pin, but several I2C or SPI parts can share the bus lines.

      The code generator runs these same rules over every sketch it can produce — none of its 288 combinations triggers an error or warning.

      ↑↓ to move · Enter to open