Confidential guide on numerology and astrology, based of GG33 Public information

micropython-mcp230xx
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
3 years
Works with Finder
4
Github Watches
16
Github Forks
30
Github Stars
micropython-mcp230xx
Micropython I2C-based manipulation of the MCP series GPIO expanders MCP23017 and MCP23008, derived from the Adafruit_MCP230xx.py module of https://github.com/adafruit/Adafruit_Python_GPIO
This has been tested with ESP8266 running Micropython 1.8.7 on MCP23017 only, but hopefully works also for MCP23008 if you have one. Please post an issue if you have success.
To use, wire up the GPIO expander chip following this loom...
- MCP23017 Pins
- 9 => 3.3V supply
- 10 => GND
- 12 => ESP8266 GPIO5 (NodeMCU D1) [I2C SCL Signal]
- 13 => ESP8266 GPIO3 (NodeMCU D2) [I2C SDA Signal]
- 12 => 10kOhm resistor => 3.3V Supply [I2C SCL Pull-up]
- 13 => 10kOhm resistor => 3.3V Supply [I2C SDA Pull-up]
- 18 => 10kOhm resistor => 3.3V Supply [Reset pin in 'run' configuration]
Also choose the address of each MCP23017, e.g.
- Addressing pins for address 0x20
- 15 => 10kOhm resistor => GND
- 16 => 10kOhm resistor => GND
- 17 => 10kOhm resistor => GND
The mappings between pins and I2C addresses are...
If you wish to use a different I2C address, or a different GPIO-numbered SDA or SCL pin than the default then pass that in to the constructor.
The default constructor arguments mean that MCP23017() is equivalent to MPC23017(address=0x20, gpioScl=5, gpioSda=4).
A handy visual reference is this from mathworks, although I recommend that for ESP8266 the chip power should be provided by 3.3V not 5V, to make sure logic levels are correct and that the serial data line doesn't overload SDA.
For example, the following will set the output values of pins 10-15 and read the logic value (True or False) of pins 0-9
import mcp
io = mcp.MCP23017()
# controls some output pins
outPins = list(range(10,16))
nextVals = {}
for pinNum in outPins:
io.setup(pinNum, mcp.OUT)
nextVals[pinNum] = True
io.output_pins(nextVals)
# monitors and prints some input pins
inPins = list(range(0,10))
for pinNum in inPins:
io.setup(pinNum, mcp.IN)
while True:
print(io.input_pins(inPins))
相关推荐
Converts Figma frames into front-end code for various mobile frameworks.
Advanced software engineer GPT that excels through nailing the basics.
Take an adjectivised noun, and create images making it progressively more adjective!
Siri Shortcut Finder – your go-to place for discovering amazing Siri Shortcuts with ease
I find academic articles and books for research and literature reviews.
Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.
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
Enable AI assistant clients like Cursor, Windsurf and Claude Desktop to control Unreal Engine through natural language using the Model Context Protocol (MCP).
Reviews

user_9XOhAda2
The micropython-mcp230xx by ShrimpingIt is a fantastic library for integrating MCP230xx series I/O expanders with your MicroPython projects. This well-documented and easy-to-use module opens up a new range of possibilities for adding more I/O ports to your microcontroller with minimal hassle. Highly recommended for any MicroPython enthusiast looking to extend their project capabilities efficiently! Check it out at https://github.com/ShrimpingIt/micropython-mcp230xx.