Increasing MPR121 wire length. What to do with the signal?

Breakout boards, sensors, other Adafruit kits, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
Axagthoth
 
Posts: 4
Joined: Fri Oct 14, 2016 5:09 am

Increasing MPR121 wire length. What to do with the signal?

Post by Axagthoth »

Hi there,

I'm currently using the MPR121 breakout board. It works great! However a use case might come up where I need to extend the wire length well beyond 1m (speak 5 to 10 meters). I know this isn't ideal (I've done a couple of tests and the maximum reliable length I've achieved is about 2 meters), but that's precisely the question: is there any way to make this possible, through repeaters, or an amplifier, or anything else? It's beyond my electronics knowledge.

An alternative solution might be to keep the sensor wires short and lengthening the I2C part, but that's just shifting the problem, right? (and it would require buying more boards).

Otherwise, is there any way to sense touch through capacitance and send that information over a 10m distance, maybe with a custom circuit?

Thanks in advance for any ideas/comments!

User avatar
Axagthoth
 
Posts: 4
Joined: Fri Oct 14, 2016 5:09 am

Re: Increasing MPR121 wire length. What to do with the signa

Post by Axagthoth »

Sorry, I forgot to ask about the AT42QT1010 momentary touch sensor. In what range does the OUT signal work? Could it be strong enough? Or maybe I could wire OUT to a transistor that drives the long wire to digital pins on an Arduino?

User avatar
adafruit_support_bill
 
Posts: 88093
Joined: Sat Feb 07, 2009 10:11 am

Re: Increasing MPR121 wire length. What to do with the signa

Post by adafruit_support_bill »

5-10 meters over i2c is probably achievable. First, you need good wiring. I like to use a good quality twisted pair such as Ethernet cable. Use one pair for GND and SDA. One pair for GND and SCL. And another pair for GND and VCC. This will help eliminate problems due to noise.

If you still have problems, you can try reducing the clock rate using wire.setClock(). By default, it is 100KHz. Slowing it down to 50KHz or less should help you to extend the effective distance.

http://playground.arduino.cc/Main/WireL ... dReference

Using the standalone sensors should also be possible. I don't think you need a transistor or line-driver for that distance. But I would use twisted pair wiring for noise rejection.

User avatar
Axagthoth
 
Posts: 4
Joined: Fri Oct 14, 2016 5:09 am

Re: Increasing MPR121 wire length. What to do with the signa

Post by Axagthoth »

Ok, thanks a lot for the quick reply! I'll try that, and I think I'll buy a couple AT42QT1010 to compare what works best for me. I've just got a couple more questions:

-Would cat5 cable suffice?
-What's the AWG size of the internal wires of an ethernet cable?
-In case I needed a line-driver, which one would you recommend?

User avatar
adafruit_support_bill
 
Posts: 88093
Joined: Sat Feb 07, 2009 10:11 am

Re: Increasing MPR121 wire length. What to do with the signa

Post by adafruit_support_bill »

Cat5 is excellent, inexpensive and readily available. That is what I usually use.
Most Cat5 cable is 24AWG or 26AWG. They also make 22AWG for very long runs.
i2c is a bi-directional bus, so it needs a bi-directional bus buffer like the NXP-P82B96.

User avatar
Axagthoth
 
Posts: 4
Joined: Fri Oct 14, 2016 5:09 am

Re: Increasing MPR121 wire length. What to do with the signa

Post by Axagthoth »

Thank you very much for all the concrete answers. I'll work from here :-)

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Products from Adafruit”