Hey, I’m Olga and this my page for How to Make (almost) Anything @MIT
Final project

Dance party for one

Results

The proposal I submitted at the beginning of the class was a responsive light installation. I imagined the work would accompany a concert. The logic seemed simple – lights, projection, and an algorithm. Aesthetically, I dreamt of floating constellations. I hoped to go fully analog, relying more on physics and less on digital technology.

Metal corner with visible tack notches Layers of see-through plastic shapes
Material

After experimenting with glass, I realized I would have to commission a custom piece, which would be expensive. My classmate Dan recommended polycarbonate – a cheap material with optic properties. When heated, polycarbonate fractures internally and refracts. To amplify this effect, I lined the bottom of my structure with reflective film.

To house the wiring, I made the base out of sheet metal steel. The process was much smoother than my first attempt at working with the medium.

Copper traces on a white surface Cross section showing a custom circuit board and a teal wire
Electronics

Initially I wanted to use water at the base of the structure, but I quickly realized that water and electronics don’t mix well. Instead, I adapted Neil's LED array. Using the vinyl cutter, I cut traces out of a flexible copper sheet then mounted those to a large piece of foam core. Having had established a serial connection in a couple of weeks prior, I programmed the array to communicate with my microphone board.

Female dressed in black leaning over a table with a cellphone
Algorithm

The question of what aspect of music I wanted to illustrate loomed over me. Is it amplitude, pitch, frequency? My original intention was to have an algorithm in place that tracks subtle audio qualities without being too obvious.

Much like the other aspects of the project, my vision changed with time. I went with rhythm. The decision was subjective though I was influenced by dance parties. To capture rhythm, I programmed my microphone board with a beat detection algorithm.

Pearlescent colors layered in sheets of transparent material
Next steps

While the project did not achieve all my aims, it was a step in the right direction. I’d love to explore analog alternatives and scale the project to fill a stage.

Bright a magenta and teal circuit board schematic against a dark background
Analog addendum

After taking Physics 123 with Tom Hayes at Harvard, I decided to revisit this project using analog components. Analog parts are cheaper, and the approach seemed more intuitive to me. Sound is an analog phenomenon, so analyzing it in the analog domain makes sense.

Some notes on the schematic: the signal is picked up by a microphone and amplified using an op-amp. It is then fed into a comparator directly (a potentiometer can be used to tweak the voltage level) and through a leaky peak detector comprised of a diode, two resistors, and a capacitor. The output of the comparator then turns an LED on or off, thus flickering with the beat.

Weekly logs

Process and challenges

Week 1 - CAD + html
Light-colored 3D model of a dodecahedron against a dark background
A window with the word why on one side and why not on the other
Use a vinyl cutter

Using the whole width of the vinyl roll, I created a sign for my wall.

Cardboard dodecahedron on a wooden background
Blue laser cutting machine with a person yawning in the background
The grey head of laser cutter with red screws is making a line on a piece of cardboard
Create a parametric press-fit construction kit

This was my first time using Rhino's Grasshopper. I was grateful for Nathan's awesome tutorial. Following his steps, I made a parametric press-fit dodecahedron (my Rhino and Grasshopper files). At the base of the structure is a regular pentagon, held together with circular parts. The joints can be resized dynamically. I laser cut the pieces out of cardboard which was a forgiving material. All the joints slid into place.

Week 2 - make a PCB
Copper circuit board and an X-Acto knife against a dark background
Rectangular circuit board
Magnified circuit board with several resistors, capacitors, and a white connector
Make a programmer

This was my first foray into PCB (Printed Circuit Board) production. I kept it simple and used the boilerplate template from this week's lecture. I named my in-circuit programmer Gersh.

Screenshot of a dark console with light text
Program the programmer

Programming the programmer was the sweetest part. Here’s Gersh being recognized by a computer.

Week 3 - 3D print and scan
Dark 3D scanned bust of a female
Looping image of a rotating cube inside a dodecahedron frame going from a deeper to a lighter shade of blue
An unsuccessful 3D print showing blue plastic objects strewn around against a white background
White plastic object with pliers and an X-Acto knife against a dark background
3D printer LED screen showing the job in queue and the time remaining
3D print

I returned to the same shape for this week's assignment. I designed a dodecahedron (using Rhino) with an inner cube. While learning about the shape I thought it was cool that a cube can be constructed from the vertices of a dodecahedron (Steinhaus 1999). I also wanted to 3D print something that wasn’t possible to make using a subtractive tool like a CNC. I used the Formalabs and 3DWOX to make models at different scales. The first couple of attempts were unsuccessful – not enough support, too little resin, excessive support, etc, but I eventually got it.

Partially incomplete 3D scan showing a dark base and a light-colored hexagonal shell
3D scan of a large orange container of soap
3D Scan

Next was scanning an object. Sense didn't like scanning my bust or objects smaller than a handful. It did scan a bottle of Goop soap nicely (Gooop). For my dodecahedron I tried to use 123D Catch which did not turn out great. I would’ve liked to experiment scanning against different backgrounds.

Heat gun camera positioned atop of a cardboard box on a messy table
Looping image of a rotating cube inside a dodecahedron frame going from an orange hue to a shade of lime green
Scan some more

This 3D heat scan was created in a collaboration with my roommate James Penn. I wanted to scan a feature that extends beyond what is visible to the naked eye. By capturing heat dissipation, I was curious to get a sense of the material properties of PLA. Our set-up included a stepper motor, two breadboards, an Arduino UNO, and a handful of electrical components, with which James made a makeshift turntable.

Week 4 - electronics design
Dark circuit board image with traces lit up in orange
Square circuit board
Magnified circuit board with several resistors, LEDs, and a microcontroller
Hello... Eagle?

This week's assignment was challenging. I thought Eagle was janky (no partial search/match). The exported outer cut was too thin for the Roland (the table saw came in handy). The soldering was pretty smooth though. When testing my board, all of the traces seemed to check out. My board has two additional LED's. Here are my Eagle schematic and board files.

Week 5 - something big
Female bent over a table with a tool that is generating sparks
Metal cone with large openings
Wooden crate with a small bowl of fruit beside it
Rectangular wooden crate against a white background
Big as a collection of many

I chose to interpret this week's assignment differently – rather than making one big thing, I made a series of smaller things that come together into a bigger thing.

Light metal sheet with round holes is stacked on top of a dark metal table
Metal

Working with metal has been something I've always wanted to do but I never had access to a metal shop… until now. I decided to make a light fixture. A cropped pyramid with openings from which light would be able to escape. While I was content with my design in Rhino, the final product was disappointing. On the brighter side, I got to use a grinder and nibbler. Hammering metal into shape was sweet.

Wood with termite burrows on its surface
Wood

To make home feel more like home, I created two storage units from wood scraps found at the GSD.

Week 6 - program a PCB
Black traces for a circuit board designed to look like a scull
Close up of a thumb pressing circuit board and triggering an LED light on and off
Programming

I created two programs this week – one to turn on an LED when pressing a button and the other to echo a phrase typed out into the console.

Two copper circuit boards designed to look like a scull
Morti

Just for fun, I designed a custom circuit board in Illustrator in the shape of a skull with two lights for eyes. Illustrator export settings didn’t play well with mods. When I tried to mill Morti (my name for the circuit board), the traces came out huge. The usual hack of halving the dimensions didn’t work. I will have to find the factor next week.

Week 7 - molding and casting
Four 3D light-colored geometric object against a dark background
Light blue foam being milled by a CNC machine
Two blue objects one of which is being cut with a knife
Blue foam and squishy object with some masking tape
Crevice in blue foam is filled with a geometric form made of another blue material
Three-piece mold

Having had cast a relief previously, I felt ready. Once again, I set to make a light fixture — a hollow shape large enough for a light socket. Working in Rhino, I first designed the positive then with Rob’s help I made positive three-piece mold.

On Sunday morning, it was time to mill. While my shape was relatively small, the mold positive was still larger than any of the available end mills at the shop. So, on Tuesday morning I borrowed a longer bit from the GSD. Once the milling was done, I realized I made a few errors. I resolved the errors with some tape, an X-Acto knife, and a sprinkling of Hydrostone. Then came the OOMOO. After vacuuming the substance a few times the mixture was still foamy (either due to my poor mixing skills or the compromised A/B parts) – a texture my final piece inherited.

Small white plaster object in on a grey background viewed from the top
Small white plaster object on a grey background
Results

All's well that ends well. After freeing my OOMOO negative mold from its positive part and modifying the negative mold with clay and a blade, I was ready to pour. While flawed, I was happy with the result. In future castings, I incorporated moss into the mold for an organic feel.

Week 8 - input device
Screenshot of sound analysis
Close up of a male holding a circuit board to his mouth that continuously lights up and dims
Copper traces under a microscope with a significant amount of silver colored solder
Beats and such

This week, I chose to do an analog microphone board, with an additional LED. Designing in EAGLE, took less time than before. The milling and soldering was also smooth sailing. Until...I realized only after my board was finished that one of the traces wasn’t cut. I X-Acto’ed it but I accidentally cut the wrong trace. Since the trace was under the microchip, neither a jumper wire nor 0 ohm resistor would work so I added a piece of copper. AND IT WORKED.

Using the code posted on the website I was able to program the board. My next steps are to understand the python script better along with parsing serial. From there, I would like to set up the LED so that it lights up once the sound level reaches a threshold. And eventually beats.

Week 9 - composites
Semitransparent wrinkled material
Light blue foam being milled by a CNC machine
White fabric with incisions on the sides
Light blue foam and pink sheets of plastic inside a vacuum bag
Glossy off-white object with organic crevices
Skin

Inspired by Amir Karimpour, I experimented with Maya to create an interesting form for my composite. Everything came together nicely. Since the purpose of the work was aesthetic, I opted for linen in favor of burlap, which I dry fitted by making a few incisions lining the crevices. The form came out beautifully with a resolution so fine that the toolpath was apparent.

Week 10 - output device
Custom circuit board and a small speaker
Speaker board

This week I reproduced Neil's speaker board (with a few trace modifications) – my EAGLE schematic and board has a custom 2 pad part. While I was able to program the board using Neil's C files I was unable to "make it do something." This is what I hope to sort out for next week, perhaps by starting with Arduino's tone() library. In the meantime, here's Dixon.

Week 11 - application
Dark screen with a yellow sinusoidal pattern

I decided to use this week to focus on connecting the dots for my final project. I've set out to get data from my microphone board, process it, and integrate it into my speaker board. I was able to record data from my microphone board by tweaking Neil's script, and to trouble shoot my speaker board.

Recording the byte values and the timestamp yielded some information. Yet it didn’t get me very far. I had no idea how to parse the information to extract the musical signal. With the speaker, I realized that the voltage I was supplying to the it was too low. When I tried the same board with different speakers (a pair with a built-in amplifier) I was able to hear the sound. To mitigate this, I tried building a non-inverting amplifier board which I forgot to power. Parsing through the speaker C code didn't get me far. While the idea for my final project idea is well defined, there are substantial gaps when it comes to implementation.

Week 12 - wired connections
Lots of wires, a breadboard, laptop, and an Arduino on a dark table
Microphone meets speaker

This week I hooked up my speaker board to my microphone board. I decided to use the asynchronous serial bus method (aka the easy way). I was able to generate a random sound on my speaker board using the amplitude levels perceived by my microphone.

The Arduino reads in the serial data from the microphone and sends it along its Tx line. Meanwhile, serial is also set up on the speaker board which interprets the signal and produces a sound at a frequency ten times the signal. My next step is to make sense of the serial data.

Week 13 - final project update
Bright blue and orange scribbles on a dark surface
Keeping things modular

With Logan’s help I made progress encoding my microphone board with a beat detection algorithm using Damian Peckett's method. To implement the code, I had to swap out the ATtiny45 with a ATtiny85 chip as the Arduino sketch was consuming over 90% of the T45 memory. I had to run Burn Bootloader command and reconnect four resistors that came off when I replaced the chip. The other breakthrough was an improvement to my electronics schema. Instead of trying to house everything on one board or sending all the signals to all the microprocessors, I ran the beat detection algorithm on my speaker board sending serial communication only when a beat is detected. It felt more manageable to keep things modular.

Dream machine

Because of finals I had to miss the recitation and group project. I took this time to ask myself: what is my dream machine? The answer is a wobbling hug bot that produces sounds at a comforting frequency and on occasion does dirty dishes. Complete with piezoelectric sensors the hug machine would be activated at moments of emotional lows.

Notes

Random class wormholes

Acrylonitrile Butadiene Styrene (ABS)

thermoplastic polymer, is amorphous and doesn't have a true melting point, can be carcinogenic at higher temperatures (~400 °C)

Alternating Current (AC)

current in which the flow of electrical charge periodically reverses direction

Anode

the opposite of a cathode – positively charged electrode by which electrons leave a device

Antoine Pevsner

1886-1962 a pioneer of twentieth-century sculpture, was known for working with metal and the first to use a blowtorch, wrote the Realist Manifesto with his brother Naum Gabo

Attack Decay Sustain Release (ADSR)

a common envelope sound synthesis technique that controls the sound properties (namely attack and decay) at any point in its duration, can be a discrete circuit, module, or implemented in software. The earliest implementation of ADSR was by Hammond Novachord in 1938.

Autocorrelation

correlation of a signal to itself at various points in time – similarity between observations as a function of a time lag between them, useful for finding patterns.

Auxetics

structures or materials that have a negative Poisson's ratio, thus becoming thicker perpendicular to the force applied

Bernhard Leitner

known for pioneering the practice of "sound installation" allowing space to emerge from sound

Capacitor

stores electric energy in an electric field between two conductive plates

Catalan surface

spiral-looking surface all of whose planes are parallel to a fixed plane

Cathode

negatively charged electrode by which electrons enter a device. Typically the longer leg of an LED or the minus side of a battery

Catmull-Clark algorithm

a technique used primarily in computer graphics to create a smooth surface by subdivision

Claude Shannon

"the father of information theory"

Clipper

prevents the output of a circuit from reaching a certain voltage without impacting the remaining waveform

Continuous Liquid Interface Production (CLIP)

a fast photochemical process using uncured resin, exposure to oxygen, and a light source

Cymatics

from the Greek word "wave" is a term coined by Hans Jenny (1904-1972) to classify a study of modal vibrational

Differential signal mode

pair of traces between receiver and driver - one carries a negative signal while the other a positive one. These signals are equal and opposite, so there is no return signal from ground - what travels along one trace comes back the other. The USB operates in this mode

Dijkstra's Algorithm

conceived in 1956, is an algorithm for finding the shortest path between two nodes – a common variation includes starting with one node and mapping distances to all of the other nodes, then selecting the pair of closest nodes

Diode

an electrical device that allows current to move through it in one direction with greater ease

Direct Current (DC)

the opposite of AC, i.e., the flow of electrical charge is in one direction only

Duty cycle

percentage of a period in which a signal is active

Eigenvector

a linear transformation that does not change direction when a separate transformation is applied to it

Electrical resistance

measures the level of difficulty to pass an electrical current through a conductor, the inverse quantity is electrical conductance which measures the level of ease

Electrochromism

reversibly changing color by using bursts of change on susceptible materials

Encapsulation

OOP concept bringing together data and functions that manipulate this data - led to advancement in data hiding

Eutectic system

a mixture of fixed-proportion substances that melts and solidifies at a single temperature that is lower than the melting points of the separate constituents

Fick's Laws of Diffusion

describes diffusion, the first law was based on the assumption of a steady state in which particles move from areas of high concentrations to low concentration areas establishing an equilibrium

Fourier's Law

the law of heat conduction which states heat flows spontaneously from the hotter body to a cooler body converging toward a thermal equilibrium

Galvanometer systems

based on moving mirror technology, similar to what is used to create laser light shows

Garolite

fiberglass-epoxy laminate – high strength and stable under temperature fluctuations - a cheaper alternative to carbon fiber

Georges Perec (1936-1982)

was a French novelist, filmmaker, documentalist, and essayist his work is rooted in experimental word play, lists and attempts at classification

GPIO (General-Purpose Input/Output)

a generic pin whose behavior is controllable by user at run time

Graphine

allotrope of carbon in the form of two dimensional, honey-comb lattice on atomic scale. It is about 100 times stronger than steel, conducts electricity and is nearly transparent

Iannis Xenakis (1922-2001)

Greek-French composer, music theorist, architect, and engineer who worked with Le Corbusier. He also pioneered the use of mathematical models in music and influenced in the development of electronic music

John Frazer

an architect and researcher with who, in his notable work – An Evolutionary Architecture, emphasized the need for manual creation as a learning method for understanding computers

Kirchhoff's Current Law (KCL)

indicates that at any node in an electrical circuit, the sum of currents flowing into the circuit and the sum of currents flowing out of the circuit must equal

Kirchhoff's Voltage Law (KVL)

the sum of electrical potential differences (voltage) around any closed network is zero

Linear-Feedback Shift Register (LFSR)

a way of generating pseudo random numbers by producing a sequence that has a linear relationship to its previous state

Lissajous Curve

describes harmonic motion is a part of a series of curves investigated by Nathaniel Bowditch in 1815, and by Jules Antoine Lissajous in 1857

Marching Cubes

computer-graphics algorithm published in 1987 for extracting polygonal mesh from voxels

Medial Axis

also known as cut locus, is the set of all points having more than one closest point to the object's boundary

Moore's Law

an observation made in 1965 by Gordon Moore, co-founder of Intel, predicting that the number of transistors in a dense integrated circuit will double every two years. While Moore's law held true for several decades, the trend has slowed down as physical limits to transistor scaling has been reached

Multidrop Bus (MDB)

a bus in which all components are connected to the electrical circuit and an arbitration process determines which device sends information at any point, while the other devices listen for data

Murray's law

formula of relating the daughter branches to the radii of the parent branch of a lumen-based system – radius of the parent branch cubed equals to the sum of all the daughter radii cubed. The same principle has been applied to engineering in the design of minimum mass vascular networks carrying liquid healing agent to areas of skin damage

Ohm's Law

I = V/R current through a conductor between two points is directly proportional to the voltage across the two points

Open

the opposite of a short — lack of current between two nodes

Operational Amplifier (Op-Amp)

electronic devices that increase the power of a signal. Op-Amps can be either inverting or non-inverting

Ouvroir de littérature potentielle (OULIPO)

"workshop of potential literature" was a collection of French writers and mathematicians who sought to create works using constrained writing techniques (e.g. poetry by algorithm), it was founded in 1960 with Perec being one of the prominent members

Phase Lock Loop (PLL)

a system that generates an output signal whose position is related to the position of an input signal by bringing back the output signal for comparison with input signal. Keeping the input and output phases in lock also keeps the respective frequencies the. PLL can also track an input frequency or generate a frequency that is a multiple of the input frequency

Photolithography

a process used in microfabrication to pattern parts of a thin film by transferring a geometric pattern from a photomask to a light-sensitive chemical on the substrate

Polylactic Acid (PLA)

biodegradable polyester typically made from corn starch, tapioca roots, or sugarcane. PLA has one of the highest bioplastic consumption volumes in the world. It is a common 3D printing filament. PLA is compostable

Potentiometer

three-pronged resistor with an adjustable voltage divider

PSOC (Programmable System-On-Chip)

family of microcontroller intergraded circuits – good for analog requirements

Pull-up/pull-down resistors

used to prevent floating by ensuring that the MCU input pin is either in high (pulled to VCC) or low state (pulled to Ground). Pull-up resistor is more common of the two - it is frequently connected to high voltage (often allocated to VCC) and pull-down is often connected to ground

Pulse-Width Modulation (PWM)

encodes a message into a pulsating signal, its main use is to control the power supplied to things like motors

Resonator

creates an external clock signal for the microcontroller

Schwarz–Christoffel Mapping

conformal transformation of the upper half-plane onto the interior of a polygon

Serial Peripheral Interface (SPI)

synchronously sends data between microcontroller and the nodes (e.g. sensor, SD card) components by separating the clock and data lines

Short

happens when current travels down an unintended path between two nodes intended to be at different voltages. The most common short is when VCC and ground are connected

Stereolithography

uses a laser beam to 3D print layer by layer from a liquid polymer that hardens on contact, this generally results in a higher quality print. Common SLA printer manufacturers are Formlabs and Stratasys

Theory of self-reproducing automata

book by John von Neumann demonstrating the logical requirement for machine self-replication. His machine, the Universal Constructor, was designed in the 1940s without a computer

Trigger

a circuit that controls another circuit, converts inputs into outputs. The output remains constant until the input is sufficiently altered

Vocoder

originally developed in 1930's, vocoder is a category of speech processing that analyzes and synthesizes the human voice signal for audio data compression, voice encryption, etc. in order to reduce bandwidth

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making

Happy making