
arduino-mcp23017
Complete support of MCP23017
3 years
Works with Finder
7
Github Watches
39
Github Forks
72
Github Stars
MCP23017
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...
相关推荐
Advanced software engineer GPT that excels through nailing the basics.
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.
FindetundanalysiertOnlineProdukteeinschlielichAmazonnachVolumenBewertungenundPreis
I specialize in identifying 'Novel Foods' in ingredient lists.
Bridge between Ollama and MCP servers, enabling local LLMs to use Model Context Protocol tools
🧑🚀 全世界最好的LLM资料总结(Agent框架、辅助编程、数据处理、模型训练、模型推理、o1 模型、MCP、小语言模型、视觉语言模型) | Summary of the world's best LLM resources.
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
Awesome MCP Servers - A curated list of Model Context Protocol servers
🔥 1Panel provides an intuitive web interface and MCP Server to manage websites, files, containers, databases, and LLMs on a Linux server.
Query MCP enables end-to-end management of Supabase via chat interface: read & write query executions, management API support, automatic migration versioning, access to logs and much more.
⛓️RuleGo is a lightweight, high-performance, embedded, next-generation component orchestration rule engine framework for Go.
Reviews

user_9OcW5WxD
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!