{"id":8557,"date":"2026-06-29T05:13:17","date_gmt":"2026-06-29T05:13:17","guid":{"rendered":"https:\/\/materialparts.com\/mcp23017-e-ml\/"},"modified":"2026-06-29T05:13:17","modified_gmt":"2026-06-29T05:13:17","slug":"mcp23017-e-ml","status":"publish","type":"post","link":"https:\/\/materialparts.com\/ar\/mcp23017-e-ml\/","title":{"rendered":"MCP23017-E\/ML"},"content":{"rendered":"<h2>\u0646\u0638\u0631\u0629 \u0639\u0627\u0645\u0629 \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u062a\u062c<\/h2>\n<p>The MCP23017-E\/ML from Microchip is a 16-bit I\/O expander with I2C interface in a 4mm x 4mm QFN-28 package. It provides 16 bidirectional GPIO pins across two 8-bit ports (GPA and GPB) with configurable interrupt outputs, supporting I2C clock speeds up to 1.7MHz for fast host communication in embedded systems requiring additional I\/O.<\/p>\n<h2>\u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0627\u062a \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629<\/h2>\n<table>\n<tr>\n<td>\u0627\u0644\u0648\u0627\u062c\u0647\u0629<\/td>\n<td>I2C (100kHz, 400kHz, 1.7MHz)<\/td>\n<\/tr>\n<tr>\n<td>I\/O Count<\/td>\n<td>16 bits (2 x 8-bit ports: GPA, GPB)<\/td>\n<\/tr>\n<tr>\n<td>Operating Voltage<\/td>\n<td>1.8V ~ 5.5V<\/td>\n<\/tr>\n<tr>\n<td>Per-Pin Sink\/Source Current<\/td>\n<td>25mA<\/td>\n<\/tr>\n<tr>\n<td>\u0627\u0644\u062a\u064a\u0627\u0631 \u0627\u0644\u0627\u062d\u062a\u064a\u0627\u0637\u064a<\/td>\n<td>1uA max<\/td>\n<\/tr>\n<tr>\n<td>Address Pins<\/td>\n<td>3 (A0, A1, A2, up to 8 devices per bus)<\/td>\n<\/tr>\n<tr>\n<td>Interrupt Outputs<\/td>\n<td>2 (INTA, INTB, configurable)<\/td>\n<\/tr>\n<tr>\n<td>\u062f\u0631\u062c\u0629 \u062d\u0631\u0627\u0631\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644<\/td>\n<td>-40C ~ +125C (E grade)<\/td>\n<\/tr>\n<tr>\n<td>\u0627\u0644\u062d\u0632\u0645\u0629<\/td>\n<td>QFN-28 (4mm x 4mm, 0.5mm pitch)<\/td>\n<\/tr>\n<\/table>\n<h2>\u0627\u0644\u0645\u064a\u0632\u0627\u062a<\/h2>\n<ul>\n<li>16 bidirectional I\/O pins with pull-up\/pull-down configuration<\/li>\n<li>Three hardware address pins for up to 8 devices on one I2C bus<\/li>\n<li>Dual configurable interrupt outputs with mirror option<\/li>\n<li>Input polarity inversion register for active-low signals<\/li>\n<li>External reset input (RESET#) and power-on reset<\/li>\n<li>Open-drain interrupt output option for wired-OR configurations<\/li>\n<\/ul>\n<h2>\u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a<\/h2>\n<ul>\n<li>Expanding MCU GPIO for keypad and button arrays<\/li>\n<li>LED display and indicator multiplexing<\/li>\n<li>Industrial control relay and sensor interface expansion<\/li>\n<li>Home automation I\/O module<\/li>\n<li>Robotics peripheral control<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Product Overview The MCP23017-E\/ML from Microchip is a 16-bit I\/O expander with I2C interface in a 4mm x 4mm QFN-28 package. It provides 16 bidirectional GPIO pins across two 8-bit ports (GPA and GPB) with configurable interrupt outputs, supporting I2C clock speeds up to 1.7MHz for fast host communication in embedded systems requiring additional I\/O. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[13,20],"tags":[],"chip_brand":[134],"class_list":["post-8557","post","type-post","status-publish","format-standard","hentry","category-integrated-circuits-ics","category-interface-ics","chip_brand-microchip"],"acf":{"brief_explanation":"Microchip 16-bit I2C I\/O expander, 1.8V~5.5V, QFN-28, dual interrupt, 1.7MHz I2C","date_code":"","package_case":"QFN-28 (4mm x 4mm, 0.5mm pitch, ML suffix)","in_stock":13087,"datasheet":"https:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/20001952C.pdf","price":"$0.98 @ 1ku","product_introduction":"The MCP23017-E\/ML from Microchip is a 16-bit remote bidirectional I\/O port expander that communicates via the I2C serial interface. It provides 16 GPIO pins organized as two 8-bit ports (GPA0-GPA7 and GPB0-GPB7), each defaulting to input mode after reset. The device supports I2C clock speeds up to 1.7MHz in high-speed mode, enabling rapid polling or configuration by the host MCU. Three address pins (A0, A1, A2) allow up to eight MCP23017 devices to share the same I2C bus, providing up to 128 additional I\/O pins. Each I\/O pin can sink or source up to 25mA, sufficient for directly driving LEDs or small relays. Two dedicated interrupt output pins (INTA and INTB) can be configured for active-high, active-low, or open-drain operation, with an interrupt mirror option that ORs both port interrupts onto a single pin.","working_principle":"The MCP23017-E\/ML communicates as an I2C slave device with a 7-bit address composed of a fixed 0100000 prefix plus the three hardware address bits (A2, A1, A0). The host MCU reads and writes to internal registers via I2C to configure port direction, pull-ups, polarity, and interrupt behavior. The IODIRA and IODIRB registers set each pin as input (1) or output (0). The GPIOA\/GPIOB registers read input pin states or set output pin levels. When an input pin changes state and its corresponding interrupt-on-change bit is enabled, the device asserts the INTA or INTB output. The interrupt capture register (INTCAP) records the pin state at the moment of the interrupt, allowing the host to determine which pin changed even if the state has since reverted. The OLAT register latches output data independently of the GPIO read register, preventing read-modify-write conflicts.","pin_description":"<table border='1' cellpadding='4' cellspacing='0'>\n<tr><th>Pin<\/th><th>Name<\/th><th>Function<\/th><\/tr>\n<tr><td>1<\/td><td>GPB0<\/td><td>Bidirectional I\/O Port B Bit 0<\/td><\/tr>\n<tr><td>2<\/td><td>GPB1<\/td><td>Bidirectional I\/O Port B Bit 1<\/td><\/tr>\n<tr><td>3<\/td><td>GPB2<\/td><td>Bidirectional I\/O Port B Bit 2<\/td><\/tr>\n<tr><td>4<\/td><td>GPB3<\/td><td>Bidirectional I\/O Port B Bit 3<\/td><\/tr>\n<tr><td>5<\/td><td>GPB4<\/td><td>Bidirectional I\/O Port B Bit 4<\/td><\/tr>\n<tr><td>6<\/td><td>GPB5<\/td><td>Bidirectional I\/O Port B Bit 5<\/td><\/tr>\n<tr><td>7<\/td><td>GPB6<\/td><td>Bidirectional I\/O Port B Bit 6<\/td><\/tr>\n<tr><td>8<\/td><td>GPB7<\/td><td>Bidirectional I\/O Port B Bit 7<\/td><\/tr>\n<tr><td>9<\/td><td>VDD<\/td><td>Power Supply<\/td><\/tr>\n<tr><td>10<\/td><td>VSS<\/td><td>Ground<\/td><\/tr>\n<tr><td>11<\/td><td>NC<\/td><td>No Connect<\/td><\/tr>\n<tr><td>12<\/td><td>SCL<\/td><td>I2C Clock Input<\/td><\/tr>\n<tr><td>13<\/td><td>SDA<\/td><td>I2C Data I\/O<\/td><\/tr>\n<tr><td>14<\/td><td>NC<\/td><td>No Connect<\/td><\/tr>\n<tr><td>15<\/td><td>A0<\/td><td>Hardware Address Input 0<\/td><\/tr>\n<tr><td>16<\/td><td>A1<\/td><td>Hardware Address Input 1<\/td><\/tr>\n<tr><td>17<\/td><td>A2<\/td><td>Hardware Address Input 2<\/td><\/tr>\n<tr><td>18<\/td><td>RESET#<\/td><td>External Reset Input<\/td><\/tr>\n<tr><td>19<\/td><td>INTB<\/td><td>Port B Interrupt Output<\/td><\/tr>\n<tr><td>20<\/td><td>INTA<\/td><td>Port A Interrupt Output<\/td><\/tr>\n<tr><td>21~28<\/td><td>GPA0~GPA7<\/td><td>Bidirectional I\/O Port A Bits 0~7<\/td><\/tr>\n<\/table>","application_scenarios":"<ul>\n<li>Keypad expansion: Scan 4x4 or larger matrix keypads using 8+8 GPIO pins with interrupt-driven key detection<\/li>\n<li>LED multiplexing: Drive multiplexed 7-segment displays or LED matrices with 16 output pins and 25mA per pin<\/li>\n<li>Industrial I\/O: Add relay drivers, digital sensor inputs, and limit switch monitors to PLCs and motor controllers<\/li>\n<li>Home automation: Build I\/O modules for light switches, blinds, and HVAC damper control over I2C backplane<\/li>\n<li>Robotics: Interface servos, encoders, bump sensors, and motor drivers through a single I2C bus expander<\/li>\n<\/ul>","alternative_models":"<table border='1' cellpadding='4' cellspacing='0'>\n<tr><th>Model<\/th><th>Brand<\/th><th>I\/O Count<\/th><th>Interface<\/th><th>Package<\/th><\/tr>\n<tr><td>PCF8575<\/td><td>TI<\/td><td>16-bit<\/td><td>I2C 400kHz<\/td><td>SOIC-24<\/td><\/tr>\n<tr><td>SX1509<\/td><td>Silicon Labs<\/td><td>16-bit<\/td><td>I2C 400kHz<\/td><td>QFN-28<\/td><\/tr>\n<tr><td>MCP23S17-E\/ML<\/td><td>Microchip<\/td><td>16-bit<\/td><td>SPI 10MHz<\/td><td>QFN-28<\/td><\/tr>\n<tr><td>MAX7317AUG+<\/td><td>ADI<\/td><td>10-bit<\/td><td>SPI 25MHz<\/td><td>TSSOP-24<\/td><\/tr>\n<tr><td>TCA9535PWR<\/td><td>TI<\/td><td>16-bit<\/td><td>I2C 400kHz<\/td><td>TSSOP-24<\/td><\/tr>\n<\/table>"},"_links":{"self":[{"href":"https:\/\/materialparts.com\/ar\/wp-json\/wp\/v2\/posts\/8557","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/materialparts.com\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/materialparts.com\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/materialparts.com\/ar\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/materialparts.com\/ar\/wp-json\/wp\/v2\/comments?post=8557"}],"version-history":[{"count":0,"href":"https:\/\/materialparts.com\/ar\/wp-json\/wp\/v2\/posts\/8557\/revisions"}],"wp:attachment":[{"href":"https:\/\/materialparts.com\/ar\/wp-json\/wp\/v2\/media?parent=8557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/materialparts.com\/ar\/wp-json\/wp\/v2\/categories?post=8557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/materialparts.com\/ar\/wp-json\/wp\/v2\/tags?post=8557"},{"taxonomy":"chip_brand","embeddable":true,"href":"https:\/\/materialparts.com\/ar\/wp-json\/wp\/v2\/chip_brand?post=8557"}],"curies":[{"name":"\u062f\u0628\u0644\u064a\u0648 \u0628\u064a","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}