Sep. 05, 2014

Squishy Circuits

by AnnMarie Thomas

Click to enlarge images
The Squishy Circuits team developed this activity so that young children (including my own daughters) would have a playful way to explore circuits. Squishy Circuits use two different types of dough as circuit-building materials—one that conducts electricity well, and one that does not. Both doughs are made with readily available ingredients such as flour and salt, and they can be prepared in a pot on the stove. Because of the playful nature of the dough, this activity is suitable for children of all ages.
In this TED Talk about Squishy Circuits, founder AnnMarie Thomas demonstrates their versatility:
Squishy Circuits
  • 4 AA battery pack, with attached terminals
  • Light-emitting diodes (LEDs) – 10mm are easiest to work with 
  • Motor (~30mA)
  • Conductive Dough Recipe – A conductor allows electricity to easily flow through it. In the images below, conductive dough is purple.
  • Insulative Dough Recipe – An insulator does not let electricity flow through it easily. Because of this, insulators act as a wall to electricity, and the electricity must go around them. If a path around the insulator is not available, the circuit cannot be completed. In the images below, insulative dough is white.

    Learn more by downloading the Squishy Circuits classroom guide, or get inspired by the Squishy Circuits how-to guides 
Safety Note: Never connect components, such as LEDs, directly to the battery pack, as running too much current through components can damage them, possibly causing them to overheat or pop. Wear safety goggles, and follow standard electricity safety considerations.
Squishy Circuits Basics
  1. Begin with one lump of the conductive dough. Insert the battery pack’s wires into the dough on opposite sides. Next, insert an LED into the dough. Does the LED light up?

  2. Separate the conductive dough into two pieces. Plug one wire from the battery pack into each piece and bridge the gap with an LED. Does the LED light up?

  3. Now take the LED out and flip it around so that each “leg,” or terminal, is in the opposite piece of conductive dough. Does the LED light up? The LED only works in one direction; this property is called polarity. Take the LED out and observe how one “leg” is slightly longer than the other one. In order to work, the longer terminal must be connected by conductive dough to the positive, or red, wire from the battery pack.
  4. Next, with your LED on, take the two pieces of conductive dough and push them together, or add some dough to connect them. As you probably noticed, the LED went out. This is because a short circuit was created. Electricity flows in a loop called a circuit, which begins and ends at the battery pack. 

    Electricity takes the path of least resistance, meaning it goes through whatever loop is easiest to flow through. In this case, the conductive dough is less resistive than the LED, so the electricity chooses to go around the LED and through the dough.

    If you separate the two pieces, the LED should once again light up because the electricity must go through the
    LED to complete the circuit.
  5. Create a “sandwich,” with the insulating dough between two pieces of conducting dough. Does the LED light up?

    The insulating dough does not let electricity flow through it easily—it acts like a wall to electricity. Therefore, the electricity has to go around the insulating dough and through the LED, and so the LED lights up.
  6. Now we can create Squishy Circuits that do not have to be separated, like this one:
Create your own Squishy Circuits by combining multiple LEDs, a motor to create motion, or perhaps a buzzer for sound!
For even more Squishy Circuit projects, videos, and classroom ideas, visit
About Squishy Circuits
The Squishy Circuits project is part of work done by the undergraduate research students in Dr. Thomas’ Playful Learning Lab at the University of St. Thomas School of Engineering. This lab, staffed by undergraduate research assistants, looks at ways in which engineering concepts can be explored through play. In particular, former students Samuel Johnson and Matthew Schmidtbauer were integral to the development of the Squishy Circuits project.
About AnnMarie Thomas

AnnMarie Thomas, Ph.D., is an associate professor at the University of St Thomas School of Education, where her research focuses on PK-12 education and Playful Learning. She is mother and maker who studies aerial arts in her spare time. Follow her @amptMN

The views expressed are those of the author and are not necessarily those of Science Friday.
EVAL ERROR: Entity: line 1: parser error : Space required after the Public Identifier

Entity: line 1: parser error : SystemLiteral " or ' expected

Entity: line 1: parser error : SYSTEM or PUBLIC, the URI is missing


line 1: package tmpevalpackage;
line 2: sub doEval { 
line 3: 	my($parent);
line 4: 	
line 5: 	if($LayoutManager::url_resolved_values{'SEGMENT.nickname'}) {
line 6: 		$parent = $LayoutManager::url_resolved_values{'SEGMENT.nickname'};
line 7: 	}
line 8: 	elsif($LayoutManager::url_resolved_values{'VIDEO.nickname'}) {
line 9: 		$parent = $LayoutManager::url_resolved_values{'VIDEO.nickname'};
line 10: 	}
line 11: 	elsif($LayoutManager::url_resolved_values{'DOCUMENT.nickname'}) {
line 12: 		$parent = $LayoutManager::url_resolved_values{'DOCUMENT.nickname'}
line 13: 	}
line 14: 	
line 15: 	if($parent) {
line 16: 		my(@books) = &Database::SelectClause('BOOK',"parent = $parent");
line 17: 		if(!@books) {
line 18: 			$parent = '';
line 19: 		}
line 20: 	}
line 21: 	
line 22: 	if(!$parent) {
line 23: 		my(@sel) = &Database::SelectClause('GLOBAL','record all ""');
line 24: 		if(@sel) {
line 25: 			$parent = 'GLOBAL.' . $sel[0];
line 26: 		}
line 27: 			$main::ENV{'reading_header'} = "FEATURED READING";
line 28: 	}
line 29: 	
line 30: 	 = '';
line 31: 	
line 32: 	if($parent) {
line 33: 		my(@books) = &Database::SelectClause('BOOK',"parent = $parent");
line 34: 		0 = 0;
line 35: 		my $dots;
line 36: 		foreach(@books) {
line 37: 			my(%data);
line 38: 			&Database::GetRow($_,'BOOK',\%data);
line 39: 			my($status,$title,$author,$url,$image,$width,$height) = &SciFri::Schema::getAmazonItem($data{'isbn'});
line 40: 			if($data{'title'}) {
line 41: 				$title = $data{'title'};
line 42: 			}
line 43: 			if($data{'author'}) {
line 44: 				$author = $data{'author'};
line 45: 			}
line 46: 			if($status eq 'ok') {
line 47: 				 .= "<div class=\"box-2x1-item box-slide\" data-href=\"$url\">";
line 48: 				 .= "	<div class=\"box-2x1-item-photo\">";
line 49: 				 .= "		<div class=\"image-wrapper\" data-jsclass=\"imageWrapper\" data-align=\"right\">";
line 50: 				 .= "			<img src=\"$image\" data-width=\"$width\" data-height=\"$height\">";
line 51: 				 .= "		</div>";
line 52: 				 .= "	</div>";
line 53: 				 .= "	<h4>$title</h4>";
line 54: 				if($author) {
line 55: 					 .= "	<p>by $author</p>";
line 56: 				}
line 57: 				 .= "	<div class=\"box-2x1-more-button\"><a href=\"$url\"><img src=\"/images/v1/icon_text_more_white.png\" width=47 height=15 border=0></a></div>";
line 58: 				 .= "</div>";
line 59: 				++0;
line 60: 			}
line 61: 		}
line 62: 	}
line 63: 	if($parent eq "GLOBAL.1") { $main::ENV{'reading_header'} = "FEATURED READING"; }
line 64: 	else { $main::ENV{'reading_header'} = "RELATED READING"; }
line 65:  };
line 66: &doEval();
line 67: 1;

Science Friday® is produced by the Science Friday Initiative, a 501(c)(3) nonprofit organization.

Science Friday® and SciFri® are registered service marks of Science Friday, Inc. Site design by Pentagram; engineering by Mediapolis.