MPR121 Module
The MPR121 module is a capacitive-touch controller that lets the Pico sense touch pads, foil, wires, or other electrodes over I2C.
Part images
What it is
The MPR121 module is a capacitive-touch controller that lets the Pico sense touch pads, foil, wires, or other electrodes over I2C.
How students use it
Students use it for touch pianos, hidden buttons, fruit controllers, interactive art, and projects where touching a surface is more interesting than pressing a switch.
Pins and power
3.3V, IRQ, SCL, SDA, ADD, GND, and electrode pins 0-11.
SunFounder labels the module power pin as 3.3V. The MPR121 datasheet family supports low-voltage operation.
SunFounder notes ADD selects I2C address: VSS gives 0x5A, VDD gives 0x5B, SDA gives 0x5C, and SCL gives 0x5D. IRQ is active low.
Voltage and safety
Keep the module and I2C bus at 3.3V. Electrode wiring can be sensitive to wire length, material, grounding, and nearby noise.
Use only safe touch materials and low-voltage wiring. Do not connect electrodes to powered objects or exposed high-voltage conductors.
Module internals
Main component: MPR121 capacitive touch sensor controller.
MPR121 IC, I2C pins, interrupt pin, address-select pin, ground and 3.3V pins, twelve electrode connections, PCB traces, and support passives.
Datasheet notes
SunFounder lists 12 capacitance sensing inputs, a 13th simulated proximity channel, I2C interface, interrupt output, filtering, debounce, auto-configuration, and auto-calibration features.
Common libraries
Use machine.I2C for communication. A MicroPython MPR121 driver can handle register setup, touch thresholds, and electrode status reads.
Common mistakes
Forgetting shared ground, using the wrong I2C address, making electrode wires too long, touching only insulation when the electrode is not coupled well, and skipping threshold tuning.