Descripción
Módulo Extensor I/O MCP23017 – Puerto Serie I2C 16 Bits
El Módulo Extensor I/O MCP23017 – Puerto Serie I2C 16 Bits de Stlxy permite añadir 16 entradas o salidas digitales a placas como Arduino, ESP32 o Raspberry Pi utilizando únicamente las líneas SDA y SCL del bus I2C. Es una opción práctica cuando los GPIO disponibles se quedan cortos y no quieres sustituir la placa principal.
Sus 16 pines se organizan en dos bancos de 8 bits, Puerto A y Puerto B, configurables por software como entradas o salidas. También admite resistencias pull-up internas e interrupciones ante cambios de estado, funciones útiles para botones, finales de carrera, sensores digitales, relés y paneles de indicadores.
Aplicaciones y ventajas
- Ampliación de GPIO en prototipos, sistemas de domótica y cuadros de control.
- Lectura de múltiples pulsadores o sensores digitales.
- Control de indicadores LED y módulos de relé mediante comunicación I2C.
- Integración con librerías MCP23017 para Arduino IDE, PlatformIO, MicroPython y Raspberry Pi.
- Posibilidad de utilizar hasta 8 módulos en el mismo bus mediante direcciones I2C diferentes, alcanzando hasta 128 E/S digitales.
Antes de conectarlo, comprueba la tensión compatible con tu controlador, especialmente si trabajas con señales de 3,3 V o 5 V. Para cargas que requieran más corriente, utiliza un transistor, un driver o un módulo de relé adecuado en lugar de conectar la carga directamente a un pin.
Preguntas Frecuentes
¿Cuántas entradas y salidas proporciona?
Añade 16 E/S digitales, divididas en dos puertos de 8 bits configurables por software.
¿Es compatible con Arduino, ESP32 y Raspberry Pi?
Sí, el MCP23017 dispone de soporte mediante librerías para estas plataformas y para MicroPython.
¿Se pueden conectar varios módulos?
Sí. Pueden compartir el bus I2C usando direcciones diferentes, hasta un máximo de 8 módulos según la configuración disponible.
¿Incluye resistencias pull-up internas?
Sí, incorpora pull-up configurables por software en cada pin. El Módulo Extensor I/O MCP23017 – Puerto Serie I2C 16 Bits facilita ampliar proyectos digitales sin añadir otra placa principal.
Con la garantía de:
Análisis de Experto
Análisis general del producto
Tras varias semanas de uso intensivo en distintos montajes, el Módulo Extensor I/O MCP23017 de Stlxy se ha convertido en una de esas piezas que acabo colocando en el cajón de favoritos del taller. Se trata de un expansor de E/S digitales de 16 bits sobre bus I2C, un chip clásico de Microchip alrededor del cual se ha montado una placa limpia, con las líneas SDA y SCL ya condicionadas y una serigrafía que facilita identificar rápidamente el Puerto A, el Puerto B y la selección de dirección.
La idea de fondo es sencilla pero muy bien resuelta: cuando te quedas sin GPIO en un Arduino Uno, un ESP32 o una Raspberry Pi, en lugar de migrar a una placa mayor o apilar shift registers con todas sus limitaciones, conectas dos hilos y ganas dieciséis entradas o salidas bidireccionales. En mis pruebas lo he usado, entre otros, para leer ocho pulsadores con antirrebote por software en un cuadro de domótica y para pilotar una hilera de módulos de relé junto a una tira de indicadores LED, todo compartiendo el mismo bus con un sensor BME280 y un RTC, sin apreciar conflictos de direccionamiento ni caídas de señal dignas de mención.
Calidad de construcción y materiales
La placa me ha llegado con un PCB de buena factura, taladrado en los puntos habituales y con pines soldados de forma uniforme. Las pistas tienen un grosor razonable para las corrientes involucradas —recordemos que las salidas del chip apenas mueven unos pocos miliamperios, lo suficiente para un LED o la entrada de un transistor— y los componentes de soporte (condensadores de desacoplo y resistencias de pull-up en el bus, según revisión) están bien situados cerca de los pines de alimentación.
Dos detalles que valoro: el jumpers de selección de dirección son accesibles sin desmontar nada y el markado serigrafiado es legible incluso con mala luz de taller. Como aspecto mejorable, el conector de pines en ángulo o recto depende de la versión, así que conviene decidir antes de soldar si lo montaréis en protoboard (mejor en horizontal) o en un gabinete con cableado tipo Dupont (mejor en vertical). No incluye carcasa ni protección adicional, algo habitual en este segmento de precio, pero en entornos con polvo o humedad yo recomendaría encerrarlo en una caja con prensaestopas si va destinado a instalación fija.
Compatibilidad y rendimiento
Aquí es donde el MCP23017 brilla. Funciona tanto a 3,3 V como a 5 V, lo que lo hace válido para Raspberry Pi y ESP32 sin adaptadores de nivel, siempre que se respete la tensión de referencia del bus. Las librerías disponibles son abundantes y maduras: en Arduino IDE y PlatformIO he probado dos de las más extendidas sin tocar una sola línea de registro a bajo nivel, mientras que en Raspberry Pi con Python y en MicroPython la integración resulta igual de directa. La curva de aprendizaje es mínima si ya habéis trabajado con Wire o smbus.
Los dos bancos de 8 bits (Puerto A y Puerto B) se configuran de manera independiente por software, y las resistencias pull-up internas de 100 kΩ aproximadamente, activables pin a pin, ahorran un buen puñado de componentes externos al montar matrices de botones o finales de carrera. Las interrupciones ante cambio de estado son la joya silenciosa: en mi proyecto de domótica configuré una línea INTA común que despierta al ESP32 de su sueño profundo únicamente cuando algún pulsador cambia, con lo que el consumo medio del conjunto se mantiene en cifras mínimas. En cuanto al bus, la dirección base permite hasta ocho módulos en paralelo, es decir, 128 E/S adicionales con solo dos hilos, una cifra más que suficiente para la mayoría de proyectos hobbyistas e incluso para pequeños cuadros industriales.
Un consejo práctico: mantened el bus I2C por debajo de 100 kHz si vais a tender cableados largos, y no olvidéis la resistencia de pull-up externa en SDA y SCL si vuestra placa no las incorpora ya. Y recordad que estos pines no mueven relés ni motores directamente: interponed siempre un transistor, un driver tipo ULN2003 o un módulo de relé con optoacoplador.
Puntos fuertes y aspectos mejorables
Lo mejor:
Dos hilos de I2C para ganar 16 E/S configurables, escalable hasta 128 con ocho módulos.
Pull-up internas por pin e interrupciones por cambio de estado, funcionalidades que simplifican mucho el diseño.
Compatibilidad sólida con Arduino, ESP32, Raspberry Pi y MicroPython gracias a un ecosistema de librerías consolidado.
Operación dual a 3,3 V y 5 V sin electrónica adicional.
A mejorar:
La velocidad de refresco por I2C no rivaliza con la lectura directa de GPIO nativos, algo perceptible solo en aplicaciones muy exigentes en tiempo.
Sin protecciones mecánicas ni alimentación regulada en placa; depende de la calidad de la fuente del microcontrolador.
Sería deseable una variante con conector enchufable tipo JST o borne desmontable para instalaciones permanentes.
Veredicto del experto
Después de probarlo en tres escenarios distintos —un panel de control domótico con ESP32, un banco de lectura de sensores en Raspberry Pi y un prototipo con Arduino Uno—, mi conclusión es clara: es un expansor de E/S honesto, bien construido y sin sorpresas, apoyado en un chip con años de trayectoria y una documentación extensa. Frente a alternativas basadas en shift registers serie-paralelo, esta solución gana claramente en flexibilidad bidireccional y en capacidad de interrupciones; frente a expansores más modernos con buses rápidos, pierde algo de velocidad, pero en la práctica esa diferencia rara vez importa. Para cualquiera que necesite ensanchar sus GPIO sin complicarse la vida, lo recomiendo sin reservas: es una de esas compras que resuelven un problema concreto de forma elegante y económica.
2,79 €
Productos relacionados
- Adaptador Bluetooth para Auriculares en PS5, PS4 y PC
- Rastreador GPS para Coche 4G TK915 con Imán e IP65
- Puerta Enlace TTLock G3 – Ethernet RJ45 Cerradura Inteligente Alexa
- Lámpara de pared LED RGB – Luz decorativa blanca y cálida
- Microinterruptor Final de Carrera 1 A 125 V con Palanca de Rodillo
- Batería de Repuesto Motorola Moto G Pure 2021