ZPatch: Hybrid Resistive/Capacitive ETextile Input





Introduction: ZPatch: Hybrid Resistive/Capacitive ETextile Input

Pocket-Sized Contest

This is an entry in the
Pocket-Sized Contest

zPatches are textile sensors designed to be robust and to recognize different types of input activities.

Check out these video demos, to see the raw-data output from a zPatch:

Demo 1: Basic Touch Dynamics
Demo 2: On-Body Interaction
Demo 3: Interactions with an Object

All information regarding zPatch is collected on https://zpatch.github.io/

This Instructable provides a high-level overview of how to create your own zPatches. As I assume you will be modifying this to fit the tools and materials available to you, and because your project goals probably have something specific in mind, I only outline the general principles here. This means you should read the entire Instructable before you set out to make your own. Make sure to check out the images also, as they often provide additional information.

We published this work at TEI 2018. Our TEI paper has some additional sensor variations that you may want to check out.

Step 1: Materials

The trickiest part in making these sensors may be collecting the materials. You will need the following:

a) Non-conductive, thin fabric for the top layer. We used a mesh material, but this is not strictly necessary. A thin material or mesh may help identify touch events, but you could use any non-conductive material you find aesthetically pleasing.

b) Non-conductive, thicker fabric for backing payer. This material should be non-elastic. It acts as a structural support. The thicker it is, the easier to identify gestures if it is placed directly on the skin.

c) Conductive fabric, ideally Ripstop or other thin, non-elastic materials. We like the fabrics made by Statex. We use a material they call 'Bremen'.

d) Piezo-resistive fabric. To our best knowledge, the only piezo-resistive fabrics currently available are made by Eeonyx. You can buy them from Sparkfun. You might want to shop around for larger orders, I have purchased larger quantities from Hi-Tek Ltd. The material I use is non-elastic, non-woven and has a resistance of ~20kOhm Square.

e) Dual sided bonding material. This is used to heat-bond the layers together. You can buy it at most fabric or sewing supply stores.

Step 2: Tools

You can use scissors for making individual patches. We have had good success in making a group of patches at once, using a laser-cutter.

The rest of the tutorial will describe the process using a lasercutter, but there is no reason for you not to us scissors instead.

You will also need a iron, wax-paper and an ironing board.

Step 3: Add the Bonding Material to the Conductive and Non-conductive Fabrics

Cut two square of heat-bonding material (the same size as your your bottom non-conductive material, and your conductive material). Using an iron, bond the patches to the materials in question. At the end, you should have one piece of non-conductive fabric and one piece of conductive fabric that are each bonded to glue on a single side.

The image sequence above shows the process of bonding the glue to a single layer of conductive material.

(a) Cut out a piece of bonding material about the same size of the material you intend to use

(b) Put wax paper on the ironing board and the place the fabric+bonding material on top of that.

(c) Put wax paper on top of the materials and start ironing them together (c, d & e) show me starting at the right, moving left, bonding the glue to the conductive fabric.

Once you are done, you can just pull off the wax paper from the non-conductive material. Leave the wax-paper bonded to the conductive Ripstop.

The wax paper is important. Once you get bonding material on your iron or on your ironing board, things start getting messy fast.

The reason we are doing this now, is because it makes the materials stiffer and easier to work with. If we cut the materials now, the edges are less likely to flay. It also allows us to do this step in one, go, while everything is still a large fabric, rather than ironing many tiny bits.

Step 4: Cut the Material

The easy way is to grab your scissors and start cutting already.

If you want to make multiple sensors, or if you want to make very specific layouts, you can lasercut both the conductive as well was the piezo-resistive fabric. Please note that the suggestions below are guidelines, we have only tested this on our own machine. If you try this, please report back how you did it, so we can update this tutorial.

Lasercutting the Ripstop:
- We glued the wax paper side of the Ripstop to acrylic or MDF with double-sided tape.
- Cut it using 50% speed, 20% power at 5000 Hz
(The laser will slightly cut into the acrylic underneath).

---> As the Ripstop is somewhat reflective, we suggest caution at this step. We did not encounter any problems, but that does not mean that we believe it to be completely safe.

Lasercutting the Eeonyx:
- We just placed it directly in the lasercutter.
- We cut it using 50% speed, 9% power and 5000Hz

Step 5: Optional: Add Headers

The easy way to connect to anything is using Alligator clips. These will do just fine for your first prototype.

If you want to get fancy, you can crimp headers directly to the fabric. I've used tools by Pololu and really like this way of connecting to materials.

Crimping Tool: https://www.pololu.com/product/1928
Female Headers: https://www.pololu.com/product/1930
Crimp Connector Housing: https://www.pololu.com/product/1901

If you want to get even fancier, check out related tutorials by Rachel Freire.
Using safety pins and using 3D printed connectors.

Step 6: Stack the Materials

Layer your materials in their intended order.

1) Bottom non-conductive material at the bottom (glue facing upwards).
2) First electrode (conductive material, glue facing downwards).
3) Piezo resistive material (no glue!)
4) Second electrode (conductive material, glue facing upwards).
5) Top non-conductive layer

(I connected my electrodes to female crimp-headers and placed those inside two-position shroudings. This means that the electrodes come in very close proximity to each-other. To be completely sure that I do not short circuit anything I added a small piece of fabric between them and secured it in place with glue-gun glue).

Step 7: Bond the Layers Together & Cut Out the Patches

Using wax-paper to protect your iron and your ironing board, iron all the layers together. If you used hot-glue, just iron over it as well. It will heat up and conform to the flat shape of the rest of the sensor

Once they have bonded cut them in the desired shape.

If you intend to iron them on to clothing, you can add another glue layer on the bottom of your sensor.

Note: we need to experiment with this more, but it appears that, if too much bonding material is used, or if the sensor is heated too much, the glue can seep-through the Ripstop. When this happens it appears as if the resistive sensing resolution declines.

Step 8: Program Them!

The way zPatches are designed assumes that each electrode is connected to an analog input pin.

You can Download the code here. It assumes that the zPatch is connected to A0 and A1. You can see their output on the Arduino IDE's Serial Monitor (or use the Serial Plotter!).


The code is very basic. It calibrates the capacitance to the state it is at when the Arduino is turned on. It then just sends continuous resistive and capacitive readings to the serial port.

To make readings more stable, number of samples and a low-pass filter can be adjusted in the code provided.

Fully leveraging the advantage of both sensing channels will require some additional work. We provide a possible strategy of how to approach this in our paper.

You can find an overview of all other ressources at zPatch.github.io



    • Microcontroller Contest

      Microcontroller Contest
    • Spotless Contest

      Spotless Contest
    • Science of Cooking

      Science of Cooking

    We have a be nice policy.
    Please be positive and constructive.





    I think we met at CHI a couple of years ago. I really enjoy the work you do. I'm happy to find your comment here.

    Likewise, keep on with the good work : ) and send my regards to Jess McIntosh.

    I've seen quite a few 'wearable' touch input methods, but so far this one has the most potential. Thanks for going the extra mile to turn the scientific work into maker-friendly documentation & code!

    It's unfortunate that the instructables staff doesn't consider this frontpage-worthy. I myself have only seen it by chance over on hackaday, despite lurking almost daily here.

    Thanks for your kind words. If you think this should have more exposure, maybe you could share it on facebook or twitter - I'd really appreciate that, cause I'm super curious to see what others might do with this.

    How durable are sensors built with this method? Could they be used in a shoe?

    I have not done any formal durability testing. Mechanically they are pretty rugged. You may want to give them additional structural integrity by sewing top and bottom layers together.

    I have built shoe-sole sensors using a similar setup and they work well.

    If you try it, report back :-)