Two 5V pins and two 3.3V pins are present on the board, as well as a number
of ground pins (GND), which can not be reconfigured. The remaining pins are
all general-purpose 3.3V pins, meaning outputs are set to 3.3V and inputs
are 3.3V-tolerant.
Outputs
A GPIO pin designated as an output pin can be set to high (3.3V) or low (0V).
Inputs
A GPIO pin designated as an input pin can be read as high (3.3V) or low (0V).
This is made easier with the use of internal pull-up or pull-down resistors.
Pins GPIO2 and GPIO3 have fixed pull-up resistors, but for other pins this can
be configured in software.
PWM (pulse-width modulation)
- Software PWM available on all pins
- Hardware PWM available on GPIO12, GPIO13, GPIO18, GPIO19