ART
BEAUTY & WELLNESS
CRAFT
CULTURE & HISTORY
ENTERTAINMENT
ENVIRONMENT
FOOD & DRINKS
GREEN FUTURE
REVERSE ENGINEERING
SCIENCES
SPORTS
TECHNOLOGY
WEARABLES
Making a Motion-Reactive LilyPad Patch
Ed

Created by

Ed

13. July 2026FI
0
0
0
0
0

Making a Motion-Reactive LilyPad Patch

Sew a patch that lights up when it moves. A LilyPad accelerometer senses motion in three directions, and a short program flashes an LED whenever you shake or swing it — a reactive costume piece, a dance accessory, or a 'don't-touch' bag alarm. Introduces the accelerometer and reading three sensor axes at once.

Intermediate
1-2 hours

Instructions

1

Sew the board, accelerometer and LED

Sew a LilyPad Arduino, a LilyPad accelerometer and a LilyPad LED onto felt. Wire it: the accelerometer's + to the board's +, its - to -, and its X, Y and Z tabs to analog pins A2, A3 and A4; the LED to pin 5 and to -. Keep every line separate.

Materials for this step:

LilyPad Arduino Simple BoardLilyPad Arduino Simple Board1 piece
LilyPad Accelerometer ADXL335LilyPad Accelerometer ADXL3351 piece
LilyPad LED - 5 pcsLilyPad LED - 5 pcs1 pack
Conductive Thread - 60g (Stainless Steel)Conductive Thread - 60g (Stainless Steel)1 spool
Hand Sewing Needles (Assorted, 30-Pack)Hand Sewing Needles (Assorted, 30-Pack)1 pack
Wool Felt SheetWool Felt Sheet1 sheet
2

Connect the programmer

Plug the LilyPad FTDI onto the programming header and connect the USB cable. Open the Arduino IDE and select the LilyPad Arduino board and its serial port.

Materials for this step:

LilyPad FTDI Basic Breakout - 5VLilyPad FTDI Basic Breakout - 5V1 piece
SparkFun Cerberus USB Cable - 1.8 meterSparkFun Cerberus USB Cable - 1.8 meter1 piece

Tools needed:

Computer with Arduino IDEComputer with Arduino IDE
3

Upload the motion sketch

Paste this sketch and upload. It watches how much the three axes change between readings and lights the LED when the patch moves.

lilypad_motion_reactive.inoarduino
// LED lights up when the patch is moved or shaken.
// Accelerometer X/Y/Z on A2/A3/A4, LED on pin 5.

const int LED_PIN = 5;
const int X_PIN = A2;
const int Y_PIN = A3;
const int Z_PIN = A4;

int lastX, lastY, lastZ;
int moveThreshold = 60;   // raise to need a bigger shake, lower for a light touch

void setup() {
  pinMode(LED_PIN, OUTPUT);
  lastX = analogRead(X_PIN);
  lastY = analogRead(Y_PIN);
  lastZ = analogRead(Z_PIN);
}

void loop() {
  int x = analogRead(X_PIN);
  int y = analogRead(Y_PIN);
  int z = analogRead(Z_PIN);

  // total change since the last reading = how much it moved
  int movement = abs(x - lastX) + abs(y - lastY) + abs(z - lastZ);

  if (movement > moveThreshold) {
    digitalWrite(LED_PIN, HIGH);   // moving -> light on
  } else {
    digitalWrite(LED_PIN, LOW);
  }

  lastX = x; lastY = y; lastZ = z;
  delay(50);
}
4

Test and tune the sensitivity

Hold the patch still — the LED stays off. Shake or swing it — the LED lights. If it's too twitchy or not sensitive enough, change moveThreshold in the sketch (higher = needs a bigger movement) and re-upload.

5

Go wireless and wear it

Unplug the FTDI, sew a LilyPad coin-cell holder to the board (+ to +, - to -), drop in a CR2032 and switch on. Sew the felt onto a sleeve, shoe or bag — it flashes whenever you move.

Materials for this step:

LilyPad Coin Cell Battery Holder - w/Switch - 20mmLilyPad Coin Cell Battery Holder - w/Switch - 20mm1 piece
CR2032 Coin Cell BatteryCR2032 Coin Cell Battery1 piece

Materials

10

Tools Required

1
Estimated Total
$104.00

Related Blueprints

These blueprints share knowledge with this one — techniques, materials, or principles that connect them in the learning graph.

CC0 Public Domain

This blueprint is released under CC0. You are free to copy, modify, distribute, and use this work for any purpose, without asking permission.

Support the Maker by purchasing products through their Blueprint where they earn a Maker Commission set by Vendors, or create a new iteration of this Blueprint and include it as a connection in your own Blueprint to share revenue.

Discussion

(0)

Log in to join the discussion

Loading comments...