Introduction

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.
    • 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.

    • 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.

    • 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.

    • 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.

    • 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

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

      Cut out both sides with fabric scissors.

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

    • 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.

  1. int heartPin = 10;
    
    void setup()
    {
      pinMode(heartPin, OUTPUT);
    }
    
    void loop()                         // run over and over again
    {
      digitalWrite(heartPin, HIGH);
      delay (500);
      digitalWrite(heartPin, LOW);
      delay (500);
    }
    • Upload this sketch to the EagLED and you should see the LED blinking with a delay of half a second in between.

  2. 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.

    • 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.

  3. 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.

    • 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.

    • 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.