I have some experience with simple arduino projects, and even if I taught myself electronics I still struggle a lot with programming. I still rely largely on the "Arduino Starter Kit" book for anything I want to make, because I can always find an example that I can modify and use for what I need to to.

This time I started from the Touch Sensor Lamp example by Scott Fitzgerald that uses the CapacitiveSensor library by Paul Badger. The sketch reads the value from an "antenna" that sense the variation of capacitance from close or touching objects and if the value goes over a specified threshold an LED turns on.

I tested it with a piece of conductive fabric that can be used as an antenna. I made some tests with bright LEDs, but turning on and off a light seemed a little boring, so I tried to mix the program with the one called Light Theremin, that uses the Tone function to generate sound over a piezo. The program I wrote maps the capacitance values to different frequencies so that you can play different tones.

I think it is quite fun, it is basically a glove that plays a sound everytime you tap on the table. In the video it works onlky by touching metal (aluminum) but if I tweak the code I can decide the exact range of values and threshold.


Making the glove was not easy as I expected and I made many mistakes, so I will have to make a new one, larger and with better sewing.

The code (WIP)

This code was created by Saverio Silli for Textile Academy 2017
www.textileacademy.org, based on the:

 Arduino Starter Kit example
 Project 13  - Touch Sensor Lamp
 Created 18 September 2012
 by Scott Fitzgerald

 Software required :
 CapacitiveSensor library by Paul Badger

 This example code is part of the public domain

// import the library (must be located in the
// Arduino/libraries directory)
#include <CapacitiveSensor.h> 

// create an instance of the library
// pin 4 sends electrical energy
// pin 2 senses senses a change
CapacitiveSensor capSensor = CapacitiveSensor(4, 2);

// threshold for turning the piezo on
int threshold = 10000;

void setup() {
  // open a serial connection

void loop() {
  // store the value reported by the sensor in a variable
  long sensorValue = capSensor.capacitiveSensor(30);

  // print out the sensor value

  // if the value is greater than the threshold
  if (sensorValue > threshold) {

  // map the sensor values to a wide range of pitches
  int pitch = map(sensorValue, 300, 25000, 50, 4000);

  // play the tone for 100 ms on pin 8
  tone(8, pitch, 100);

  // wait for a moment
  // if it's lower than the threshold
  else {
    // turn the piezo off


There are just a few electronic components needed: there is a Shanghaino (Arduino clone), a piezo buzzer and a 1 Mega ohm resistor.

Files Storage

You can find all files and view, clone or download my website repository at the following address: gitlab.fabcloud.org/saveriosilli