Category: Experiment 1

The Acryliscope

Group Members:

–  Thoreau Bakker

–  Orlando Bascunan

– Afrooz Samaei



The Acryliscope is an automated kinetic kaleidoscope. It features opaque, transparent and mirrored acrylic, multiple servo motors and an Arduino microcontroller. It is the final output of an assignment allowing three main components: an ultrasonic (distance) sensor, a servo motor, and a main material — acrylic. As a viewer approaches the device and leans down to look through the kaleidoscope, the proximity sensor’s threshold is tripped and the servos come to life. The servos rotate translucent green laser cut disks, until the sensor detects that the viewer has left the immediate viewing zone. 

Extending / Celebrating Acrylic

Acrylic is an exceptional material with a number of qualities valuable for prototyping. It features excellent visual clarity, comes in a variety of sizes and finishes, and most of all is consistent in terms of machinability. We attempted to implement as many of the benefits of acrylic as possible. We used various opacities and finishes to channel and bounce light and capitalized on its machinability by laser cutting our 3D design models. 

Final Project




Circuit Diagram




Design Process

Initially the idea of enhancing the material made us research acrylic’s properties and brainstorm ideas about how to utilize acrylic in conjunction with an ultrasonic sensor and servomotors. Discarded ideas included automatic doors, kinetic sculptures and instruments. We concluded that the reflective aspects of mirrored acrylic could be used to provide visually attractive patterns. Hence, we decided to build a kaleidoscope that is activated as a viewer approaches.

Building the Device

After discussing and sketching different possible shapes for our kaleidoscope, we narrowed down our pieces as following:

  • Three pieces of acrylic mirror to build the prism
  • Three triangular pieces of transparent acrylic to build frames, holding the prism together
  •  A piece of white opaque acrylic as a stand, behind which the wheels and circuit are hidden. The servos are also mounted on this piece
  • Two laser cut pieces of translucent green acrylic,which provide the patterns


After 3D modelling the pieces, we handed the files in to the Rapid Prototyping lab for laser cutting. We took the pieces later to the Maker Lab for final trimming and assembling.


Challenges and Outcomes

Making the Acryliscope raised many challenges. One of these was that we were trying to do iterations with quick turnaround, but our laser cutting was outsourced and we had to wait for new cuts. What looked fine in the software didn’t pan out exactly how we had hoped — with motor assemblies touching each other and visibility of circle brackets being two examples of this. Our solution was to redesign the back plate and have a rush cut made, yet still this piece needed further work with hand tools in the maker lab.

In addition, we had tested the code and the circuit before building the product and mounting the discs. However, after assembling all the pieces together, we realized that the additional weight imposed on the servos by the discs, prevented the circuit from functioning. Hence, we had to add additional source of energy to power the servos and the sensor.

Material Madlibs – SONIC FISHBOWL


Group members: Ginger Guo, Katie Micak and Ania Medrek

VIDEO: Sonic Fishbowl on Vimeo.


Project Description

Don’t want to bother taking care of a real fish? There’s no need to tap on a bowl to try and make your goldfish move any longer  — the Sonic Fishbowl provides an energetic pet, no food flakes required!

The Sonic Fishbowl is a decoration for your home or office that turns on when triggered by an ultrasonic sensor. When a person is within 30cm of the fishbowl, the ultrasonic sensor tells Arduino to turn on the small fan inside the base of the bowl. The fan causes the felt fish to spin around in a circle, creating an interactive experience. The Arduino hidden in the base is programmed with a simple code that tells the bowl to turn off when a person moves out of range.

Process Journal

Our early ideas for the project included a scent diffuser, a snowglobe, a spinning wheel, and even a farting dog. We researched different kinds of felt and learned that felt comes in a very light, fluffy form, perfect for a low-voltage fan. We settled on a snowglobe at first, and created a wintery scene out of felt to place at the base of the globe. We planned that air from the fan would move little pieces of felt around the globe — what could go wrong? (A lot, it turns out.)

We began assembling the snowglobe and looking online for an example of a code using an ultrasonic sensor. We found a DigitalWrite code on and plugged the fan into power and ground on the breadboard. This first try worked, but we found that 5V was nowhere near the amount of power we needed to make something move.

Next, we tried to harness 9V using a transmitter and an AnalogRead code — still, this barely moved the snow. We finally recruited a second breadboard and tried the fan at its full 12V capacity. This made the snow move in a circular ‘tornado’ motion.

The snow was also getting stuck to the mesh sheet that we used to keep the snow from falling into the fan. This was our first indication that we might need to change the snowglobe concept. A challenge we faced on the aesthetic side of things, was that felt is not strong enough to hold up a glass globe, so we needed to find some sort of box.

A lot of trial and error was involved in the building process. The minute we got the ultrasonic sensor working, the power source stopped. Over the course of two weeks, we needed to continually learn how to ‘upgrade’ our voltage and code. With the help of classmates and the internet, we finally settled on The Sonic Fishbowl.

Parts List

Arduino MICRO

One HC-SR04 Ultrasonic Sensor

One Cooling Fan

One Plug

One 12V Power Adapter

One 560 ohm (Green, Blue, Brown, Gold) Resistors

One Transistor

Two Full Breadboard

Eleven Male/Male hookup wires


(High-res of circuit in GitHub link)

Project Context

Everyone in our group is new to Arduino coding. We searched for ‘ultrasonic sensor’ and found some code, which turned out to be out of date. With Nick’s help, we figured out that we need to download a new library to use the ultrasonic sensor.  In class, we found out the Analog code would help us with the speed of the fan, and adjusted the code accordingly. We needed to Google each computation accessory to find out what it is and what it does. It was a huge learning curve for all of us, but a rewarding experience.

References and Resources



Material Madlibs – Flutter



flutter-01-01 flutter2-01

Flutter Arduino Code/sketch_oct06a-_alternating_outputs.pdf



 flutter9-01 flutter10-01 flutter11-01 flutter12-01 flutter13-01 flutter14-01

LUX – Interactive Light Installation

BY: Afaq Ahmed Karadia, Mahsa Karimi, Sara Gazzaz

Project Description:

We used the following:

Input: Potentiometer
A potentiometer, informally a pot, is a three-terminal resistor with a sliding or rotating contact that forms an adjustable voltage divider. If only two terminals are used, one end and the wiper, it acts as a variable resistor.

Output: LED – Light Emitting Diode
A LED is a semiconductor device that emits visible light when an electric current passes through it. The light is not particularly bright, but in most LEDs it is monochromatic, occurring at a single wavelength.

Material: String
Stretchable fishing wire.

LUX is a light art installation where participants can interact with the piece by manipulating the brightness of the light via potentiometers.
It consists of two inputs. The interaction with each potentiometer has an effect on the brightness of the LED lights. Also if the potentiometers are turned simultaneously it would have a completely different effect on the brightness because it also calculates the difference between both potentiometers to determine the brightness.

Circuit Diagram:



Mood board:

418af25d3d840c7b866b2366e3e3a23e 617f042f91ab98dc9f2fb2e86693290c 040537239bd47dd931b18b5e3945fc9d a9eac28441b5d046f03511f12016a0f2




Design Files:

file-4 file1


Project Context:

Interactive light installations have become an extremely pervasive phenomenon in contemporary design. Light is a profound element in our lives. Through a design perspective, it is incredible to think about the effect it can have on people’s perceived experience in a given space.

Interacting with light and seeing real-time immediate effects on the captivating visual stimuli is intriguing. It is a sought after experience that is taken advantage of by many designers of industries from entertainment to retail.

With an abundance of options to choose from, people are becoming more immersed into products and experiences they can reciprocate and experiment with. As advancing technology is rapidly assisting the developments suited for this need, designers are ubiquitously integrating interactive lighting installations on their manufactured products and experiences.

Image vs Light

Figurative vs Abstract
Surface vs Space
Light phenomena: Reflection, Diffraction,Transparency, Occlusion and Shadows


Process Journal:

Input: Potentiometer

Output: LED

Material: String

We started with writing the code that would adjust the brightness of an LED light by turning a potentiometer. Initially the LED light went through three cycles during one complete turn of the potentiometer. To solve this we had to map the analog input value range of (0 -1025) to the analog output value range of (0-255). 

In order to add to the interactive factor of the installation we decided to use two potentiometers. Each individual potentiometer has an effect on the brightness of the LED lights. Also if the potentiometers are turned simultaneously it would have a completely different effect on the brightness because it also calculates the difference between both potentiometers to determine the brightness.

We had chosen string as the material to be used on this project. in order to figure out what type of string would be the best for our project, the group started brainstorming on the possible outcomes.  

At first we decided to work with just LED strips as “strings” because we thought it was a better way to use both our material and output together. Later on, we figured that it was going to limit what we do with our project and that we should experiment with different strings that would give us more options to play with using our LED lights.

In order to have the LED light to correspond to the difference of the values from the potentiometers, we had to include the math library to be able to subtract the values in our code.

LED strip lights need a higher voltage to turn on than what the Arduino kit could supply. We had to use an external power source (9V DC adaptor) and a transmitter to adjust the input voltage on our kit. 

Initially we were designing cubes and prisms and wanted to attach the LED strips to the structure. We ended up using a hollow structure that was an outline of the shapes which added to the “stringy” feel of our project. We ended up choosing stretchable fishing wires as our material which also would allow more light to be transmitted and have different effects when light shines through it.

This piece is something we would like to be a part of a bigger installation that when it is hung next to others on a wall it would create a visually playful art installation. 

Images Journal:




Jeffin Philip and April Xie


IN BLOOM is an interactive flower that comes to life in the light. In the dark, IN BLOOM remains motionless. When a light source is provided, IN BLOOM responds and dances in delight. It is an expression of environmental feedback and biomimicry, where the user engages with the connectedness of natural processes. 






Phase 1: Ideation

We began by exploring:

  1. Structural properties of our material (wire)
  2. Motion possibilities with our actuator (servo)
  3. Processes in the world we could mimic that utilize or depend on light

Wire is incredibly versatile, varying in strength, flexibility and thickness. It can be used in thin wispy masses to create texture. It can be bent, twisted, crimped and curled to build kinematic structures with joints and hinges. It conducts heat.

Servo motors offer rotational movement, which can be harnessed for linear motions. Servos are good actuators for mechanical joints, e.g. robotic arms. Their movements can be very intricately calibrated through Arduino.

With the photoresistor, plant life immediately came to mind as a simple natural process requiring light to thrive. The interactivity of a mechanical plant would be intuitive to a user.

Phase 2: Scoping

We decided to build a plant that responds to sunlight, and wilts from lack thereof.

The next step was to begin narrowing down: 

  • Choice between building a plant or flower. Tree was ruled out for being too complex.
  • Which parts of the tree/plant/flower to focus energy on animating, and how
  • Finding the best gauges of wire to work with that would ensure structural integrity, and enough flexibility to work easily with
  • Kinetic design
  • Aesthetics

Initial Research


  • Linear up and down motion ispossible with the servo rotation using the Crankshaft and Piston Mechanism.
  • The main challenge in the code was to remove the stagger in servo movement. To have an ease in and ease-out effect in the motion, we tried creating a sine function. As we are not using the entire range from 0 to 180, used a multiplier to regulate the movement of servo.

Inspiration for Aesthetics

  • Line drawings in 3D
  • Biomimicry
  • Origami – simplicity and efficiency of paper and lines. What can we learn to translate to wire?
  • Low poly figures
  • Wire Sculpture

Phase 3: Explorations
A mixture of prototyping and research through ‘play’ to discover an
elegant solution for our kinematic wire flower.

 Exploration A – Hinges on Stem

We bought 20 and 24 gauge silver wire to begin prototyping.

We started with replicating the simplest wire flower structure below

Petals 24 gauge, stem 20 gauge. We added small jewellery rings in the stem to hinge the ‘petals’ on.



  • 24 gauge wire was too thin, and structure was flimsy. Switch to 20 gauge and lower.
  • Mechanics of hinged petals is simple, may use in final design.

Exploration B – Plant Stalk

We attempted a kinematic stalk for the plant:



  • The structure is not conducive to fluid motion. We also decided animating a flower would be more interesting than a plant simply going up and down.
  • We decided to focus on animating the movement of a flower.

Exploration C – Kinetic Flower

We discovered the Kinetic Flower by Igor Lukyanov on YouTube.

In order to understand the mechanics Lukyanov used, we replicated the Kinetic Flower as a rough prototype:


Exploration D – Mechanical Silver Lily

We also discovered the Mechanical Silver Lily by Mark Lloyd:

We sketched out the mechanics to understand its function:


 Exploration E – Collapsible Wire Structures

We were inspired by the elegant “blooming” of collapsible wire baskets and pot steamers:

Some process sketches that attempted to combine exploratory structures so far:



Exploration F – Final Concept

Final Structure

Through the explorations, we discovered the following:

  • The simpler the design the better – we are not pro wire workers, and the elegance of wire is compromised when you fiddle too much with it 
  • Use thick strong wire for reliable structure
  • Take advantage of wire’s possibilities with kinemetic structure. 
  • Take advantage of different colours of wire
  • Successful handling of material will be most difficult aspect of project

Keeping this in mind, we created our final concept:




  • Wide outer ring bent into long stem, fixed onto base.
  • Small inner ring bent into shorter stem, pushed through hole in base,, and scotch yoke loop added at the end, connected to servo under base.
  • Eight wire petals with loop hinges attached to inner circle
  • Rectangular wood base
  • Servo and breadboard


  • Scotch yoke mechanism to convert rotational movement of servo into linear motion

Final Code Logic

  • The code uses the analog input from the LDR and map the analog values to angle of rotation for the servo.
  • To get a high resolution movement and smoother rotation, the servo rotation is calculated in milliseconds (0-2400) instead of degrees(0-180).
  • The code also uses an easing function to reduce the speed of rotation at the end to avoid stagger. The easing value is read through a potentiometer and converted into a multiplier value (divided by 1000). The movement is done in decremental steps, where each step is multiplied by the easing for rotation form 10 to 100 degrees. The example uses degrees instead of milliseconds, but the code uses milliseconds for angles
    angle of rotation=90
    if pot input is 500, easing value is .5
    90 degree movement will be executed as
    45————— (90*0.5)

Phase 4: Building Product 

We went to the Maker Lab to construct the final piece.

Materials: aluminum coat hanger wire (loop & stems), 16 gauge gold wire (petals), wood (base), 24 gauge copper wire (extra attatchments), circuit components

STEP 1: Build base & insert servo for scotch yoke Mechanism, insert screw into second notch in blade servo attachment. Hook servo to circuit and calibrate movement.



STEP 2: Make test inner loop & stem, drill hole into top of base, make loop for Scotch Yoke Mechanism and put through the screw. Test movement.


STEP 3: Build final inner loop; drill hole for photoresistor, glue and insert, leaving room at bottom to connect to breadboard.


STEP 4: Make petals and insert into inner loop

STEP 5: Test circumference and height for fixed outer loop

STEP 6: Create final fixed outer loop, drill hole into box and insert. TEST.

There was difficulty getting the petals to stay in place when the outer ring moved up. The metal was heavy, so they would flop in on themselves.

We added add thin hoops to attach the petals to the large ring for support:




TEST 2: After adjusting code, we achieved final movement



Group: Material Madlib 3 – Nadine Lessio & Rana Zandi

Project Title: Panic-Pad

Project Description: Using fabric, a button, and a buzzer to simulate the physiological and psychological feelings of a panic attack for the user who has never experienced the feeling.

Project Context: As a person (Rana) living with panic disorder, not only do I suffer from the illness itself, but I find it very challenging to learn how to cope with the stigma that is connected to having a mental illness. Many people (including loved ones) hold preconceived notions or lack understanding of the illness. It is common for a person who suffers from panic disorder to get comments such as “You have nothing to be nervous about, or it is just your mind..”

However, panic disorder is not just stressful and racing thoughts inside the mind. They have painful and very much so physical symptoms. Panic-pad, is an attempt to remove this stigma by allowing the user to experience a panic episode through the sound of a rhythm of a heart of a person who is suffers from panic disorder.

Panic-Pad was tested on 3 different subjects. Subject A, was a 29 year old female suffering from panic disorder. She went through a panic episode right after trying the experience. Subject B, was another female, 22, who said she feels anxious after trying the experience. Subject C, was a 47 year old male, who was reminded of his childhood nightmares after trying the experience.

Relative articles:

Evolution of Panic-Pad Video Link:

Code Link:

Process Journal:

  • Phase 1: Getting familiar with Arduino tone library, and exploring some native sounds that could be made. Ideation about concept took place while experimenting with the number of inputs and outputs. We ended up having 1 single input that switched between 2 sounds (or songs), while we were thinking about the “Rape culture” or “Sexual Harassment” the binaries of ok and not ok.
  • Phase 2: We explored doing multiple inputs and 1 output, switching between different states, while considering our fabric choices. More conceptual ideation took place, while we explored the texture of the material we had and started using real sounds rather than tone sounds.
  • Phase 3: While exploring different sounds to represent “what is not ok” we started considering various heart beats that could communicate the feelings of anxiety. As a result of such exploration, our concept was re-foremed into the stigma surrounding mental health and panic disorder. Panic-Pad was born at this stage. While aiming to include a resting state we experimented with speed, and volume to see how we can affect the system. At this stage, the longer you hold the Panic-Pad the louder and faster the sound of the heart beat gets.


  • Clarity – Arduino’s sound ability is somewhat limited and it tends to be good for square waves, and 8-bit noises. When you start to get into purposeful distortions it is not as good.
  • Processing Power – There are a couple of libraries that we tried, including TMRpcm for the second prototype, to enable the Arduino to play sound clips of a sound-card. Which yielded some interesting tones to play with but had issues with low growl or gutteral sounds. We also looked at MOZZI which enabled the Arduino to be a full modular synthesizer. It was really strong but it pushed the Arduino to capacity and disabled native arduino functions like millis(), which we needed to provide timing.
  • A general lack of play back options.
  • In the end our explorations lead us to use Processing to manage our sound and speaker output.


Use of this service is governed by the IT Acceptable Use and Web Technologies policies.
Privacy Notice: It is possible for your name, e-mail address, and/or student/staff/faculty UserID to be publicly revealed if you choose to use OCAD University Blogs.