MPR121 — i2c address & wiring
12-electrode capacitive touch controller with four selectable addresses.
Key facts
MPR121 at a glance
| i2c address | 0x5A0x5B0x5C0x5D address-selectable via pins/jumpers |
|---|---|
| Logic voltage | 1.71–3.6 V |
| Type | sensor |
| Part | NXP MPR121 |
| Ships with | STEMMA QT, Grove |
| Datasheet | NXP MPR121 — manufacturer documentation ↗ |
The chip
What the NXP MPR121 actually is
Capacitive touch controller handling up to 12 electrodes plus a simulated 13th used for proximity sensing, with built-in filtering and per-electrode touch and release thresholds, so the host just reads which pads are touched. Wiring the ADDR pin to VSS, VDD, SDA or SCL selects 0x5A, 0x5B, 0x5C or 0x5D.
Watch out: The address comes from where the ADDR pin is wired — VSS, VDD, SDA or SCL — not from a jumper value, and its default 0x5A is also the MLX90614's address, so the two collide out of the box. It's also a 3.6 V-max chip: Adafruit's board adds a regulator and level shifting for 5 V hosts, but bare modules don't.
Wiring
How to connect the MPR121
The MPR121 talks i2c at address 0x5A (up to 4 selectable addresses, handy when you need more than one on the same bus). It runs at 1.71–3.6 V, so match your host's logic level — if your host is 5 V and a board on the bus is 3.3 V-only, add a level shifter. Use the compatibility checker to confirm the exact cable for your setup.
Because the address is selectable, you can run several MPR121 boards on one bus by setting each to a different address — no extra wiring beyond the shared SDA/SCL.
Wiring is the usual four: power, ground, SDA and SCL, plus pull-up resistors — almost always already fitted on the breakout. Nothing showing up? Run an i2c scanner first; if the bus is silent, the 7-step checklist finds it faster than guessing.
Ecosystems
Plug-together options for the MPR121
MPR121 breakouts ship with STEMMA QT and Grove — keyed 4-pin cables carrying power, ground, SDA and SCL, so there's nothing to solder and nothing to wire backwards. Chain it to the next board and keep going.
Running a mixed bench? Those ecosystems interoperate more than their marketing suggests — see every connector pairing for the cable or adapter you need, or the standards overview for how they compare.
Alternatives
Other i2c sensors
Watch the bus
Boards that clash with the MPR121
These want addresses the MPR121 also answers (0x5A, 0x5B, 0x5C), so they can't share a bus with it untouched. If one is address-selectable, strap it elsewhere; if not, the conflict guide covers the multiplexer and second-bus routes, and the collision roundup explains why a scan won't warn you.
Get one
Questions
MPR121 i2c FAQ
What is the MPR121's i2c address?
The MPR121 uses 0x5A or 0x5B or 0x5C or 0x5D, selected with an address pin or solder jumper on the board. If a scan turns up something unexpected, our i2c address list names the usual suspect for every address.
What voltage does the MPR121 run at?
The chip runs from 1.71–3.6 V. Adafruit's breakout adds a 3 V regulator and i2c level shifting, so it's safe on 5 V boards; bare modules, and SparkFun's retired board (specified for 2.5–3.6 V), are not.
Can I use two MPR121s on one i2c bus?
Yes — set each one to a different address (0x5A, 0x5B, 0x5C, 0x5D) using its address pin or jumper, then wire both to the same SDA/SCL. That gives you up to 4 on a single bus before you need a multiplexer.
Does the MPR121 work with STEMMA QT and Grove?
Yes — MPR121 breakouts ship with STEMMA QT / Grove, so it plugs straight in with no soldering. Mixing ecosystems? The compatibility checker gives you the exact cable or adapter.
What should I watch out for with the MPR121?
The address comes from where the ADDR pin is wired — VSS, VDD, SDA or SCL — not from a jumper value, and its default 0x5A is also the MLX90614's address, so the two collide out of the box. It's also a 3.6 V-max chip: Adafruit's board adds a regulator and level shifting for 5 V hosts, but bare modules don't.