Mcp23017 Rpi Lib

Library to access the MCP23017 including interrupts
Alternatives To Mcp23017 Rpi Lib
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
3 months ago19
Install and configure WireGuard on Raspberry Pi (and others)
Raspberrypi Freertos356
5 years ago6otherC
A port of FreeRTOS to the raspberry pi.
Serial Port Json Server308
5 years agoAugust 17, 201539gpl-2.0Go
A serial port JSON websocket server for Windows, Mac, Linux, Raspberry Pi, or BeagleBone Black that lets you communicate with your serial port from a web application. This enables web apps to be written that can communicate with your local serial device such as an Arduino, CNC controller, or any device that communicates over the serial port.
Warrior Dockerfile220
3 days ago3Shell
A Dockerfile for the ArchiveTeam Warrior
Docker Unms137
4 years ago1Dockerfile
This image is no longer maintained:
4 years ago5Shell
This started as a custom install for my pihole!
10 months ago17gpl-3.0C
Software-based serial port module for Raspberry Pi.
Arduino Robust Serial116
2 months ago2April 15, 20185mitC++
A simple and robust serial communication protocol. It was designed for Arduino but can be used for other purposes (e.g. bluetooth, sockets). Implementation in C Arduino, C++, Python and Rust.
6 years ago7C
Port of Android Pico TTS to the Raspberry Pi
2 months ago6Shell
[NW.js port for Raspberry Pi] binary compiled for the ARMv6 used in Raspberry Pi (compatible with RPi 2 and RPi 3)
Alternatives To Mcp23017 Rpi Lib
Select To Compare

Alternative Project Comparisons


Original source code:

New in this repo

Resolve bug where multiple pins on the same bank cause an interrupt. The original code assumed that only one pin is high of the INTCAP register. More details of the chip can be found here:

This library implements a python 3 library for the MCP23017 port expander chip. It is intended to be used on a Raspberry Pi in conjunction with the built in GPIO pins.


  • python 3 port of Adafruit's I2C library, which is included in this repo
  • python 3 smbus module. See wiki for instructions to install on a Raspberry Pi.


  • Simple digital input and output via all pins
  • Input interrupts
  • Interrupt port mirroring is configurable – either INTA and INTB can trigger independently for their respective GPIO port banks, or both INTA and INTB can trigger at the same time regardless of what GPIO pin causes the interrupt
  • Configurable interrupt polarity – INT could pull the pin high or push it low
  • Each GPIO pin can be configured for interrupts independently to either compare against the previous value or against a default pin value
  • A utility method cleanupInterrupts that can be called periodically to clear the interrupt if it somehow gets stuck on.
Popular Raspberry Pi Projects
Popular Port Projects
Popular Hardware Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Raspberry Pi