Cover image
Try Now
2023-11-18

Complete support of MCP23017

3 years

Works with Finder

7

Github Watches

39

Github Forks

72

Github Stars

MCP23017

Build Status License

This library provides full control over the Microchip's MCP23017, including interrupt support.

Features

  • Individual pins read & write
  • Ports read & write
  • Registers read & write
  • Full interrupt support

Usage

Unlike most Arduino library, no default instance is created when the library is included. It's up to you to create one using the appropriate I2C address based on MCP23017 A0, A1 and A2 pins wirings. Available addresses go from 0x20 to 0x27, allowing up to 8 MCP23017 on the same I2C bus.

#include <Arduino.h>
#include <MCP23017.h>

MCP23017 mcp = MCP23017(0x24);

Additionaly, you can specify the Wire instance to use as a second argument. For instance MCP23017(0x24, Wire1).
See included examples for further usage.

Warning about GPA7 & GPB7

GPA7 or GPB7 should not be used as inputs despite what the configuration registers allow. As stated by Microchip, it can lead to SDA signal corruption or even malfunction in the host bus under some conditions.

Breaking changes in v2.0.0

Major renames have been performed in v2.0.0 to improve compatibility with a variety of platforms. Existing code will break when you update from version v1.x.

Name in v1.x Name in v2.x
MCP23017_PORT MCP23017Port
MCP23017_REGISTER MCP23017Register
MCP23017_INTMODE MCP23017InterruptMode

In addition to this, every member of the MCP23017Register enum were renamed to avoid possible conflicts with macro definitions. GPIOA was renamed to GPIO_A, INTCAPA to INTCAP_A and so on...

相关推荐

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Benedikt Ess
  • FindetundanalysiertOnlineProdukteeinschlielichAmazonnachVolumenBewertungenundPreis

  • Beria Joey
  • 你的职业规划师,不走弯路就问我。Sponsor:小红书“ ItsJoe就出行 ”

  • GLips
  • MCP server to provide Figma layout information to AI coding agents like Cursor

  • Dhravya
  • Collection of apple-native tools for the model context protocol.

  • Mintplex-Labs
  • The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.

  • adafruit
  • Python code to use the MCP3008 analog to digital converter with a Raspberry Pi or BeagleBone black.

  • open-webui
  • A simple, secure MCP-to-OpenAPI proxy server

  • activepieces
  • AI Agents & MCPs & AI Workflow Automation • (280+ MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

  • idosal
  • Put an end to hallucinations! GitMCP is a free, open-source, remote MCP server for any GitHub project

    Reviews

    5 (1)
    Avatar
    user_9OcW5WxD
    2025-04-17

    I have been using the arduino-mcp23017 library by blemasle and it has exceeded my expectations! The library is well-documented and easy to integrate into my projects, providing seamless control over multiple I/O expanders. The link provided on GitHub (https://github.com/blemasle/arduino-mcp23017) contains all the resources needed to get started. Highly recommend for anyone looking to maximize their Arduino's I/O capabilities!