Shroom is interactive lamp installation which is in the same time a sound controller. The idea for this installation comes from Ctrl+Alt controllers, which have become a recognizable trend in new media and game design in recent years. Shroom was made as a project in the Physical Computing class in the New Media program in the Aalto University by Olga Tasanko and Marija Šumarac.

The project was created in three phases:

  • Reading different sensors with the Teensy and Arduino Nano
  • Programming Pure Data patch and connecting with sensor’s values
  • Prototyping the installation

Inspiration for the project came when we saw AI generated picture of mushroom and remined us type of lamps that looks like Super Mario mushroom lamps. We wanted to make something that looks like a lamp but has a different touch texture than normal lamps, and if possible be a sound controller so that by moving or touching we have the ability to change the sound. In addition to that, we also wanted this interactive lamp to have a future purpose as a game controller where the original idea was to use it to control the mushrooms in Super Mario game.

About the process

In the first phase of the project, we used Teensy 3.6 (Arduino Nano for testing sensors), two seniors and LED lights. We had to choose the sensor that would work best in terms of the mechanics of the installation itself, which is to get the values detected by the movement so that we can control the sound. The choice fell on the accelerometer. Other sensor that we decide to use to control level of sound as well as LEDs is force sensor.

Since that we didn’t previously use Teensy, we decided to test all sensor codes with Arduino Nano. We used the codes that were part of the example that can be found when the sensors are installed in Arduino environment and they worked. In the next steps we tried codes for force sensor and accelerometer with Teensy and to find a way to connect it with Pure Data. The goal was that the values we get from the sensors are registered in Pure Data and that way we have the ability to control sound effects and pitch. To achieve that we used USB midi codes, which gives the ability to send and receive messages. More about that you can find in this page:

The next step was the LED lights which we also tested using the already ready made codes and we wanted to give them the function that when the force sensor is pressed that way they turn on. The stronger the pressure on the sensor, the more the LED lights up, the lower the pressure, the less.

Simultaneously while testing the code, we worked on the prototype of the installation itself. We didn’t realize how much of a challenge it was to make something that had the shape of a mushroom but that it had to look like a lamp and that it took time to choose the materials. The first step was to take what was available, which were bottles of different sizes, one balloons at the end of the silicone used to cover the holes in the windows.

We knew that we wanted the surface itself on the top of the installation to be made of silicone, so I took that type of silicone, poured it into the foil and formed the shape according to the balloon, which I left to dry. The next step was to determine the height of the installation itself, so for that we used the bottles we found in the workshop. After that, we used the bottle as a model to make only the handle of the silicone mushroom. We used a softer type of silicone to make the handle stretchy and moveable, but on the other hand, to be strong enough to return to its original position.

The process of working with silicone looked like we had to pay attention to how to mix both materials that we got in the box, what time and to get out potential air bubbles. We made a hole in the middle of the handle through which we would pass all the electronics.

After drying the silicone and a few corrections, we ran all the electronics including the LED lights. The next part was to install the fiber optic cables where the LED lights are so that the light can be spread out as much as possible at the top of the installation.

At the same time, we had to think about what the mushroom cap would look like on which we would place the silicone that we previously modeled on the balloon and we decided to have it 3D modeled and printed on a 3D printer using a transparent material.

To make the whole installation complete, we needed a box that would also be a base for the mushroom. We decided to laser cut the box using green acrylic material. We soldered the entire electronics onto a smaller board that could fit in the box and packed it. The last step was to test all the electronics, to make the changes we wanted in Pure Data in terms of how we want the installation to sound, and to test if it is possible to have three states of Force sensor touch strength.

The final result

Final results of how the installation works looks like this:

  • We have programmed the force sensor to have three touch states – weak, medium and strong. Depending on the state in which the sensor is touched, the intensity of the light changes as well as the volume of the sound. the weaker the touch, the weaker the volume and light and vice versa. The sensor is located on top of the installation itself.
  • The accelerometer values are read into the Pure data and change the pitch as well as the concentration of the effects to be used. As the installation moves depending on the x and y axis, the sound changes as well.

Video link:

Challenges and learning outcomes:

When approaching something for the first time such as designing an installation like this including coding it, challenges are something that comes up almost regularly:

  • Choosing a sensor takes a lot of time. Until we came to the conclusion of using an accelerometer and a force sensor, we tried the joystick and capacitive sensor. Time should be planned to try out different sensors.
  • Working with silicone takes a lot of practice. It is very important to take enough time to build prototypes and try things out well in advance. The same goes for 3D printing and making the appropriate model.
  • Pure Data is not compatible with any Arduino. Compatibility is possible with Teensy, but it is best to go with Bela board.
  • Work with sensors that need to communicate with Pure data should be divided into the following phases: test the sensors individually, see what values they give and what the range is, if necessary, limit or convert the values so that they do not go negative, test the connection via USB midi port with Pure data.
  • It’s okay to make mistakes, you learn from mistakes.

Next steps

The next phase of this project is to make the whole installation a joystick with which we will control the game. Sensors will remain more or less the same, perhaps with some added correction. The idea is to link this installation to a Super Mario game clone or make our own game, that’s still under consideration. We will certainly continue to build this project in the coming months, so stay tuned.

To be continued….

Assignment 3

Create a small project that does the following:

  • Read at least two sensor values using Arduino. You can use any sensor you want to but they should be some other sensors than the ones we used in the class examples this week. They can also be two channels from the same sensor such as the X and Y of the accelerometer.
  • Print out the values using the Serial port in a way that you can separate the different values.
  • Create a small sketch using Processing or p5.js (or some other programming environment) to read the sensor values from the serial port. You can use the examples on this page as a starting point.
  • Map the sensor values to some parameters in your sketch. You can simply visualize the data in some way or create something more interesting and meaningful that is more connected to the interaction. Do something else than the example we created today.

For this assignment, I was experimenting with multiple sensors (Ultrasonic distance sensor, Accelerometer, Capacitive sensor..) because I wanted to discover how they are work, but finally I chose TLV493D Magnetometer from Adafruit. One of the reasons that I chose this sensor is because it can be very useful for my final project.

My partners in crime in this project, besides Magnetometer, were Arduino Uno, one big green magnet from my fridge and a Moomin cup with warm coffee. My first step was to be sure that Magnetometer can work for itself:

For the beginning I just trying to use just two values (X and Y) instead of three and to see how it will work just with two. Arduino code was working well, so I decided to switch to p5.js and try out to connect with example from the class.

I didn’t been successful in the making object to change size and color, because values were small and they are going in the minus, but for me it was important to make connection between Arduino and p5.js an that it works. I was struggling because I discover some weird errors and it was been complicated to make connection between those two. Anyway, I decided to try to connect one my of the favorite examples from the last year’s ‘Creative Coding’ course (yup, it is really simple):

This example works in the way if mouse is moved, object and object’s ‘delay’ will be moved in the same direction. My idea was to try to connect values in the way sensor is moving that in the same way object is moving. To be precise, I wanted to track those values to the mouse X,Y values, so that I can track the move with the magnet. Unfortunately I didn’t been successful this time. Next step was to make this work that with tracking values with magnet it will be able to draw a sketch. This idea could be further development of this assignment.

One of the challenges was to understand how serial port is working. For me it seemed everything clear and easy on the class, but at home I discover that I don’t really understand how it works properly. So, one of the tasks for myself is to try out more examples with serial port connection besides final project work and try to understand it better because it can help me for the future projects.

Assignment 2

1. Find an interesting existing Alt+Ctrl Interface #

Explore the archive from GDC, Shake That Button and beyond:

Find one interesting project/controller from there and write a short description of the project. Include a link to it and even embed a video to your site if there it is available. Why did you choose this? What caught your attention?

2. Come up with a concept for your own Alt+Ctrl Interface #

  • Explore at least one sensor in more detail.
  • Think of different interactions and/or gestures that could be detected with the sensor you picked.
  • Choose an existing video game that could be controlled using the interaction/interface enabled by this sensor. You can also come up with a completely new game/game mechanic.
  • You don’t need to make it work yet. Just come up with the idea/concept for your alternative controller.
  • Write about your idea on your site.
  • You can draw sketches or other ways to illustrate your idea.
  • You can also make a prototype if you can, but I am not requiring it.


The project that left a special impression on me is the project Call the Forest. Call the Forest (Haloo, kuuleeko metsä?) is an interactive installation made for a children’s touring exhibition. The installation invites exhibition visitors to call a constructed forest scenery, offering also a possibility to contemplate our relationship with nature and technology.


This project is very complex. It is inspired by the old telephones that were used in the army for communication, but it is actually full of gadgets that tell their own story. However, it seems to me that this project raises the question of how we communicate today, is the natural environment able to communicate without humans and what is for us our natural environment (telephones)? This project consists of a lot of motors, sensors, old Nokia phones, everything that we can mostly found in our home and it was part of our lives. The work is not only visual, it is interactive because we have to discover the code by which it works (calling a proper number) and it is also a sound installation at the same time.


I chose a game called Itsy Bitsy Spider which I created with my colleagues for the Game Jam course held at Aalto University. The theme was “twist“. Inspired by Google Chrome Dinosaur Game, we added a thematic and mechanical twist. The Spider is the protagonist running in the air duct looking for delicious cookies while avoiding scary obstacles like lemon, fire, and slimes. The spider jumps from floor to ceiling to avoid hazards and find cookies.


Spider’s movement in the video game will be controlled by spider toy in which the accelerometer is located. The player will have the freedom to move the spider by holding the spider toy. A movement to the left or right could mean the start of the game or make a pause, while a movement up or down would mean the movement of the spider.










The challenges can be in adjusting the accelerometer as players will need to turn the spider in various directions. Several test phases and clear instructions are required. The installation is designed so that in front of the player there will be a stuffed spider, while behind the spider there will be a screen with a game.