Typically associated with microcontrollers, GPIO refers to digital bits (physical pins on the microcontroller) that can be configured to operate as inputs or as outputs. As an input, the pin can read digital logic levels into a register bank to be used by the microcontroller core, and as an output, the microcontroller core sets a digital logic level on the pin which stays there until it is cleared. In addition to direction, configuration settings can also include open-drain outputs, slew-rate limiting and interrupt settings. GPIO pins can also be multiplexed with other internal functions so the same physical pin can perform other operations. Timer functions, serial bus functions and analog inputs are features that are commonly multiplexed with GPIO pins on a microcontroller.

Since Triad is a provider of custom solutions, we can implement as many or as few GPIO as required by the customer, and also multiplex with other functions to save package pins. This can become very important for high volume applications, for example, where minimizing the cost of the package (minimal number of pins) is paramount.