Interactive Felt Monster with EagLED

Create a felt monster by using felt fabric, the EagLED and conductive thread

Written By: Cherie Tan

Dash icon
Difficulty
Medium
Steps icon
Steps
14
The Interactive Stuffed Monster from the Sew Electric Book is a great project to test your sewing and circuit-building skills. 

In this guide, we will show you how to create an interactive monster made of felt fabric, conductive thread, the EagLED, and a tiny speaker.

Complete this guide to create a felt fabric monster that can glow, sing and respond to touch.

Step 1 Overview

This guide will show you how to create an interactive felt monster with the EagLED. The felt monster will respond to touch, and play a song when the circuit is complete (by touching conductive tape on the felt monster).

In this guide, you will need the EagLED, Lilypad buzzer, alligator clips for prototyping, conductive thread and a sewing needle, fabric of your choice, and copper tape.

Step 2 Design your monster

Design a shape for your monster, then draw it on a piece of paper. 
Decide on a colour scheme as well as any felt decorations you would like to add to it.
With a sheet of paper, cut the design out to be used as a template.
Then, trace its outline on two sheets of felt fabric with a fabric marker. One sheet will be used as its front and the other its back.

Step 3 Design the circuit

Next, it's time to plan out on where you will be placing the components on the felt monster. In this guide, we will place the EagLED main board on the back side of the monster. The heart-shaped LED will be shown on the front, where its hand is. Then, we'll place the Lilypad buzzer on the front, on its other hand.

Step 4 Some tips

Before we get more into the circuit design, let's look at a few points you may want to take note of.

Most importantly, to prevent short circuits from happening, or from hurting yourself, do not let stitched lines from different pins or tabs cross each other. Make sure they are not too close with each other either. For example, in the diagram, a line of conductive thread (from '-') touches another line of conductive thread (from '+'). This will cause a short circuit. Avoid doing this!
With that said, if the '-' on two components are using the same 'GND' pin on the EagLED, it is okay for these two stitched lines to cross. 
Finally, to minimise any hassles, make sure that you have planned out your circuit design. Without doing so, you may run into trouble i.e. creating short circuits or having unnecessarily long stitched lines.

Step 5 Design the circuit (continued)

Plan out how the sew tabs will be connected to each other. Using alligator clips, connect the LED to the EagLED: '+' to '#10'
Next connect '-' to 'GND'
Then, the '-' sew tab Lilypad speaker can be connected to the LED. This means they will share the same 'GND' sew tab on the EagLED. Connect it such that '+' on Lilypad speaker to '#3' on EagLED.
Next, connect '-' on LED with '-' on Lilypad speaker
Finally, connect '-' on LED to 'GND' on EagLED

Step 6 Cut out felt fabric

Now that you have planned it out, it's time to begin building. 

Cut out both sides with fabric scissors.

Step 7 Attach components with glue

Next, use a dollop of glue on the backside of the components, without filling any of the sew tabs with glue.

Step 8 Begin Sewing

Begin by sewing one side of the monster together. Use non-conductive thread for this, any regular embroidery thread will do. This will make it easy to connect the components on the back to the front side by connecting it across the seam. 

Connect the LED's '+' sew tab to Pin 10 on the EagLED.
Connect the speaker's '+' sew tab to Pin 3 on the EagLED

Connect '-' sew tab on speaker to '-' on LED
Connect '-' on LED to 'GND' on EagLED
Don't want the stitches to show in the front side? To hide the stitched lines from showing up in the front side of the monster, use a thick piece of fabric or felt and simply stitch only partway through the inside of the felt fabric, with each stitch.

Step 10 Make it sing

int led = 10;     //LED attached to pin 10 on EagLED
int speaker = 3; //speaker attached to pin 3 on EagLED

int C = 1046;
int D = 1175;
int E = 1319;
int F = 1397;
int G = 1568;
int A = 1760;
int B = 1976;
int C1 = 2093;

void setup() {
  pinMode(led, OUTPUT);
  pinMode(speaker, OUTPUT);
}

void loop() {
  digitalWrite(led, HIGH);
  delay(100);
  digitalWrite(led, LOW);
  delay(100);

  tone(speaker, C);
  delay(100);
  tone(speaker, D);
  delay(100);
  tone(speaker, E);
  delay(100);
  tone(speaker, F);
  delay(100);
  tone(speaker, G);
  delay(100);
  tone(speaker, A);
  delay(100);
  tone(speaker, B);
  delay(100);
  tone(speaker, C1);
  delay(100);
  noTone(speaker);
  delay(100);
  
}
Upload this sketch to the EagLED and you should see the LED blinking with a delay of half a second in between. You should also hear the notes, C, D, E, F, G, A, B, and C1 being played through the speaker.

Step 11 Attach aluminum foil or conductive tape

Cut out two pieces of aluminum foil or conductive tape, in the desired shape of your choice.
One of the pieces will be connected to 'GND' on the EagLED, while the other piece will be connected to '#A9' on the EagLED.

Step 12 Give it a sense of touch

int led = 10;     //LED attached to pin 10 on EagLED
int speaker = 3; //speaker attached to pin 3 on EagLED
int aluminumFoil = A9;
int sensorVal;

int C = 1046;
int D = 1175;
int E = 1319;
int F = 1397;
int G = 1568;
int A = 1760;
int B = 1976;
int C1 = 2093;

void setup() {
  pinMode(led, OUTPUT);
  pinMode(speaker, OUTPUT);
  pinMode(aluminumFoil, INPUT);
  digitalWrite(aluminumFoil, HIGH); //initializes the sensor
  Serial.begin(9600);               //initializes the communication
}

void loop() {
  sensorVal = analogRead(aluminumFoil);
  Serial.println(sensorVal);
  delay(100);
  if (sensorVal < 1000) {
    song(100);
  }
  else {
    blinkPattern();
  }
}


void song(int duration) {
  tone(speaker, C);
  delay(duration);
  tone(speaker, D);
  delay(duration);
  tone(speaker, E);
  delay(duration);
  tone(speaker, F);
  delay(duration);
  tone(speaker, G);
  delay(duration);
  tone(speaker, A);
  delay(duration);
  tone(speaker, B);
  delay(duration);
  tone(speaker, C1);
  delay(duration);
  noTone(speaker);
  delay(duration);

}

void blinkPattern() {
  digitalWrite(led, HIGH);
  delay(100);
  digitalWrite(led, LOW);
  delay(100);
}
Upload this sketch to the EagLED and you test out the aluminum touch pads. It should trigger the music. 
If not, adjust the threshold for the '1000' in  if (sensorVal < 1000)  to a higher or lower value.
To keep the code organized, the song has been put into its own function, void song(int duration) and the blinking pattern in void blinkPattern()
To change how fast the notes will play, change '100' in song(100);
For example, changing it to '2000' will result in each note being drawn out for a longer time. Changing it to '50' will increase the speed.

Step 13 Sew and stuff the monster

With the coding and testing out of the way, it's time to sew the back and front together using non-conductive thread. Stitch along the outside edge of the monster.
Leave a bit of a space open so that you can then stuff the inside of it with polyester filling until it is full. 
Finish up with the sewing by stitching up the rest of the seam. 
Tie off the thread then cut off any excess ends.

Step 14 Conclusion

Now that you've finished making the felt fabric monster, give it a test.
Press both bits of conductive tape at the same time, and you should hear it sing.
You can watch the video with audio here.