The primary goal for this project is to gain experience with developing a driver for external chips using MicroPython. In order to gain this experience, we will select hardware that allows us to expand the I/O capabilities of the pyboard and connect an RGB pushbutton to the expanded I/O. Before we jump into selecting components or writing any code, we first need to define the requirements for this project. We have two different sets of requirements that need to be considered: hardware and software. Let's look at each set of requirements individually.
The RGB pushbutton I/O expander project requirements
Hardware requirements
The hardware requirements for this project are relatively loose. As we saw in the last chapter...