 Microcontrollers usually contain from several to dozens of general purpose input/output pins (GPIO).GPIO pins are software configurable to either an input or an output state.When GPIO pins are configured to an input state, they are often used to read sensors or external signals.