How to build a paper pop-up piano

As a mini-project in the course Making Things Interactive, I created a prototype of a pop-up piano with six keys. When a key is pressed, the corresponding musical note plays through a speaker. A pull-tab can be also be pulled or pushed to dim or brighten an LED by means of a paper variable resistor.


  • 4B or 6B graphite pencil
  • Arduino
  • bristol paper
  • copper eyelets (metal findings for jewelry making)
  • copper tape
  • cutting mat
  • glue
  • metal ruler
  • needle
  • piezo speaker
  • LED
  • tape, nonconductive (artist or scotch works)
  • wire, beading
  • wire, insulated
  • X-Acto knife

Step 1: Pop-up keys

Measure, cut, and fold six pop-up piano keys along the mid-line of one sheet of bristol paper; this will be the top sheet of the pop-up. Fold another sheet of bristol in half; this will be the backing sheet of the pop-up. If desired, cut the silhouette of the top half of both sheets into an interesting shape.

Construction Notes:

Paper piano keys pop-up
Paper piano keys pop-up

I hadn't made pop-ups before, so I practiced with regular paper before I started using the (more expensive) bristol paper. Based on my first trial run, I reduced the height of the piano keys from 1 inch to 0.5 inch. The lower key height reduced the amount of bowing the paper did when pressed down, which helped it spring back to its original form when released.

Drawing piano keys on bristol
Drawing piano keys on bristol

I did a second trial run of the pop-up with bristol paper. The bristol was thicker than regular paper, and based on my results, I decided to reduce the key height further, from 0.5 inch to 0.25 inch, to improve the key-press action with this particular material. For my final prototype, I also drew and cut the keys before folding the paper in half, so that I avoided having a fold line across the top surface of the keys (faintly visible in the next photo of my second trial version).

Pop-up keys - second version
Pop-up keys - second version

Step 2: Key switches, side #1

On the bottom sheet of bristol, lightly mark with a pencil where the underside of the piano keys will be and coat the area with an adhesive conductive material such as aluminum foil or copper tape. This area will be one side of the switch mechanism that will activate when a key is pressed. Using a needle, poke one hole in the mid-line fold of the paper and stick a copper eyelet through it so that the round part is sticking out from the back side of the paper and the rod is on the front side. Tape the rod of the eyelet to the conductive surface area of the paper with copper tape.

Construction Notes:

Pop-up backing sheet
Pop-up backing sheet

Originally I had each key switch wired as an independent circuit, as shown in the above photo. Later in the construction, I changed this so that they tied together on the bottom with copper tape because all the switches connect to +5V through this bottom layer. Making this small change enabled me to remove all but one of the copper eyelets that extended through the fold line and simplified the wiring in the back. I used aluminum foil to increase the conductive surface area under each key because I only had about 10 inches of copper tape at my disposal and wanted to make it last.

Step 3: Key switches, side #2

To make the other side of each switch, lay the top sheet on top of the backing sheet so that you can see the backing sheet through the gaps the pop-up keys make in the top sheet. Using the needle, poke a hole through the backing sheet beneath the surface of each key and stick a copper eyelet through the hole so that the round part is sticking out from the back side of the paper and the rod is on the front side. Tape the rod to the underside of the piano key with copper tape so that when the key is depressed, the rod makes contact with the conductive surface on the backing sheet, closing the switch.

Step 4: Paper variable resistor

To make the paper variable resistor, cut a narrow paper strip out of a sheet of bristol and demarcate a strip about 0.25 inch wide. With a graphite pencil (preferably 4B or 6B), scribble like mad in this area until the surface is completely coated with graphite. Calibrate using a multimeter and two paper clips, attaching one paper clip to one end of the graphite-coated strip and moving the other paper clip along the strip while measuring the resistance across the clips. Glue the strip (graphite facing up) to the lower half of the backing sheet along the left or right edge or, if you feel like throwing caution to the wind, repeat the scribbling/calibration procedure directly on the backing sheet itself.

Paper variable resistor construction
Paper variable resistor construction

Step 5: Pull-tab

Using a needle, poke a hole through the mid-line fold of the backing sheet where the graphite strip meets the backing sheet and stick a copper eyelet through the hole so that the round part is sticking out from the back side of the paper and the rod is on the front side. Attach the rod portion to the graphite strip with a piece of copper tape. Cut another paper strip out of bristol that is 1 inch wide and slightly longer than half the length of the backing sheet. This will be the pull-tab that changes the resistance of the paper resistor. In the area of the top sheet of the pop-up that lies directly over the graphite strip, measure and cut a long narrow slot such that the pull-tab can slide along it and make a 1-inch slit perpendicular to the slot near the edge where the tab will be pulled. Thread the pull-tab through the slit and attach to the slot with a piece of bristol so that it slides easily. (See The Elements of Pop-Up by David A. Carter and James Diaz for more detail on constructing the pull-tab mechanism.)

Using a needle, poke a hole through the mid-line fold of the backing sheet where the pull-tab meets the backing sheet and and thread a length of beading wire through the hole. Attach the beading wire to the underside of the pull-tab with a piece of copper tape, making sure that it does not contact the piece of tape on the graphite strip.

Step 6: Wiring

Wire up the switches and variable resistor to the Arduino using the beading thread and copper eyelets that are extending through the backing sheet. Wire up a piezo speaker and LED for outputs. Adhere the Arduino and breadboard to the back of the backing sheet.

Construction Notes:

Originally, I had a 220Ω resistor between the speaker and the output pin on the Arduino (the smallest resistor I had). The sound coming out of the speaker, however, was very quiet. When I removed this resistor, the notes played at a better volume for demonstration purposes and, more importantly, the speaker did not burn out.

Step 7: Code

I referenced Tom Igoe's Tone Output example and used the Arduino Tone library to play the musical notes.

See the code for the Pop-up Piano.

Gong Whacker 3000

Behold my latest masterpiece for Making Things Interactive, a dazzling demonstration of mechanical movements.


circuit driving the DC motor


4-bar linkage


pivot point made of pipe cleaner twisted and duct-taped to my rapid-prototyping rig (aka my desk)



string harness holding wooden dowel

Unrelated to the final device, this is an earlier attempt at creating a Geneva drive out of bristol board, Q-tips, and foamcore. When the disc turns, it moves a pin affixed to its surface. That pin threads through a slot in the wheel, turning the wheel intermittently. However, on the next disc revolution, the pin doesn't quite line up with the next slot on the wheel. When it comes to making wheel and gear mechanisms, precision is important.


Making a footswitch

For the course Making Things Interactive I am taking this fall, I had an assignment to make a switch. I decided to make a footswitch, which you can see in action here:

To make the footswitch, I used two cutting boards that were laying around the house. To the bottom board, I taped a sheet of aluminum foil and made a border of foam tape around the edges. On top, I stuck the second cutting board with a wire taped to the underside. The foam tape created separation between the two boards, yet was springy enough that when a person steps on the top board, the wire taped to its underside comes into contact with the aluminum foil on the bottom board, closing the switch. When pressure is removed, the top board springs up again, opening the switch.




Email, calendar, to-do list - oh my!

What do e-mail, calendars, and to-do lists have in common? They all help keep my busy life running smoothly and efficiently. Or they would, if I could only figure out how to combine them in a simple, streamlined interface. So here is my latest attempt to unite my email, calendar, and to-do list in one place for maximum utility and minimal cost... I first discussed Remember the Milk (RTM) in a previous post, but to refresh memories, it's essentially a web-based to-do list. I like to be able to see my to-do items and my upcoming events in one place, so I've been investigating how to combine RTM with Google calendar. And since I set up Google calendar to email me reminders about things, I thought it would be even better to combine RTM, Google calendar, and Gmail into a procrastination-fearing Frankenstein of organizational applications.

Side note: This is possible thanks to some beta features in Gmail. Beta means these features have been released into the wild for testing purposes but could change, break, or disappear at any time. Hey, did I mention they're free?

I started by venturing into my Gmail settings. There is a section in here called Labs that contains a collection of experimental features for Gmail. They are all disabled by default, so like an efficiency ninja, I swooped in and enabled a select few:

  • Right-side chat
  • Right-side labels
  • Google Calendar gadget
  • Add any gadget by URL

The first two features move the Gchat and Labels boxes respectively from the left side of the Gmail interface to the right. This wasn't strictly necessary, but the left side is premium screen real estate (since as English-readers, our eyes are trained to go to the left first), and I'd much rather see my calendar and to-do items there instead.

Enabling Google Calendar gadget adds a Google calendar gadget to the Gmail interface on the left side where Gchat used to reside.

Add any gadget by URL makes it possible to add an RTM gadget beneath the calendar gadget, but it takes one more step to actually add it. Still in Gmail Settings, I went to the Gadgets section and entered the following URL:

Now when I access Gmail, I see my Google calendar events and my RTM to-do items on the left, my email in the middle, and Gchat and labels on the right. Zzzap, zzzap, zzzap! IT'S...ALIVE!!!

How the Internet is shaping our brains

There is an interesting article in The Atlantic about how the Internet may be shaping our thought patterns. The author makes the generalization (based on anecdotal evidence) that people tend to skim rather than read online, and that our ability to read with deep, sustained engagement becomes impaired as a result. He claims he cannot even read a long article anymore without getting distracted. Maybe I'm just old-fashioned, but it sounds to me like the author is taking web surfing and multitasking to extremes. I get a lot of information from the Internet, but I don't consider it a replacement for in-depth magazine/journal articles and books, and I still enjoy delving into a weighty tome for an hour at a time. Or several hours, if my newly arrived copy of Breaking Dawn has anything to do about it. People get information from a variety of media presented at different density levels, and that seems to me like a pretty healthy state of affairs. Sometimes we just want an overview, and sometimes we actually want to learn enough about a topic that we can carry on a conversation with others about it. How deep we want to go just depends on where our individual interests lie.

Admittedly, magazines nowadays (MIT Tech Review being one guilty party) are trying to appeal to the stereotype of a skim-happy public by encapsulating their articles in blurbs at the front of the magazine. Reading these predigested morsels in print, however, strikes me as a waste of time. After all, if I wanted shallow summaries, I could always go to the web site. (Well, actually, I'd check my RSS feed, but that's beside the point.) If I have gone to the trouble of procuring a physical magazine, with pages I can stare at without getting computer monitor glow fatigue, that conforms to the shape of my grip and doesn't mind getting rained on or stuffed into a bag alongside sharp metal objects like keys, I'm going to read whole articles. But maybe that's just me.

Web 2.0 Whatnot

I got an iPhone this weekend, and now I find myself swimming in a sea of Web 2.0 - you know, that lowercase, twitterific, round-cornered, how-is-this-making-any-money, privacy-what's-privacy thing currently popping up like mushrooms all over the Internet? Yeah, that. There are so many shiny little logos to choose from in the iTunes App store. On which productivity-enhancing widgets will I squander my time on next? So far I've sampled urbanspoon, Remember the Milk, Jott, reQall, Bloomberg LP, Remote, and WordPress. My favorite so far is the location-sensing urbanspoon. No more agonizing over which restaurant to choose - just shake the phone and go eat where it tells you to. Of all the apps I've tried, it is by far the most genuine time-saver. Plus, it kinda makes me feel like I'm at the Vegas slot machines when I use it. Come ooon, big dumpling!

Jott, reQall, and Remember the Milk are all web-based personal reminder systems. Jott and reQall are notable in that once you sign up for an account, you can call a phone number and leave voice notes for yourself, which their systems transcribe into written notes that get stored in your account. There's no speech recognition training (thank goodness), and both services coped fairly well with my basic phone tests. Jott even boasts the capability to transcribe posts and send them directly to your blog. In my mind, that brings drunk dialing to a whole new level. You can also create lists and say which list you want a note added to when you call, so if you are on the go and suddenly remember you need to buy apples, you can call the number and save a reminder to your grocery list. Jott has more open-ended capabilities - sending to other applications like blogs, for example - while reQall can be clever and automatically sort your notes into lists depending on keywords it detects. So if you call reQall and say, "Buy apples," it will know to store that note on your shopping list without you having to specify which list you mean.

I figured since I already dived in, I might as well check out Posterous, the blog service that lets you post to multiple places at once. Productivity-enhancing, right? Well, the name makes me giggle, anyway, because it looks like "posterior." Or "preposterous"...but later. I haven't found an iPhone app for it yet, but I'm sure if one comes out, the news will spread like wild (mushrooms on) fire.