top of page

The Process

Our Idea

An initial brainstorm and discussion of personal ideals helped us identify a few common goals:

  • Reflect on the environment and present it in a positive, constructive manner

  • Creating an engaging device related to daily life activities

 

We initially focused on stress, a prevalent problem among students and a leading cause of several health and emotional problems. However, after further investigation, we realized that the input lacked connection with the broader environment. Taking a step back, we explored the different environments in which stress would be more likely to arise and came upon noise pollution - a physical and mental stressor. 

 

We moved on to search for online tutorials about sound sensors and visualizing sounds. We quickly identified our desire to visualize noise through physical marks, which are more playful and evocative than digital images. This developed into a discussion about the DIY tool that make physical marks sustainably. We stumbled upon magna doodles, which are erasable and thus aligned with our goal of sustainability, while at the same time nostalgic and attractive.

 

Thus our idea was born: visualizing noise through a "dance" of doodles on a magna doodle! 

Materials

Constructing the Circuit:

  • Arduino Uno

  • 2 servo motors

  • 1 Breadboard

  • 1 USB-arduino cable

  • Jumper wires

  • 1 Adafruit electret microphone amplifier with adjustable gain (Purchasable from Adafruit or Amazon)

Crafting the Doodle:

  • 1 magna doodle 

  • 7 circular magnets (12.7mm)

  • 1 slab of plywood (1/4 inch thick, minimum 370 * 270 mm)

  • 4 M5X15mm bolts and nuts (substitute with wooden sticks)

  • 2 M5X25mm bolts and nuts

  • String

  • Tape and glue

  • Scissors

Circuit Setup

Before assembling the circuit, test every electronic component to make sure that they are in good working condition.

Breadboard layout:

  1. Connect Arduino components as shown in the layout above.

  2. Download the Arduino IDE, if you haven’t already.

  3. Copy and paste this code into Arduino.

  4. Plug the Arduino Uno to your computer with USB cable.

  5. Upload the code to the Arduino board.

  6. Open up the serial monitor (Tools > Serial Monitor)

  7. Calibrate according to the ambient sound 

 

**You should always verify your code before uploading it. In Arduino, click the checkmark button to verify the code and check for errors. Double check that the appropriate board and serial port is selected under the "Tools" menu. Once you have done that, click the arrow button to upload your code. 

 

After uploading the code to your device, open up the serial monitor, found in the "Tools" menu - “Serial Monitor.” The serial monitor is the window where you monitor what’s going on inside your microphone.

INSIGHT [Cheryl]: No sensor is perfect. Besides making sure that the electret microphone is reliably detecting changes in sound levels, check raw data and calibrate it. We chose to use the map() function to ensure a continuous motor action rather than the if(conditional) function that would lead to unused raw data. Check the serial monitor (as seen in the video) to identify the input range that the mic senses. Use the lowest and highest points of that range and scale it to the angles that you want the servos to move to. In this project, our aim was for the servos to move faster and at bigger angles as the noise level in the environment increased. 

 

At present, the code only works when the Arduino is plugged into the computer. You can make the dancing doodle device portable by connecting a battery holder (with AA batteries) to the circuit after you have uploaded the code to the Arduino board. 

Device Assembly

Once the circuit is complete, you can assemble the structure and have magnets draw patterns. The challenge here is figuring out how to use servo motors to control the movement of magnet arms, and create the desired patterns.

 

Usually, magna doodle boards only have one side exposed. To "erase" the board, a magnet is placed below on the non-drawing side. It is swiped across the board to attract the magnetic particles through the white liquid to the non-drawing side, moving the particles away from the drawing side. This restores the board to it's original, clean white appearance.

 

For the dancing-doodle, we decided to exclude an eraser magnet. Instead, we took the magna doodle out of its original plastic frame, and installed two fixed arms with magnets on both sides. The magnet arms could simultaneously draw and erase each other's patterns. They drew disjointed swirls and complete circles, giving whimsical sentiment that was reminiscent of a lollipop.​ 

INSIGHT [Yajing]: The process of designing structures inspires innovation and creation. Besides building the mechanism to drive the magnet patterns around the doodle board, our design choice unleashed the potential to use both sides of the doodle board. One side of the board would have colored particles showing while the other had a negative pattern created. A careful overlap between magnets on both sides would allow patterns to be created while some of it was erased. This allows people to interact with the dancing-doodle without having to manually erase the patterns created.

  1. To use both sides of the doodle board, take the board out from its plastic frame.

  2. Laser-cut the parts using the Illustrator file here, or use similar materials around you! (e.g. Popsicle sticks for arms)

  3. Glue magnets to the arms and attach the arms to servo motor

  4. Assemble the parts referring to the picture on the right (we used string to hold the servo in place)

  5. Adjust the servo so the magnets are just touching the board

INSIGHT [Horyun]: Parts are bound to not fit perfectly on the first attempt. In the picture on the left, we sandpapered the gap to loosen it, then applied tape to tighten its grip before printing or cutting out a new piece.

Some sketches of possible prototypes that we experimented with

Reiterations

INSIGHT [Cheryl]: What are "noise" levels? The increase in the "loudness" levels are related to amplitude, so maybe we could tweak the code to measure from one peak to another.

 

Problem 1:

Our original code had a sample window of 50ms, and a multiplication of the sensitivity (by 100 times) of microphone using float voltage. This lead to unstable fluctuations and constant sound "input" even in the absence of noise.

We edited the code to toss our spurious readings and included if(conditional) functions that would measure the peak-peak amplitude of the sound detected. This lead to our first iteration in the video below... and the discovery of problem 2.

Problem 2:

The fluctuations from problem 1 had been addressed and the circuit was mapping noise to motor output. However, the noise produced by the servos themselves interfering with the sensor. This led to the vicious cycle illustrated below:

We adjusted the gain (sensitivity) of the mic at the back of the breakout board, and increased the time of the delay from 30ms to 500ms. This gave the mic more time to recover from the noise of the motor and resolved the second problem. 

INSIGHT [Cheryl]: There is some trial and error involved. Each mic is slightly different so you have to experiment with how much you should turn (anticlockwise) to reduce sensitivity. Trial and error is very "unscientific" but it's part of the hacking & tinkering process! There's no formula predicting the combination of decreasing/increasing gain of the mic and adjusting the delay time. However, there is a significant impact of increasing the delay time to 500ms as there would be a slight lag between sensing the noise, and the servos moving. Again, you have to experiment with different numbers. We managed to push that delay down to 460ms.

Problem 3:

Creating linear patterns on the dancing-doodle meant printing structures with two conveyer belts on each side. After experimenting with the combinations of DC motors and servo motors, we decided to create circular patterns using 2 servo motors on each side (to draw and erase). However, just drawing circles or arcs did not really produce meaning patterns which were meant to vary according to noise levels.

First, we attached a long magnet bar (first from left) to a servo. It created a filled circle on the board. Next, we taped a circular magnet to a wooden stick (second from left), which gave us an outlined circle. We then cut out two straight arms and structures with 3 - 4 branched arms (first and second from right) and observed them in action. It created interesting arc patterns but were still bound to a single circle. Lastly, we varied the length of each branch, which gave us a swirling pattern derived from different circles interfering with each other's patterns. 

INSIGHT [Horyun]: Instead of jumping to a bigger design challenges like building more elaborate motion structures, it is worth testing different types of drawing-erasing output. Start with rapid prototyping, not high-fidelity! Taping magnets to a wood stick takes a minute to accomplish. Through prototyping iteration, we finally got the lollipop swirl. Nothing has changed, just the length and number of branches in arm. 

The Entire Process in 3 Minutes

This video summarizes our entire process, from the environment we drew inspiration, to our experimentation with different sketches and circuitry, ending with a working prototype!

To see our final product in the context of an noisy environment with differing sound levels, please go to "The Concept" page! 

Cheryl Cheong        Horyun Song        Yajing Yang

bottom of page