MCP23S17-E/SO - 16-bit SPI I/O Expander, 10MHz | Microchip
Référence : MCP23S17-E/SO ✓ Actif| Qté | Prix unitaire | Total |
|---|---|---|
| 1 | $2.62 | $2,62 |
| 10 | $2.31 | $23,10 |
| 100 | $1.96 | $196,00 |
| 500 | $1.74 | $870,00 |
| 1 000 | $1.55 | $1 550,00 |
MCP23S17-E/SO Présentation
An I/O expander is a category of bridge IC that converts a low-pin-count serial bus (SPI, I2C) into a parallel GPIO bus. In the system hierarchy, I/O expanders sit between a host microcontroller and peripheral switches, sensors, LEDs or relays, off-loading pin-intensive tasks so smaller, cheaper MCUs can be used. The MCP23S17 belongs to the interface IC family and shares a register model with the I2C sibling MCP23017, so firmware written for one can be ported with minimal changes.
Key features of the MCP23S17-E/SO include 25 mA per-pin sink/source capability (total package limit 200 mA), 100 kHz / 400 kHz / 1 MHz configurable internal pull-ups, hardware-address pins (A0/A1/A2) for up to eight devices on one SPI bus (128 I/O total), sequential operation mode for daisy-chained SPI bursts, and an operating temperature range of -40C to +125C suitable for industrial environments.
Technically the device integrates input polarity inversion, configurable interrupt-on-change for rising/falling edges on either port, and an open-drain interrupt output. Each GPIO can be set independently to input, output, or input-with-pullup, and the two ports (A/B) can be addressed separately or together in IOCON.BANK mode.
Typical applications include industrial PLC I/O modules, key-matrix and LED-driving front panels for white goods and printers, expansion headers for Raspberry Pi/Arduino-class boards, and 7-segment/14-segment display multiplexing. Pairing the MCP23S17 with a low-cost MCU like the PIC16F or ATtiny lets designers add a 16-bit bus at minimal BOM cost and ~2 mA active supply current.
Design consideration: provide at least 100 nF decoupling close to VDD and reserve the RESET pin (active-low) with a 10 kohm pull-up to ensure clean POR behavior. When daisy-chaining via the SEQOP/OSC bits, ensure the SPI master clocks remain within the 10 MHz maximum to avoid GPIO state corruption. This page synthesizes distributor pricing, drop-in alternatives, and practical design notes not found in the manufacturer datasheet.
Alternatives de remplacement direct pour MCP23S17-E/SO — même boîtier, compatible broche à broche. Les références à boîtier différent nécessitant une retouche du PCB sont exclues.
Variantes de cette série
Modèles de la même série directement compatibles avec MCP23S17-E/SO (même facteur de forme et même empreinte) — différant par MSL Level, ESD Protection (HBM), Function, Hardware Address Pins, Internal Pull-up Resistors.
Outil de comparaison rapide — sélectionnez des références alternatives pour une comparaison côte à côte :
MCP23S17T-E/SO
✅ Remplacement direct📋 Alternative de référence (hors catalogue)
MCP23S17-E/SP
✅ Remplacement direct📋 Alternative de référence (hors catalogue)
MCP23S17T-E/SS
✅ Remplacement direct✓ En stock
$1.65 / unité
Voir la fiche technique →MCP23S18-E/SO
✅ Remplacement direct📋 Alternative de référence (hors catalogue)
MCP23S17-E/ML
✅ Remplacement direct📋 Alternative de référence (hors catalogue)
MCP23S17-E/SO Spécifications
| Part Number | MCP23S17-E/SO |
| Fonction | 16-bit bidirectional I/O expander |
| Serial Interface | SPI (mode 0,0 and 1,1) |
| Fréquence d'horloge maximale | 10 MHz |
| Number of I/O Pins | 16 |
| Supply Voltage (VDD) | 1.8 V to 5.5 V |
| Plage de température de fonctionnement | -40C to +125C |
| Boîtier | 28-pin SOIC (Wide, 7.50 mm body) |
| Type de montage | Surface Mount |
| Per-Pin DC Current (source/sink) | 25 mA |
| Package Total Current (GND/VSS) | 200 mA max |
| Interrupt Output | Yes (INTA/INTB open-drain, active-low) |
| Hardware Address Pins | A0, A1, A2 (up to 8 devices per SPI bus) |
| Internal Pull-up Resistors | 100 kohm (software-configurable, 1.7 MHz tolerant) |
| Reset Pin | Active-low, with internal pull-up |
| Statut RoHS | Compliant |
| Niveau MSL | 1 (unlimited floor life) |
Configuration des broches de MCP23S17-E/SO
| Broche 1 | GPB7 — Bidirectional I/O Port B bit 7 |
| Broche 2 | GPB6 — Bidirectional I/O Port B bit 6 |
| Broche 3 | GPB5 — Bidirectional I/O Port B bit 5 |
| Broche 4 | GPB4 — Bidirectional I/O Port B bit 4 |
| Broche 5 | GPB3 — Bidirectional I/O Port B bit 3 |
| Broche 6 | GPB2 — Bidirectional I/O Port B bit 2 |
| Broche 7 | GPB1 — Bidirectional I/O Port B bit 1 |
| Broche 8 | GPB0 — Bidirectional I/O Port B bit 0 |
| Broche 9 | VDD — Positive power supply (1.8 V to 5.5 V) |
| Broche 10 | VSS — Ground |
| Broche 11 | NC — Not connected (per datasheet) |
| Broche 12 | SCK — SPI serial clock input |
| Broche 13 | SI — SPI serial data input (MOSI) |
| Broche 14 | SO — SPI serial data output (MISO) |
| Broche 15 | A0 — Hardware address bit 0 |
| Broche 16 | A1 — Hardware address bit 1 |
| Broche 17 | A2 — Hardware address bit 2 |
| Broche 18 | RESET — Active-low hardware reset (internal pull-up) |
| Broche 19 | INTB — Port B interrupt output (active-low, open-drain) |
| Broche 20 | INTA — Port A interrupt output (active-low, open-drain) |
| Broche 21 | GPA0 — Bidirectional I/O Port A bit 0 |
| Broche 22 | GPA1 — Bidirectional I/O Port A bit 1 |
| Broche 23 | GPA2 — Bidirectional I/O Port A bit 2 |
| Broche 24 | GPA3 — Bidirectional I/O Port A bit 3 |
| Broche 25 | GPA4 — Bidirectional I/O Port A bit 4 |
| Broche 26 | GPA5 — Bidirectional I/O Port A bit 5 |
| Broche 27 | GPA6 — Bidirectional I/O Port A bit 6 |
| Broche 28 | GPA7 — Bidirectional I/O Port A bit 7 |
Applications typiques
MCP23S17-E/SO convient pour 6 applications: Industrial PLC I/O Expansion, Key Matrix and LED Front Panel, Raspberry Pi / Arduino GPIO Expansion HAT, 7-Segment and 14-Segment Display Multiplexing, Sensor Aggregator Hub, Point-of-Sale Terminal I/O.
Industrial PLC I/O Expansion
The MCP23S17-E/SO adds 16 isolated low-voltage GPIO channels to a PLC's main controller over a single SPI bus, replacing costly PLC backplane I/O modules. The 1.8V-5.5V supply aligns with 24V->5V regulated PLC rails, while the 25 mA per-pin sink/source directly drives optocouplers and small relays. Hardware address pins let one master SPI controller manage up to eight expanders (128 channels total), reducing MCU pin count. The -40C to +125C operating range suits factory-floor cabinets. Interrupt-on-change enables event-driven scanning rather than continuous polling, lowering MCU load. Pair with a PIC18F or ATSAM MCU and a ULN2803 buffer for higher-current outputs.
Recommandé
Key Matrix and LED Front Panel
For human-machine interface (HMI) panels combining a 4x4 key matrix with multi-LED status indication, the MCP23S17-E/SO provides all 16 lines from a single SPI bus, freeing the host MCU for display and comms tasks. Its 10 MHz SPI clock enables rapid keypad scanning with low perceived latency, while the internal 100 kohm pull-ups eliminate 16 external resistors. GPIO pins can source 25 mA to drive indicator LEDs directly, removing a discrete driver stage. The interrupt-on-change pin wakes the MCU from sleep on key press, lowering system power. Pair with a PIC16F18345 or STM32G0 for cost-sensitive consumer/white-goods panels.
Recommandé
Raspberry Pi / Arduino GPIO Expansion HAT
The MCP23S17-E/SO is the canonical GPIO expander for Raspberry Pi and Arduino shields because SPI is exposed on dedicated header pins and the device needs no external components beyond supply decoupling. Designers can add 16 GPIOs at less than $2 BOM cost while leaving the Pi's native 40-pin header available for other functions. The 3.3V-native supply matches Raspberry Pi logic directly, and the 5V-tolerant I/Os (when VDD=5V) are Arduino-friendly. Linux libgpiod and Arduino-MCP23S17 libraries simplify software bring-up. The exposed interrupt pin maps to a Pi GPIO IRQ for event-driven design.
Recommandé
7-Segment and 14-Segment Display Multiplexing
Driving multi-digit 7-segment or 14-segment alphanumeric displays with shared segment lines and per-digit common pins fits the MCP23S17-E/SO's two-port architecture: Port A drives segment a-g (plus dp), Port B drives digit commons. Multiplex at 100 Hz+ per digit by toggling via SPI writes at the supported 10 MHz clock rate. The 25 mA per-pin source is sufficient to drive small common-cathode displays with proper resistor limiting; larger displays need a transistor buffer. The interrupt pin can signal the host when a button press is detected on shared key-scan lines, integrating HMI logic into a single expander.
Recommandé
Sensor Aggregator Hub
Industrial sensor nodes often aggregate 8-16 switches, contact closures or low-speed analog flags; the MCP23S17-E/SO concentrates these into a single 4-wire SPI interface to the host. The 1.8V-5.5V range supports battery and bus-powered sensor backplanes, while internal pull-ups accommodate open-drain sensors and contact-wetting without external resistors. The interrupt-on-change capability wakes the host only when a sensor transitions, conserving battery life. Up to eight expanders on one bus support 128-channel data-acquisition front-ends. Pair with a low-power PIC18 or STM32L0 host.
Recommandé
Point-of-Sale Terminal I/O
POS terminals integrate keypads, drawer kick-out, customer displays, scanners and status LEDs - more I/O than the main MCU can host directly. The MCP23S17-E/SO adds 16 lines via SPI while remaining cheap enough for high-volume retail hardware. Its 5V tolerance and 25 mA drive directly control drawer solenoids via a small MOSFET or relay, and the interrupt-on-change pins flag user input instantly. The wide -40C to +125C temperature range covers outdoor kiosk and refrigerated retail environments. Pair with a PIC32MX or ARM Cortex-M0+ host and a dedicated UART-connected scanner.
Recommandé
Récapitulatif des produits recommandés
Données de référence d'ingénierie pour MCP23S17-E/SO — comparaison, recommandations de conception et informations de conformité.
Guide de sélection
Comparaison avec les alternatives
| Paramètre | Ce produit | MCP23S17T-E/SO | MCP23S17-E/SP | MCP23S17T-E/SS | MCP23S18-E/SO | MCP23S17-E/ML |
|---|---|---|---|---|---|---|
| Package | SOIC-28 (Wide, 7.50 mm) | SOIC-28 (Wide) - same | SPDIP-28 (through-hole) - same pinout, different footprint | SSOP-28 (5.30 mm) - pin-compatible, smaller footprint | SOIC-28 (Wide) - same | VQFN-28 (6x6 mm) - same pinout, different footprint |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Interface | SPI (10 MHz max) | SPI (10 MHz) | SPI (10 MHz) | SPI (10 MHz) | SPI (10 MHz) | SPI (10 MHz) |
| Number of I/O | 16 | 16 | 16 | 16 | 16 | 16 |
| Supply Voltage | 1.8 V to 5.5 V | 1.8 V to 5.5 V | 1.8 V to 5.5 V | 1.8 V to 5.5 V | 1.8 V to 5.5 V | 1.8 V to 5.5 V |
| Operating Temperature | -40C to +125C | -40C to +125C | -40C to +125C | -40C to +125C | -40C to +125C | -40C to +125C |
| Per-Pin Drive Current | 25 mA source/sink | 25 mA | 25 mA | 25 mA | 25 mA | 25 mA |
| Hardware Address Pins | A0, A1, A2 (8 devices per bus) | A0, A1, A2 | A0, A1, A2 | A0, A1, A2 | A0, A1, A2 | A0, A1, A2 |
| Interrupt Output | INTA, INTB (open-drain) | INTA, INTB | INTA, INTB | INTA, INTB | INTA, INTB | INTA, INTB |
Principaux différenciateurs
- 10 MHz SPI - 5-10x faster than I2C-based 16-bit expanders (vs MCP23017-E/SO (I2C sibling, 1.7 MHz max))
- Wide 1.8V-5.5V supply range supports both 3.3V and 5V MCUs natively (vs TCA9535 (TI, 1.65V-5.5V, but I2C only))
- Up to 8 devices on a single SPI bus (128 GPIO total) (vs MCP23008 (8-bit I2C sibling))
Notes de conception
Place a 100 nF ceramic decoupling capacitor within 5 mm of the VDD pin (pin 9) and a bulk 10 uF tantalum or aluminum polymer at the supply entry point. The MCP23S17-E/SO typically draws 1-2 mA quiescent at 5V and 5 MHz SPI; peak transient current during simultaneous 25 mA GPIO switching can exceed 100 mA. A 100 nF + 10 uF pair suppresses both high-frequency SPI clock injection and lower-frequency load-step ringing. Tie unused address pins A0/A1/A2 directly to VDD or VSS - leaving them floating risks increased supply current and incorrect device selection on a shared SPI bus.
Reset behavior: the active-low RESET pin (pin 18) has an internal pull-up but is NOT fully POR-equivalent if VDD rise time exceeds 1 ms. For slow-ramping supplies add an external 10 kohm pull-up to VDD and a 100 nF capacitor to VSS if POR behavior must be deterministic. Another common pitfall: forgetting to set IOCON.SEQOP when the SPI master expects hardware-addressed opcodes - this disables the daisy-chain mode and the device responds as a single address on the bus.
Route SPI traces (SCK, SI, SO) as a matched-length 3-wire bus with 33 ohm series damping resistors near the master MCU. Keep trace length under 50 mm to preserve 10 MHz signal integrity; longer runs may need a ground-reference microstrip. Place the MCP23S17-E/SO within 25 mm of the SPI connector to minimize radiated EMI from the high-speed edges. Expose the SOIC-28 thermal pad (pin 29 underside, even if not connected) to a small copper pour to improve thermal dissipation under heavy GPIO loading.
The MCP23S17's MISO (SO, pin 14) output is a totem-pole driver rated for 25 mA; when wire-OR'd with another expander's MISO line, ensure only one device is enabled (CS low) at any time. If multiple MISO lines must be paralleled, switch to open-drain mode via IOCON.HAEN logic or add a 10 kohm pull-up to VDD. Also enable IOCON.DISSLW ( slew-rate disable ) if your design uses long SPI cables - this reduces EMI harmonics at the expense of 10 MHz maximum clock.
Informations de conformité
RoHS and lead-free per Microchip product page. Not AEC-Q100 qualified - this part targets industrial/consumer use. The automotive equivalent is the MCP23S17T-E/SO-VAO (AEC-Q100 grade). REACH compliance declared by Microchip.