Past Meetup

Arduino Class - Control more devices with a port expander


Location image of event venue


Come join us at Education Center in Plano TX to learn how to control more devices using a port expander with the Arduino.

The Arduino Uno has 14 digital I/O pins. That sounds a lot, but it isn't consider that all these pins are multi-functional, so that they are used for tasks other than pure input/output, like Pulse Width Modulation, serial and SPI communications. We saw in an earlier lecture, that shift registers can be used to provide us with additional digital outputs. But what about additional digital inputs? In this lecture, you will learn how to use the MCP23017 IC to easily add a total of 16 digital I/O pins to your Arduino project.

In this class we will be covering the following:

Control more devices with a port expander, Part 1: Background and setup ( (14:34) In this Part 1, You will learn basics of the MCP23017 IC, and be shown how to wire it up.

Control more devices with a port expander, Part 2: more examples ( (9:13) In this Part 2, I'll show you 2 examples that involve digital input and output functions. Parts Needed:

Arduino UNO ( The MCP23017 IC ( 2 10KΩ resistors ( 2 220Ω resistors ( 1 4.7ΚΩ resistor ( 2 LEDs ( 1 push button ( Wires (

Course work for this class comes from Arduino Step By Step ( which has over 20 hours of content in 110 lectures. These classes are designed for anyone interested in learning electronic design and C programming. No experience is required. Access to the course material is free at our meetups. If you wish to access the material outside the meetup see our coupons page to get a discount from our sponsor (