Digital Input/Output Analog Input/Output Dealing with Events \& Interrupts Communicating with the cloud Serial Communications Finite State Machines