Capsense Gestures With Widgets Other Than Touchpads

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
jcsb1994
Level 4
Level 4
First solution authored 50 replies posted 50 sign-ins

Hi,

why are Capsense touchpads the only widgets that support all of the gestures? It is not specified in the datasheet, I was wondering if it is just firmware specific and one could decide to develop the necessary firmware to detect those gestures from a different widget, or if there is something mechanically or electrically unique about the touchpads that make them specifically suited for this task, say at equal resolution (say 3x3 touchpad vs 9 individual buttons)

pastedImage_0.png

Thanks!

0 Likes
1 Solution
SampathS_11
Moderator
Moderator
Moderator
250 sign-ins 250 solutions authored 5 questions asked

The difference between touchpad and the other widgets is the number of sensors in the widget, The touchpad widget has a number of sensors arranged as a rectangle, and so it can sense all the listed gestures. The linear slider also has a number of sensors but in one axis only. Hence, it can detect one finger scroll gesture only. Hence, we would be unable to develop firmware to enable other widgets to recognize gestures.

Best regards,

Sampath Selvaraj

View solution in original post

9 Replies
SampathS_11
Moderator
Moderator
Moderator
250 sign-ins 250 solutions authored 5 questions asked

The difference between touchpad and the other widgets is the number of sensors in the widget, The touchpad widget has a number of sensors arranged as a rectangle, and so it can sense all the listed gestures. The linear slider also has a number of sensors but in one axis only. Hence, it can detect one finger scroll gesture only. Hence, we would be unable to develop firmware to enable other widgets to recognize gestures.

Best regards,

Sampath Selvaraj

Hi SampathS_11

SampathS_11 wrote:

The difference between touchpad and the other widgets is the number of sensors in the widget, The touchpad widget has a number of sensors arranged as a rectangle

But what if we created 9 button widgets and place them as a rectangle? Wouldn't that let us determine the gestures the same way as if it were a single widget with 9 sensors?

0 Likes
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi JeSi_4326976

The problem in that case is that the buttons need to be closely spaced, which is against our recommendation. Note that for gesture detection, it isn't just the signal level from one sensor that we check. We also check the signal level from the neighboring sensors as well as the time between the changing signals.

If we place two buttons close together, then it would violate the button design considerations and we will end up with false signals on other sensors which is not desirable. If we end up following the design recommendation, then the buttons would be far away and will not provide sufficient signal for gesture detection.

This is the reason we provide gesture support only for sliders and touchpads, where the sensors can be placed close together.

Best regards,
Hari

0 Likes
jcsb1994
Level 4
Level 4
First solution authored 50 replies posted 50 sign-ins

Hi @AH_96,

but technically the only reason why it is a guideline to place the buttons apart from each other is only to prevent a finger from increasing the raw count on 2 different buttons right? I know it would break the purpose of using individual buttons if placing them very close to each other on a design, but would those buttons be just as reliable as a touchpad? I am thinking of this design which was developed with CSD buttons layed out like a touchpad.

pastedImage_1.pngpastedImage_2.png

We see the PCB and signal from a mug handle (a grounded conductive layer is needed for signal to be read from objects). I am drifting away from gestures here but I guess my question really is: is the touchpad giving any signal advantage over an array of buttons designed this way, when comparing a same amount of elements (in that case, would be a 4x7 touchpad)? I am perplex, as to have the same sensor resolution as this button board above, but with a touchpad, I would require sensing elements much smaller than 3.5 mm, which is the length of the elements on the PSoC 41XX devkit touchpad. And what I really want to know, is other than the amount of sensors I can jam in a given area, is there something else that would give the touchpad an advantage over buttons? I just can't believe the button board is outperforming the resolution of a touchpad.

I am sorry this turned out to be a longer thread than expected, but you always explain very well and help me a lot.

Thank you!

0 Likes
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello JeSi_4326976

The consideration really if if you need to detect "points of contact" or if you need absolute position information. Lets say we design a touchpad using individual buttons as shown in the picture. We can get an idea of where a person is touching or the hand position heat map but it will not give us the exact position of a finger in an X-Y coordinate.

If we use the diamond pattern, then we will be able to obtain the actual position with very good accuracy.

pastedImage_0.png

This is similar to what we use in linear slider and you can see the position equation in CapSense design guide AN.

pastedImage_1.png

The position of a touchpad is similar to this in two dimensions.

So, to answer the question, the increased sensors will help in determining the actual position and will help in linearity when the finger moves from one point to another. The close placement of the sensors are to pick up signals from nearby sensors so that the direction of movement and the absolute position. Having button sensors would still help in position tracking but the least count for the position will be poor when compared to the diamond pattern.

Best regards,
Hari

jcsb1994
Level 4
Level 4
First solution authored 50 replies posted 50 sign-ins

Thank you Hari, I just want to make sure I am ready to choose between the 2 designs:

AH_96 wrote:

The consideration really if if you need to detect "points of contact" or if you need absolute position information. Lets say we design a touchpad using individual buttons as shown in the picture. We can get an idea of where a person is touching or the hand position heat map but it will not give us the exact position of a finger in an X-Y coordinate.

The application is expecting multiple touches simultaneously. Just like on the photo with the mug handle, I do not plan on having a single touch point very often (It is intended to be used as a sensitive robot finger skin, as explained on the last 5 posts of this thread: How to write firmware for a CSX button matrix on PSoC 6 Capsense? (Are there code examples online to... ).

1. That being said, if I understand correctly, I am more interested in points of contact rather than absolute position information (which would be only for up to 3 fingers at a time I believe with CSX touchpads?)

2. Does it mean I have no advantage in using a touchpad over individual buttons in these conditions?

AH_96 wrote:

So, to answer the question, the increased sensors will help in determining the actual position and will help in linearity when the finger moves from one point to another. The close placement of the sensors are to pick up signals from nearby sensors so that the direction of movement and the absolute position.

3. Just to be sure, with ''increased sensors'' you refer to an increased density of sensors?

So this will help with gesture recognition and absolute position detection.

4. Are you aware of the possibility of lowering diamond size below 3.5mm, because at this size, it cannot compete with the resolution our current CSD button design, and it is pretty reliable.

AH_96 wrote:


Having button sensors would still help in position tracking but the least count for the position will be poor when compared to the diamond pattern.

5. The least count is the affected sensors with the lower raw count increase?

pastedImage_4.png

0 Likes
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi JeSi_4326976

1. That being said, if I understand correctly, I am more interested in points of contact rather than absolute position information (which would be only for up to 3 fingers at a time I believe with CSX touchpads?)

2. Does it mean I have no advantage in using a touchpad over individual buttons in these conditions?

Yes, if you are only interested in the point of contact, then a matrix arrangement might be better. As you've mentioned, the CSX touchpads are also limited to 3 fingers whereas the matrix arrangement does not have this limitation. Just to stick to the heading of this thread, we cannot support any gestures in a matrix button arrangements due to the reasons mentioned in Response#3 and 5. Note that the matrix arrangement is also a CSX matrix arrangement. CSD matrix buttons suffer from Ghost touches.

3. Just to be sure, with ''increased sensors'' you refer to an increased density of sensors?

So this will help with gesture recognition and absolute position detection.

Yes, it is the increased density of the sensors that ensure more than one sensor picks up signal when touched at any point in the touchpad.

4. Are you aware of the possibility of lowering diamond size below 3.5mm, because at this size, it cannot compete with the resolution our current CSD button design, and it is pretty reliable.

Can you please explain this condition better? What is the size of the CSD buttons? In a CSX touchpad, we need to make sure that the mutual capacitance (Cm) formed is greater than a certain threshold. The threshold for PSoC 4S series devices is 0.8pF. So, the size of 3.5 mm is chosen to make sure that the Cm formed between any Tx-Rx pair is greater that 0.8pF. Note that this is dependent on a lot of factors such as the thickness and size of the overlay, the spacing etc. So, in theory, you could go to a smaller size if you can make sure that Cm is greater than 0.8pF with an overlay thickness that does not cause signal disparity.

5. The least count is the affected sensors with the lower raw count increase?

What I meant by least count is the minimum change in finger position that can be detected by the touchpad. It is dependent on the adjacent sensors.

Best regards,
Hari

jcsb1994
Level 4
Level 4
First solution authored 50 replies posted 50 sign-ins

AH_96​ thank you so much everything is clearer now.
I will however answer this:

AH_96 wrote:


Can you please explain this condition better? What is the size of the CSD buttons? In a CSX touchpad, we need to make sure that the mutual capacitance (Cm) formed is greater than a certain threshold. The threshold for PSoC 4S series devices is 0.8pF

The current buttons are 4.5x4.8mm. that gives a resolution of 4x7 on a surface of 22x37mm, or 4.7 dpi (dots per inch) **By the way, these are really individual buttons, not a matrix, they really take 28 pins on the mcu.

pastedImage_1.png

With a touchpad (CSX, because we cannot afford ghost touches) I get 3x5 sensors on 17.45x29mm, which gives us a dpi of 4.3, which is like 10% lower density than our buttons.  This even is if I consider the elements to be at the edge of the board, which does not follow guidelines and there is no gnd surrounding the sensors.

pastedImage_2.png

For my next PCB design, I would like try another touchpad, but I would try to keep in mind the 0.8 pF Cm threshold. I did not find it on its datasheet or in the capsense design guide however, is there a set of formula to help determine the theoretical Cm I will get from a sensor size, distance, dielectric constant/thickness etc?

0 Likes
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi JeSi_4326976

For my next PCB design, I would like try another touchpad, but I would try to keep in mind the 0.8 pF Cm threshold. I did not find it on its datasheet or in the capsense design guide however, is there a set of formula to help determine the theoretical Cm

Unfortunately, the answer is no. There isn't a direct way to calculate what the Cm formed would be as it depends on a lot of factors. The only real way would be to use some simulation software that takes these parameters into consideration, or you could measure the Cm formed once the PCB is ready (simply back calculating the Cm from raw counts equation will give you an idea).

Best regards,
Hari