Keep the Change

Author: Michael Summary: What if receipts were an opportunity to share stories? Abstract: What if receipts were an opportunity to share stories? Keep the Change is a project to distribute stories tangibly, in a way that people can take home and rediscover later, and maybe even continue to carry with them. Repository:

What is Keep the Change?

I was emptying out my pockets the other day when I started thinking about all the stuff we carry… all the loose change, all the gadgets, and all of the odds and ends we pick up and take home with us without even realizing it.  I tend to accumulate a big pile of receipts in my wallet and have to clean it out every so often so that it still fits in my pocket.  I found old slips from fortune cookies, a few movie stubs, and several embarrassingly redundant grocery lists.  But what is a receipt?   In a broad sense, we might say that a receipt is a record of an exchange.  But what if they could tell us more than just what we buy?  What if receipts were an opportunity to share stories?  Keep the Change is a project to distribute stories tangibly, in a way that people can take home and rediscover later, and maybe even continue to carry with them.

Keep the Change is a small, portable installation that redefines the common receipt as a vehicle for sharing stories and messages.  The device stores a database of stories.  When the participant presses the red button, a random story from the database is printed for the user to read and take home.  Weeks later, when the participant cleans out his or her wallet, they may find the story and reflect on it again.

For the first installation of Keep the Change, I downloaded 42 short text stories from the Hear Me database.  The Hear Me project is a product of the Community Robotics Education and Technology Empowerment (CREATE) Lab whose goal it is to collect, catalog, and disperse stories from children about the things they care about most.  The premise of the project is that children have important things to say, but often lack the means to be heard.

Later in May, the Keep the Change prototype will be used at Assemble as part of an exhibit on the CREATE Lab and our projects.  The device will dispense text from our website that describes our projects, along with our core principles and future goals.

Hardware Design


I wanted to keep the installation simple and small while still inviting interaction.  After several unsatisfying ideas involving larger printers and textual instructions, I decided that the device should be a simple white box with a red button on the top and no indication of function.  The red button stands out in sharp contrast to the otherwise unremarkable surface, but not in a way that threatens unwanted consequences if pushed.  People identify arcade buttons as pleasantly tactile, and if placed near a store counter or on a table in the open, most individuals let their curiosity overcome any trepidation.  Because the receipts vary in length but are typically short, multiple interactions are possible from the same user.  Some people keep the receipts, while others leave them on the table where others find them.  These left-behind receipts serve as an indication of the box’s function, and are usually inspected prior to pushing the button.  In future installations, a few starter receipts might be left around the box.  Alternatively, a pin-board behind the box could allow people to display the stories they have received, and a tethered marker could allow people to write comments on how the stories made them feel.

Technical Details


  The box contains an power supply, a miniature thermal printer available from CuteDigi (, a 2gb micro SD card for storing content, and an mbed NXP LPC1768 microcontroller (  The case is rapid-prototyped ABS plastic, made using a Cube 3d printer (  Because of the large size of the part and potentially some thermal calibration issues, several cracks opened up along the sides of the case, which I sealed using white air-dry modeling clay.  I plan to print a new case from Shapeways in preparation for the May installation at Assemble.

Text stories are first pre-processed using a Matlab script which simplifies the file names, adds headers and footers to each story that include the teller’s name and age, and breaks the text into lines of appropriate length for the thermal printer.  This avoids having words be split when the text wraps to a new line without having to format each story as it is printed.  The mbed code simply waits for a debounced button press and then reads a random story from the SD card over serial to the thermal printer.  A five-second delay is used to prevent multiple presses from printing more than one story at a time.

This entry was posted in project-3 on by .

About Michael

I am a PhD student in the Robotics Institute under Professor Illah Nourbakhsh. I'm interested in creating new ways to extract and convey meaning from large amounts of non-homogeneous data. In my free time, I like to make shiny things and unicycle. I'm a bit slow at typing and many other things because I shattered my dominant right arm at the beginning of 2013. I don't expect to regain full use before 2014. On the plus side, my elbow is now mostly stainless steel plates and lag bolts.

Leave a Reply