{"_id":"@background404/node-red-contrib-mcu-mcp23017","name":"@background404/node-red-contrib-mcu-mcp23017","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@background404/node-red-contrib-mcu-mcp23017","version":"0.0.1","description":"Node-RED MCU node for controlling MCP23017 I/O expander pins.","main":"node/mcp23017/mcp23017.js","keywords":["node-red","node-red-node","mcu","mcp23017","i2c"],"repository":{"type":"git","url":"git+https://github.com/404background/node-red-mcu-mcp23017.git"},"author":{"name":"404background"},"license":"MIT","node-red":{"nodes":{"mcp23017":"node/mcp23017/mcp23017.js"}},"_id":"@background404/node-red-contrib-mcu-mcp23017@0.0.1","gitHead":"5641679a710959f10a8cc42c59dff9834fd42d90","bugs":{"url":"https://github.com/404background/node-red-mcu-mcp23017/issues"},"homepage":"https://github.com/404background/node-red-mcu-mcp23017#readme","_nodeVersion":"22.11.0","_npmVersion":"11.5.2","dist":{"integrity":"sha512-3tPyaVDjqrIKFP4fIJHs/nToVJXIiorQmb5iRCN9P+E8I1XIxPLd9MCtOIwDXofA8O/6kDBgPbCTeCzS/oyOTQ==","shasum":"93f6bc9a072d2b40a6151555a4859553ef77f68b","tarball":"https://registry.npmjs.org/@background404/node-red-contrib-mcu-mcp23017/-/node-red-contrib-mcu-mcp23017-0.0.1.tgz","fileCount":35,"unpackedSize":1980932,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDOn93JzYC2nJxIUnw5ilg8uR3hVpiPlPpRaaWG3OR6NAIhAPVL/o+1FR0Z5R5GEjD5IEz9nqoa/JeypVfiT1n4yUr6"}]},"_npmUser":{"name":"background404","email":"404background@gmail.com"},"directories":{},"maintainers":[{"name":"background404","email":"404background@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/node-red-contrib-mcu-mcp23017_0.0.1_1767227037144_0.48607361023354634"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-01T00:23:57.051Z","0.0.1":"2026-01-01T00:23:57.390Z","modified":"2026-01-01T00:23:57.690Z"},"maintainers":[{"name":"background404","email":"404background@gmail.com"}],"description":"Node-RED MCU node for controlling MCP23017 I/O expander pins.","homepage":"https://github.com/404background/node-red-mcu-mcp23017#readme","keywords":["node-red","node-red-node","mcu","mcp23017","i2c"],"repository":{"type":"git","url":"git+https://github.com/404background/node-red-mcu-mcp23017.git"},"author":{"name":"404background"},"bugs":{"url":"https://github.com/404background/node-red-mcu-mcp23017/issues"},"license":"MIT","readme":"# node-red-mcu-mcp23017\r\n\r\nNode-RED MCU node (`mcp23017`) for managing individual GPIO pins on a Microchip MCP23017 I/O expander via I2C. The node works on the Moddable-based Node-RED MCU runtime and lets you monitor or drive a single pin per node instance.\r\n\r\n## Overview\r\n\r\n[![Watch the MCP23017 node overview](images/thumbnail.jpg)](https://youtu.be/WkN1rGVrt4w)\r\n\r\nClick the thumbnail to watch the video overview.\r\n\r\n## Highlights\r\n\r\n- Monitor mode (`Output (read pin)`) polls the pin every 50&nbsp;ms by default, emits the initial value immediately, and reports changes as numeric `0`/`1` payloads and status text.\r\n- Drive mode (`Input (drive pin)`) accepts only numeric `0` or `1`, drives the MCP23017 pin, and echoes the result downstream while updating the node status.\r\n- Optional pull-up, SDA/SCL overrides, shared expander cache, and per-pin reservations help avoid conflicting configurations.\r\n\r\n![Monitor mode configuration](images/output.png)\r\n\r\n![Drive mode configuration](images/input.png)\r\n\r\n## Node Configuration\r\n\r\n| Field | Description |\r\n| ----- | ----------- |\r\n| Name | Optional label shown in the editor. |\r\n| I2C Address | MCP23017 device address (decimal or hex such as `0x20`). |\r\n| Pin | GPIO number (0-15). |\r\n| Mode | `Output (read pin)` to monitor the pin, `Input (drive pin)` to control it. |\r\n| Poll interval | Poll period in milliseconds when monitoring a pin (default 50 ms, minimum 20 ms). |\r\n| Pull-up resistor | Enable internal pull-up when monitoring an input that needs it. |\r\n\r\n## Example Flow\r\n\r\nSample flow is located at `examples/flows.json`.\r\n\r\n![Example flow wiring a monitored button to a driven LED](images/flows.png)\r\n","readmeFilename":"README.md","_rev":"1-514de4b27cc762066a927ec1eff29e2f"}