Rectronx Circuits
Components

MCP23017 I/O Expander

I2C GPIO expander for projects that need more input/output pins.

I/O Expander4.5/5RM8-RM22Intermediate
ArduinoESP32Raspberry Pi
MCP23017 I/O Expander electronics module illustration

AI Ready Overview

Quick Summary

MCP23017 is a i/o expander commonly used in FYP and embedded projects. It is best for more gpio pins and button panels, with wiring and testing planned around Arduino, ESP32, Raspberry Pi.

Difficulty

Intermediate

Time Required

1-2 weeks for wiring, basic code, platform integration and repeated test readings

Cost

RM8-RM22 module range in Malaysia; full project cost depends on scope.

Components

MCP23017, Arduino, ESP32, Raspberry Pi

Overview

What is MCP23017?

MCP23017 adds 16 GPIO pins over I2C. It is useful for keypads, LEDs, buttons and status panels when the main microcontroller runs out of pins.

Engineering Reference

Quick Specs

Operating Voltage1.8V-5.5V module-dependent
InterfaceI2C, GPIO
DifficultyIntermediate
Typical Malaysia PriceRM8-RM22
Best ForMore GPIO pins, Button panels

Real Usage Notes

Suitable / Not Suitable

Suitable for

  • More GPIO pins
  • Button panels
  • LED status boards

Not suitable for

  • High-current outputs
  • Very fast timing signals
  • Motor drive without driver

Build Planning

Difficulty

MCP23017 is rated Intermediate. Plan around 1-2 weeks for wiring, basic code, platform integration and repeated test readingsdepending on wiring, libraries, calibration, dashboard/app integration and testing evidence.

Build Planning

Time Required

1-2 weeks for wiring, basic code, platform integration and repeated test readings

Malaysia Price Guidance

Cost

Typical module price range: RM8-RM22. This is component guidance only; a complete FYP cost depends on controller, sensors, casing, display, app/dashboard, documentation and timeline.

Connections

Pinout

VCC

Power input. Check whether the module expects 1.8V-5.5V module-dependent before wiring.

GND

Common ground with the controller and external supply.

I2C

Main I2C connection used by the module.

IO

Additional signal pins depend on the exact module variant.

Platform Notes

Wiring Guides

MCP23017 with Arduino / ESP32

Connect power, ground and the I2C / GPIO signal lines. Use level shifting when a 5V module connects to a 3.3V controller.

MCP23017 VCC1.8V-5.5V module-dependent
MCP23017 GNDController GND
Signal pinsI2C, GPIO

Fix Common Problems

Troubleshooting

Check wiring against the pinout before debugging code.
Use a stable power supply and common ground between modules.
Test the component with a simple example sketch before adding dashboard, app or database features.
Do not power motors, pumps or heavy loads directly from a microcontroller pin.

Troubleshooting

Common Mistakes

Driving loads directly
Wrong I2C address
No pull-ups where needed

FYP Ideas Using MCP23017

Related Projects

Compare Options

Alternative Components

Student Questions

FAQ

Is MCP23017 good for FYP projects?

Yes, MCP23017 is suitable for FYP work when the project matches its limits: More GPIO pins and Button panels.

What is the most common MCP23017 mistake?

Driving loads directly