I am having a bit of trouble with MPR121. I can set all the configuration registers correctly. Setting the values per QuickGuide. I can read the values back without any problem. However, once I write a non-zero value into register 0x5E (to move the part into run state) and read the register back, it reads back as all 0s and after that all previously written-to configuration registers return their power-up values. I am guessing that the device self-resets. Has anyone seen a similar problem?
pls have u find a solution? i have a similar problem, it seems like ovcf is set right after enabling the sensors an go to stop mode again. my design worked fine at the beginning. Now i have the task to determine what is causing this failure. Is there a way to discard that mpr121 was damaged?
Did you read the OVCF bit in register 0x01? If the OVCF bit is set, an over-current fault has been detected on the REXT pin.
Are you using a 75k resistor on REXT pin #7? This resistor sets an internal reference current, its incorrect value may cause an Over Current fault with the device going to Stop mode.
As stated in the datasheet:
"All other bits in status registers 0x00~0x03, output registers 0x04~0x2A, and bits D5~D0 in ECR (0x5E) are cleared. When the bit is set at ‘1’, the write to the ECR register to enter Run Mode will be discarded. The write to ’1’of the OVCF will clear this bit and the MPR121 fault condition will be cleared. The MPR121 can then be configured to return to the Run Mode again."
If the right pull-down resistor and clearing the OVCF does not work, I would recommend you to replace the device.
Hope it helps!
Hi, i managed to get a 60kohm resistor (smd supply problem) and it worked fine for a couple of days, then i change the power supply source and took some time to "get working" but still worked. A couple of days after that i tried to check my prototype again but it always get OVCF set after enabling sensing channels (ECR register), no matter how much times i clear the OVCF (i know it is cleared by writing '1' on the OVCF field) it stills get set after configuring ECR.
I have searched appnotes to get some information about electrical protection or some clue of what is happening o have just happened. If i only replace the IC i have the risk to loose another one. I need to know what happened. I am waiting for a resistor set to get the correct resistor value. But need to make a failure report for my case.
Hope i can be helped.
The resistor for the REXT pin should be a 75k resistor, this is very important because this is intend to set an internal reference current, a wrong value would cause an Over Current fault detection. So, for your failure report, I would say “a wrong REXT resistor value”.
When you said “then i change the power supply source and took some time to "get working" but still worked”, what was the voltage level?
In most applications our customers connects VREG (pin 5) and VDD (pin 20) to the same supply voltage. Absolute maximum level for VDD is 3.6v but VREG would not support more than 2.75v. Please take a look at page 3 of the datasheet, you’ll find two power configuration schematics: 1.75v to 2.75 AND 2.0v to 3.6v
Make sure that the power supply does not exceed the maximum voltage value for the power configuration you’re using.
Hope it helps!
Most probably you’re having a fault condition that resets the sensor. I’d recommend you to read the over current flag "OVCF" (D7 register 0x01).
If the OVCF bit is set, then you’d need to verify your design.
Datasheet page 11:
"When over current is detected, the OVCF is set to ‘1’ and the MPR121 goes to Stop Mode. All other bits in status registers 0x00~0x03, output registers 0x04~0x2A, and bits D5~D0 in ECR (0x5E) will also be cleared. When the bit is set at ‘1’, the write to the ECR register to enter Run Mode will be discarded.
The write to ’1’of the OVCF will clear this bit and the MPR121 fault condition will be cleared. The MPR121 can then be configured to return to the Run Mode again."
The following application note might be of help as well:
Designing Touch Sensing Electrodes:
hope it helps =)