midi shoes

a inductive distance sensor, optical sensors or vibration sensors for triggering would probably work better, the peizo’s had a hard time picking up the taps.

also a good practice for quick foot movements or other musical tasks is foot wiggling if you can practice at home and resist the urge to do it in public untill you know how it looks. wiggle the big toe fast as you can to get better too sometimes it helps to put your smaller toe over the bigger toe. up and down toe/heal tap or over the other knee side side to side(probably easiest to get fast musical recording movements with ?).

updates later, basic midi note triggering.

MIDI note player


The circuit:
– digital in 1 connected to MIDI jack pin 5
– MIDI jack pin 2 connected to ground
– MIDI jack pin 4 connected to +5V through 220 ohm resistor

created 13 Jun 2006
modified 13 Aug 2012
by Tom Igoe

This example code is in the public domain.

const int ledPin = 13;
const int knockSensor0 = A0;
const int knockSensor1 = A1;
const int threshold0 = 1000;
const int threshold1 = 500;
const int knockSensor2 = A2;
const int knockSensor3 = A3;
const int threshold2 = 1000;
const int threshold3 = 500;

int sensorReading0 = 0;
int sensorReading1 = 1;
int sensorReading2 = 2;
int sensorReading3 = 3;// variable to store the value read from the sensor pin
int ledState = LOW;

void setup() {
// Set MIDI baud rate:

void loop() {

sensorReading0 = analogRead(knockSensor0);
sensorReading1 = analogRead(knockSensor1);
sensorReading2 = analogRead(knockSensor2);
sensorReading3 = analogRead(knockSensor3);
// if the sensor reading is greater than the threshold:

if (sensorReading0 >= threshold0)

// for (int note = 0x1E; note < 0x5A; note ++) {
// noteOn(0x90, note, 0x45);
// noteOn(0x90, note, 0x00);
// }
if (sensorReading1 >= threshold1)
if (sensorReading2 >= threshold2)
if (sensorReading3 >= threshold3)

// plays a MIDI note. Doesn’t check to see that cmd is greater than 127, or that
// data values are less than 127: