Digital IO

Digital IO is often referred to as General Purpose, Input/Output or GPIO.

Digital ports can be set to be HIGH (powered at 3.3V), or LOW (grounded at 0V) which correspond to digital 1 and 0, respectively.

Pulse-Width-Modulation PWM

Digital output ports can be used to generate a Pulse-Width-Modulation (PWM) signal, which approximates an intermediate voltage between LOW or HIGH by switching between ON and OFF very quickly:

PWM signals are frequently used to control the brightness of LEDs, as well as serve as the control signal for precision motors such as servos and stepper motors.

Communication Protocols

Digital IO also includes built-in support for a host of different types of common digital communication protocols including:

  • I2C
  • SPI (Serial Peripheral Interface)
  • UART (Serial)
  • CAN
  • I2S (Integrated Inter-IC Sound Bus)


These docs are open source. If you find an issue, please file a bug, or send us a pull request. And if you want to contribute, we'd love that too!