The Raspberry Pi talks to the outside world through the general-purpose input/output device, also known as the GPIO. This course describes these pins and explains how to use the GPIO to control lights and motors, read data from sensors, and interact with the Internet of Things. It combines some hardware basics-identifying pins and working with breadboards and components-with some programming in Python and Scratch. Author Mark Niemann-Ross also shows how to go deep into WiringPi, a GPIO access library, to experiment with pulse width modulation. By learning how to control input and output through GPIO pins, you'll open up a whole new world of electronics.