Skip to content
Becky edited this page Jun 7, 2022 · 26 revisions

This is a guide for navigating the resources to help you design and build an e-textile smart pillow which can control streaming services like Spotify or Netflix. The pillow connects to a computer using a USB cable. An example of what can be built can be viewed here.

Animated gif of some of the build steps

In more technical detail, an Arduino-compatible board made by Adafruit called a QT Py is connected over I2C to a capacitive touch breakout board called a Trill Craft made by Bela. The QT Py appears as a HID keyboard when connected via USB to a computer. By editing the code, you can associate different touch gestures detected by the capacitive touch board with different keystrokes.

A custom PCB design is available to make connecting the two boards easier. It also features mechanical strain relief for wire connections to the e-textile touch-sensitive electrodes.

This documentation assumes some experience with Arduino, or at least it doesn't provide any explanation of the basics. If you are completely new to Arduino, you may want to start with some of the excellent resources provided at arduino.cc.

Overview of Project Steps

  1. Install the Arduino IDE and supporting libraries. Then test the setup.
  2. Sketch out some ideas for how you'd like to design your pillow and interactions. Choose which streaming service you want to control, select up to 4 (just a suggested maximum) playback controls, and choose which of the of the selection of available gestures you want to map to those controls. You may find the design worksheet to be helpful to work through the options.
  3. Make a paper protoype with copper tape instead of fabric to test your code.
  4. Once you feel confident about your design, make it out of fabric. Iron on conductive fabric electrodes and attach snap sockets to create connection points to the sensor board.
  5. Sew up the edges of the pillowcase.

Visit the installation guide for how to install the necessary Arduino libraries.

It is recommended that you use the Ardino IDE for this project. You will need to add board support to your IDE for the QT Py and install two libraries for the capacitive touch and keyboard emulation functionalities.

Design Resources

Worksheet to guide you through the technical design decisions that need to be made.

A description of the supported touch gestures in the accompanying Arduino code.

How to use copper tape to make a working prototype. It's strongly recommended that you make sure your code and interface works as you would like before you start sewing.

A list of the key combinations for controlling major streaming services.

How to add conductive fabric electrodes to the inside of the pillowcase and how to sew up the sides once the touch interface is fully made.

About

These resources are part of a research project lead by Dr Becky Stewart in the Dyson School of Design Engineering at Imperial College London. It has received funding from the Participatory Research Seed Fund from Societal Engagement at Imperial College London.

Research Participant Information

If you are taking part in an in-person workshop, please read through the Participant Information Sheet and the Consent Form. You will be provided with a printed copy of the Consent Form and asked to sign in person.