Skip to content

Arduino library for interfacing the Microchip MCP23017 16-bit I/O expander.

License

Notifications You must be signed in to change notification settings

CIRCUITSTATE/CSE_MCP23017

Repository files navigation

CSE_MCP23017

CSE_MCP23017

CSE_MCP23017 is an Arduino library from CIRCUITSTATE Electronics to interface the Microchip MCP23017 16-bit I/O expander IC. The library supports all features of MCP23017 including GPIO operations, and interrupts. All functions of the chip can be accessed via familiar Arduino-style APIs. The library can run on any Arduino-supported microcontroller with an I2C interface.

This library is in pre-release stage. Any feedback is highly appreciated.

Features

  • I2C interface with multiple IO expanders on the same bus.
  • GPIO pin read and write operations.
  • Port read and write operations.
  • GPIO input polarity control.
  • Full interrupt support for multiple IO expanders.

Installation

This library is available from the official Arduino Library Manager. Open the Arduino IDE, search for CSE_MCP23017 and install the latest version of the library.

Additionally, you can download the latest release package from the GitHub repository and install it manually. To do so, open the Arduino IDE, go to Sketch > Include Library > Add .ZIP Library…​ and select the downloaded file.

Another method is to clone the GitHub repository directly into your libraries folder. The development branch will have the latest features, bug fixes and other changes. To do so, navigate to your libraries folder (usually located at Documents/Arduino/libraries on Windows and ~/Documents/Arduino/libraries on macOS) and execute the following command:

git clone https://github.com/CIRCUITSTATE/CSE_MCP23017.git

The library can also be installed via PlatformIO. All officially listed Arduino listed libraries are automatically fetched by PlatformIO. Use the lib_deps search option to install the library.

Examples

Two example sketches are included with this library which you can find inside the examples folder.

  • Print_GPRMC - Directly reads the NMEA output from the GNSS module and prints it on the serial monitor.
  • View_GNSS_Data - Reads the NMEA output from the GNSS module, extract the data and prints it on the serial monitor in key-value format.

Tutorial

A complete tutorial on GPS/GNSS is available on the CIRCUITSTATE website. This tutorial uses the u-blox NEO-6M GY-NEO6MV2 GPS module wired with a FireBeetle-ESP32E board.

API Documentation

The API documentation is available at API.md.

References

  1. What is GPS/GNSS & How to Interface u-blox NEO-6M GPS Module with Arduino - CIRCUITSTATE Electronics

About

Arduino library for interfacing the Microchip MCP23017 16-bit I/O expander.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages