The GPIO pins All microcontrollers have GPIO pins GPIO means "General Purpose Input/Output" Some manufacturers call them just PIO or Parallel I/O Sometimes their are called I/O pins .... They are usually divided in groups, called "ports" Ports are of varying width AVR has 8-bit ports (it's an 8-bit CPU) Some Cortex-M implementations offer 12-bit ports Most have 16-bit or 32-bit ports Not all bits can be instantiated Sometimes ports may have as few as 0 useful bits Fortunately, vendors use proper "sparse" names If you use the concept of ports, they *must* be 32b wide We have so many numbers in one integer Portability is paramount