Pinout: ESP32, Pico, and Arduino Uno
The pins of the ESP32, the Raspberry Pi Pico, and the Arduino Uno, with what to watch out for.
Every pin of a microcontroller can do multiple things: regular input or output (GPIO), an analog input (ADC), a serial connection (I2C, SPI, UART) or PWM for dimming. On the ESP32 and the Pico you can move many functions to other pins; the listed pins are the default choice of the board. The table below shows per pin what it can do and what you need to watch out for.
The ESP32 and the Pico operate at 3.3 V and are not 5 V-tolerant: do not connect a 5 V signal directly to them (use a voltage divider or level shifter). Pin numbers are GPIO numbers, not the location on the board. Many variants of boards exist, so also check the description of your own board. For the Raspberry Pi itself see the GPIO pinout.