Chapter 9Enhancing the Input/Output Interfaces on the RPi

This chapter describes how the input/output interface capabilities of the Raspberry Pi (RPi) can be enhanced and extended using low-cost modules, integrated circuits (ICs), and USB devices. The RPi is a competent interfacing and physical computing device, but analog interfacing functionality is absent, and other input/output capabilities may need to be expanded for your applications. This chapter begins by describing how you can utilize the RPi's buses to add analog-to-digital and digital-to-analog conversion capabilities to the RPi. The chapter then describes how you can expand the number of available pulse-width modulation (PWM) outputs and general-purpose inputs/outputs (GPIOs) on the RPi. The chapter finishes with a discussion on the use of USB-to-TTL devices, which can be used to expand the number of available serial UART devices. This chapter also provides you with further experience of interfacing to SPI and I2C bus devices.

Equipment Required for This Chapter:
  • Raspberry Pi (ideally an RPi 2/3)
  • Analog-to-digital converter ICs (e.g., the MCP3208)
  • Digital-to-analog converter ICs (e.g., the MCP4725, MCP4921/2)
  • PWM expander module (e.g., the Adafruit PCA9685)
  • GPIO expander ICs (MCP23017, MCP23S17)
  • USB UART device (e.g., CP2102 or CH340G compatible)

Further details on this equipment and chapter are available at www.exploringrpi.com/chapter9/.

Introduction

The onboard input/output capabilities of the RPi are described ...

Get Exploring Raspberry Pi now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.