Physical Programming & Sensor Garden Prototyping

Our recent experiments with ScratchX, Seeed Sensors, and programming have produced some really interesting prototypes that I think can shed some light on the process that our group goes through when working out new tinkering activities. We've all been sharing ideas with each other and it's been really interesting to see how initial investigations build on one another and lead to new pathways.

A few months ago, Nicole built a prototype of cardboard disks that turn switches on and off to simulate programming (blinks and morse code) through mechanical means. This got us all thinking about how we could approach the concepts of programming with simple materials in a low tech way.


As we've become more interested in programming and sensors, we've discussed and researched ways that these topics could be incorporated into existing activities, new workshops, and past ideas. We thought back to an old PIE workshop from about ten years ago called 'sensor garden' as an interesting idea to revisit. In this atelier, participants used PICO crickets to process inputs and control outputs that responded to the environment in interesting ways. Luckily there was a PDF made at the time with lots of photos, inspirations and examples that we could riff on using the seeed sensors and scratchX programming that we have been messing around with lately. Screen Shot 2016-02-03 at 2.02.32 PM

Sebastian combined these two ideas for a quick experiment during a tuesday Learning Studio meeting where a few of us shared ideas about programming and sensors with the larger group. He connected a cardboard disk to a slow moving motor, cut some holes in it, and placed a couple of light sensors from the Seeed kit under the turntable. He then used Scratchx to connect to the sensors, making it possible to play sounds and change the animation when the light hit the photoresistors. This prototype (reminiscent of the infamous 'drum buddy') was an first attempt to build an experience where people could experiment with both the physical programming of the disks and the scratch animations.


After some initial experiments in the tinkering studio workshop, we've been looking for ways to make the environment around Scratch programming feel more unusual and collaborative. Sebastian's small-scale prototype inspired me to try to create a larger version that multiple groups could interact with at the same time. After the show-and-tell in the meeting, Nicole and I gathered some parts and kluged together a LED from the light play set and a slow moving motor on a tall stand above the workbenches in our mini shop. We adjusted the lights so that they cast a moving shadow about the same size as the tables. It wasn't pretty, but worked ok to get a first sense of the potential of this idea.  IMG_7672

Here's a video of the setup in action. There are a few light sensors attached to the seeed board which are each programmed for a different instrument in scratch. So when they are triggered by either lightness or darkness, they play a sound. Something like this could be set up to allow people to play with the light sensor boards without even programming, to get of sense of how they work before jumping in.


The next thing that seemed interesting is adjusting the scratch program to respond to the sensors on the screen. We thought it might be fun to start with a simple animation and suggest that people could make it their own by adding unique sprites and sounds. IMG_7679

Another direction that we could take this project is creating customized disks that make interesting patterns of light and darkness. Nicole built one out of familiar materials and I think we could go super deep with transparencies, filters, and other semi-translucent objects that may affect the light sensors in complex ways.


What seems most promising about this prototype is that I think it can lead to a bunch of other ideas and things to try. For example, one of the advantages to the PICO boards was that they were wireless and could be programmed and then activated in the natural environment without being connected to a computer. So, we're experimenting with seeed boards and other technologies that may allow for similar wireless explorations.

As well I think it would be really interesting to see if we could create projects that responded to one another using feedback and sensors. I'd love to try and built moving creatures that made sounds or had lights that could activate other devices. All of this seems possible but will require some more tinkering.

For me, it's fun to see how different prototypes build on each other and get changed and modified in the process. I think the tinkering activities and exhibits with the most longevity and success are the ones where it's hard to tell exactly where the idea came from and many of us had a hand in the design. I'm not sure if this light/shadow sensor garden will ever become a full on workshop with visitors, but it feels like a step in the development of computational tinkering, programming, and sensors that I hope will lead to more engaging and collaborative experiences.


Playing with a circuit kit - Lectrify

Screen Shot 2016-02-03 at 2.50.04 PM
Recently, we got to try out a couple of new electronics kits called Lectrify. The parts can be snapped off and embedded directly into your project. It was fun to experiment with this kit and I’d like to share some of the thoughts that I had while playing with it.

I was particularly interested in using the LEDs for a sewn circuits project because it looked so easy to sew on! The LEDs have tiny loops that you can sew through and the polarity is color coded. When we do sewn circuits activity in the Tinkering Studio, there are a few things we have to tell people about before they start sewing:
1) polarity - mark one of the LED legs so you will know which leg is negative/positive
2) techniques for making LEDs sewable - curl up both of the “legs” or leads with a needle nose pliers to make them sewable.
3) tools - We also teach people how to use the pliers, since it’s often their first time using that kind of tool.
With Lectrify, you can skip these steps and jump right into sewing circuits.

I made a bag for my phone with the two LEDs in parallel and two different kind of switches in series (a momentary switch and on/off switch).

I was kind of surprised at how quickly the components turned into a sewn circuit project, which is what I liked most about this kit. Our Circuit Boards are fun to play with and allow you to explore electricity, but they can't be embedded in a project (they weren’t designed for that). With Lectrify, once you explore a circuit and understand how it works, you can take the components and use them for your project. I've seen lots of circuit kits but not so many of them have this kind of embeddability that could be used in broad applications, for example this could be used in sewn circuits, paper circuits, scribbling machines, bristlebots, Lego circuits, etc. The cost isn’t as cheap as raw components, but it’s not that expensive (as of today, it is $5 on Amazon). With its compact size, we were thinking it might be a nice addition to our vending machine in the Tinkering Studio!

Here is another project that I did with Lectrify.
I made a vibrating Lego machine with a pager motor, a battery, and on/off switch.

The tiny loops under each component are actually designed to fit well with Lego blocks. Since we’ve been messing around with Lego recently, it was natural to try to create a Lego project with Lectrify. Then I remembered that we had a special conductive tape that our friend Rachel Hellenga brought a while ago. This tape has holes that align with Lego studs!

Lectrify kit doesn't come with alligator clips or wires, but that actually gives us opportunity to think about what we can use to connect these components. Copper tape, pipe cleaners, tin foil, paper clips, etc., just look around your house to find what you can use to conduct electricity!

Adding a motor to Lego naturally encourages iterations as you see how the machine moves around. It's also great to add a potentiometer to adjust the motion. One thing I have to say though, I actually had a hard time trying to fit the components onto Lego. Although their website says that they fit well with Lego, it was not so easy to do that. I eventually used a hammer(!) to make them fit.

Overall, it was fun to build circuit projects with Lectrify. The motor, lights, switches, potentiometer, and battery work well as a starter kit. I wonder if they’re planning to expand the range of components to add more variety to the circuits. If so, we look forward to playing with those too!


Paper Circuit Programming Inspirations

There are many different ways that we've been thinking about creating experiences that incorporate programming and computation into existing tinkering activities. One of the things that we've been interested in is the possibilities of adapting paper circuits workshops to include more elements of programming and storytelling. Many times when prototyping a new idea, we look around for artists and tinkerers that have used similar tools and techniques to create their own artworks and we use those creations as inspiration for our activity development. I wanted to share a few of the examples that I've seen lately that have inspired me to try out some my own experiments which might grow into projects in the Tinkering Studio.

Ellie the LED v1

Frequent Tinkering Studio collaborator Jie Qi from the MIT Media Lab has lots of experience with these materials Workshops with her Circuit Stickers provided us with our first introduction to the possibilities of combining programming and paper circuits with specialized components. Recently I saw a children's book that she created with Sonja de Boer called "Ellie" that follows an abandoned LED on an adventure, providing a delightful and beautiful look at the high ceiling possible with these materials.

Another inspiring example of paper circuits taken to a new level is a piece called Tickytown by K-Fai Steele. I love how the capacitance sensor gives a more lifelike and organic dimension to the flickering lights in the windows. Her blog also gives a lot of great info about the process she went through to create this piece.

As part of the same show at MIT, Becca Rose created this beautiful paper circuit of raindrops called 'curiousity of rain'. I especially like how she keeps visible some of the copper tape that makes the circuits work as part of the design. While it would still be beautiful without the programmed lights flashing and moving, this one really demonstrates to me how compelling adding this extra element can be when incorporated with the design.


In the tinkering studio, we've messed around a bit with the computational elements of the circuit stickers, but I wanted to see if some of our recent experiments with seeed sensor kits and scratchx could be used to program the paper circuits. I created a traditional paper circuit card (and used a Scratch character, Pico, for the design) and built connection points for alligator clips leading to a LED socket grove kit component. When attached to a PWM (pulse width modulation) port, it was simple to use scratchx to dim the light and make it flicker. IMG_7382

I added in a sensor from the seeed kit so that when someone touched the card, Pico's heart beat. This was a fairly simple design, but I was pretty proud of the results. I like how this project separates out the building with the physical copper tape and LEDs from the programming, but gives a reason to work through both aspects. It's great to be inspired by artists and tinkerers who are pushing the limits of these materials as we try to design opportunities for beginners to play around with the tools and participate in a similar process.


Programming Cats, Dogs and Cockroaches

Recently, we've been doing lots of experiments with Scratch programming and projects that bridge the digital and physical world. Earlier in the month, Ricarose Roque visited the Tinkering Studio and inspired us to start thinking about ways to use Scratch both as a tool for storytelling and a platform to connect homemade objects to the scratch animations with MakeyMakey.

We've been experimenting with ways of replicating and modifying the storytelling workshop for our drop-in environment on the museum floor as well as looking into other activities that combine programming and the physical world in interesting ways.


A few weeks ago, Nicole and I traveled down to the Tech Museum in San Jose after work to participate in a workshop for educators called robot petting zoo, which is a 'makeathon' developed by the TechHive group at the Lawrence Hall of Science. The goal of this compressed two hour workshop was to introduce hummingbird robotics kit, snap programming (a language based on scratch), and craft materials so that participants could build their own animals that respond to sensors in interesting ways. IMG_7207

Each pair started with a cardboard box, which is similar to the way we begin our automata activity. We cut a few holes for the hummingbird board, the servo motors and assorted wires and began to modify our creature by adding pink pipe cleaner antennae.


As we build, the workshop leaders made announcements to share the next steps in scratch and walked around the room to help troubleshoot problems. Our project quickly evolved to become a cockroach that changed eye color and wriggled its antennae when moved to a dark place. The hummingbird board made it easy to add light sensors, servos, and tri-color LEDs with spring socket connectors. I liked how the system allowed for the idea of adding your own homemade sensors and switches to the universal connection points. IMG_7245

Although there wasn't too much time for the entire workshop, at the end of the session most people had something semi-finished and we went around the room to share projects and any troubleshooting tips that we discovered along the way. I was pretty happy with our cockroach and Nicole and I liked how we were more interested throughout the workshop in the physical creation than the screen, and that programming was just a tool we used to animate our robot.


A few days later, I tried to recreate the workshop using slightly different hardware and software that we had been already experimenting with in the Learning Studio. For my initial prototype, I connected a Seeed Studio Grove Kit to the ScratchX arduino extension. I created something similar to what we made at the robot petting zoo workshop using an automata box, two servos, and a slot with a light sensor to activate the bot. IMG_7360

As a second effort, I tried to get a little more free form and constructed a puppy with a grove board embedded inside.


I used hot glue to attach the electronic parts to the cardboard body, and stole a nice trick from the workshop, wrapping the components in painter's tape and then glueing them in place solidly but temporarily.IMG_7354

It was fun to incorporate sound effects from the scratch library to make the puppy even more realistic. I was able to accomplish the project fairly quickly, but it did seem like there were a lot of aspects to the activity that may feel complicated for beginners.

Although the components in the Seeed kit might on the surface seem a little less customizable than the hummingbird kit, the pack comes with relays to allow the arduino to control any object powered by an external battery. Treating the relay like an LED in ScratchX lets you activate circuit board parts and slow moving motors. I experimented a bit with the components in the tinkering studio during a slow day for chain reatction. My code turned the toy part on when the light sensor got covered by the cardboard piece on the slow moving motor. IMG_7522

These initial experiments with the circuit board blocks led to a test of how the scratch board could control the lights, sounds and motion of a dissected and reanimated toy. I was inspired by the AnimaToys workshop created by our friends at Milan Tinkering Zone where they used arduino to create an orchestra out of re-purposed toys. It seems that these new technologies would make it much more approachable for beginners to re-program the mechanisms in a shorter time span.


First, I clipped the wires and disconnected the circuit board from the body of the toy. I traced the wires to the components they controlled and attached alligator clips to the leads. From there I could attach the wires from the LED eyes and the moving arms to the arduino and program the movements. IMG_7547

I constructed a pretty simple code that blinked the LEDs and toggled the motor on and off. It was fun to play around the timing and coordination to sync the movements to songs that are part of the scratch library. One challenge was that the arduino controlled the relay in a simple on and off switch, so that the motor's direction and speed couldn't be adjusted. The last thing that I tried was connecting a MaKeyMaKey to create aluminum foil switches which triggered sounds in the program when hit by the cat's arms.

Through all these experiments, there have been a couple of goals that we've been keeping in mind when thinking about adapting these ideas for visitors on the floor. It seems important for the focus to be balanced between the digital and the physical world and for us to figure out ways where experimentation and delightful surprises are possible, and like the best tinkering activities, support personal expression and multiple outcomes. It's been fun to play around with Scratch programming, sensors, and mechanisms in new ways and I'm looking forward to continuing the experiments.


Telling a toddler's story with Scratch

Scratch & Makey Makey workshop

For the last week or so we have been playing and experimenting with storytelling using Scratch and MakeyMakey with the awesome Ricarose Roque.

I was struck by how powerful the compulsion to create a narrative can be. Coincidentally, my own (I can't believe he's) almost three-year-old son has recently started being very interested in stories: he likes it when people make up stories for him and asks to be told the same ones over and over again, but he's also practicing coming up with his own original narratives. A few days ago, I managed to capture him making up his own narrative on video. It's meandering and weaves in and out of a plot, as toddler narratives tend to do, but it gave me the idea to try and animate his story using Scratch.

In the original video you can hear me interjecting comments and prodding the story along here and there, so I edited the video to keep only the “plot points” in his own voice. That also cut it down to a manageable 24 seconds of story time. Then I exported the audio, imported it into Scratch, and delved into creating a simple animation that is timed to his story. You can check out the results directly in Scratch by clicking here, and see the code that is running the whole thing. Below is a video of the animation with an inset of Marcello actually telling the story.

I found Scratch to be a great tool to make a simple visual narrative come alive. When I showed it to Marcello his response was delighted, and he asked me to replay it about 10 times. What I would like to explore is for this to become more of a collaboration, where we are working on either the story or the animation together, perhaps with him making suggestions for what happens next and me working out how to implement that with him present. It feels like developmentally that's still a few months away, his imagination is too jumpy and his patience not quite able to stretch enough to cover me futzing around with blocks and sprites, but it was a very promising introduction to simple programming in a way that can be shared and enjoyed by a toddler!