Paul Jacobs
Media Arts & Technology
265 Final Report
Fluidic Space: From Visualization to Expressionism

-- Abstract --

Fluidic Space is a custom-built hardware-software project to generate and display animated sequences and patterns of high-energy magnetic field pulses at frequencies up to 200Hz, using an array of 8 independently controllable electromagnets across a focal area of 8" x 10" - the magnetic "output field" of the system. This output field is created at the front face, meant to be projected through a sheet of poster-board or cloth. A vessel (8" W x 12" H x 3" D) containing ferrofluid and water is placed in front of the sheet, within the output field.

Through interactions of water, ferrofluid, gravity, and the generated magnetic output field, Fluidic Space is capable of exhibiting a widely varied set of visual patterns and expressive sequences of motion. By finding these sequences and exploring the expressive potential and other unique characteristics of their parameter space, I am building up a visual vocabulary to express meaning through. This expanding library of expressive units can be recombined in pre-scripted sequences (timed to music or other performances) or directed in real time through a USB connection to a host machine. The host machine may be creating a performance in reaction to live sensor input from a viewer, feedback sensors aimed at the fluid vessel, algorithmic design, pseudorandom patterns of lower level sequences at one or more levels of abstraction, or any number of potential inputs in combination.

As a work in progress, the primary focus this quarter for Fluidic Space has been acquiring the technical knowledge and practical experience to reliably generate strong magnetic fields with custom-built electromagnets, and then to design a physical and digital framework around this knowledge to support multiple overlapping source points with a central digital control system.

 

-- Inspiration --

According to physics, four fundamental forces shape our reality. The strong & weak nuclear forces work on a scale too small to see. Gravity keeps us down but the interesting effects happen on a scale too large to see. Only electromagnetism is observable on a human scale. Electronics, chemistry and optics all derive from this force, each empowering humanity. Magnetism is well understood by science, but it's invisibility lends it an aura of the mysterious - a choreographer behind the scenes.

Before starting this project, I had already seen ferrofluid demonstrate it's superiority in the visualization of magnetic fields. The standard museum display with a permanent magnet for the viewer to manipulate next to a ferrofluid-water container is fascinating to play with, creating complex patterns and rhythms of movement in response to strategies of moving the magnet. I recognized that moving magnetic fields through ferrofluid could comprise a form of performance art, causing the fluid to dance. Unfortunately, precise human control of even two strong magnets becomes exponentially less feasible as the distance between magnets decreases - especially if the fluid vessel is breakable (most of them are.) Weak magnets, while more controllable, have a minimal effect on the fluid. My desire was to create a system to give me as much control over ferrofluid as possible - which required a new type of hardware and software to drive it.

-- Previous Work --

In going through existing ferrofluid project videos, I see a clear pattern in the evolution of ferrofluid-based experimentation. This sequence was often reflected in my own process of learning to use it effectively.

Initially, I put it in a sealed transparent container with air and manipulated it with a permanent magnet, only to discover how easily it would permanently stain any inner surface the fluid touched. In my case, after a few minutes of exploration, I had an opaque black container. This is, in my opinion, why sealed containers nearly always have a water buffer, and those that don't are not usually filmed.

With a wide open container such as a petri dish, an open-air based ferrofluid display can be compelling - it can react more quickly than a water-based one and has less optical distortion - but it also creates the risk of staining of the viewer and measures must be considered to protect them - asking them not to bring magnets, for example. These displays can also be difficult to keep working properly over time, as part of the fluid evaporates, changing the behavior and appearance of what is left. On the other hand, with wide flat containers one starts to discover the beauty that thin-film ferrofluid presents.

Many have composed amazing works using permanent magnets with horizontally oriented open-air ferrofluid displays (video editing may be involved):
https://vimeo.com/45850503
https://vimeo.com/38850535

Adding ferrofluid to water in the container, rather than air, limits the staining area to the inner surface above the water level. In my experimentation, water-based displays appear to be the most stable arrangement. This makes sense, as most museum displays and ferrofluid videos I've seen involve ferrofluid suspended in clear liquid. Here is a sample of the higher end of this type of display, showing the expressive potential in using just a single magnet:
http://www.youtube.com/watch?v=-P1ArqjQT0c

With a stable container arranged, more interesting field generation techniques become feasible, thus you tend to see electromagnets used with vertical water-based displays, or with horizontal open-air displays. The Ferrofluid Fun Maschine, one of the most direct ancestors of the present project, is a vertical water-based system with a single software-controlled electromagnet in an apparently moveable configuration: http://www.youtube.com/watch?v=RcJCfuAOFm4

A common subtype of the open-air ferrofluid display is a metal object, often vaguely screw-shaped, rising out of a pool of ferrofluid and connected to a variable power electromagnet, which is adjusted as a performance piece. An excellent example of this would be Sachicko Kodama's work with Yasushi Miyajima - Morpho Towers: http://www.youtube.com/watch?v=TEV9o5nyl3s

Another open-air electromagnet display forgoes the screw attachment, but paves the way as a predecessor to the present project by being one of very few systems controlling two (or more) electromagnets with relays from a single controller board in software: http://www.youtube.com/watch?v=eiFcavGi_0g

UCSB College of Creative Studies student Zach Rubin created an open-air ferrofluid display with 8 electromagnets. However, they are spaced far enough apart to have non-interacting magnetic fields, excluding the central electromagnet's interaction with the permanent magnet above it: https://vimeo.com/9711771

Artists have created some very interesting works by putting ferrofluid in interconnected flowing systems, and/or by adding color liquids for it to interact with - such as Kim Pimmel's Compressed 02: https://vimeo.com/28304264 or Fabian Oefner's Millefiori: http://www.fabianoefner.com/64838/556924/projects/millefiori / https://vimeo.com/45021408

In looking through all of these, I kept wondering to myself, with the maker revolution ongoing, why can't I just order a piece of hardware to program my own unique magnetic field shapes and then motion sequences to show with ferrofluid? Why hadn't anyone performed the seemingly obvious next step and built a grid of powerful electromagnets, to make uniquely shaped fields choreographed by micro-controller? After some further research, the answer was - some of it had been done.

SnOil, a project consisting of a 12x12 (144-element) grid of electromagnets under a horizontal open-air ferrofluid display, created by Martin Frey (http://www.freymartin.de/en/projects/snoil/video), is conceptually the closest project I have found to what I had in mind with Fluidic Space, in that it has a grid of electromagnets (visually, the Ferrofluid Fun Maschine is a closer fit.)

Unfortunately, the magnets and/or power system that SnOil uses are not powerful enough to create noticeable spikes, or intersecting magnetic field volumes in the ferrofluid. Two adjacent activated pixels on this display appear as two completely separate, squared blobs, with no spikes and no possibility of building up other shapes.

-- Research and Development --

After extensive research, I'd concluded that my ideal had not yet been realized. I wanted a modular system with the stability to experiment and develop new electromagnetic field configurations and patterns with ease. I wanted to reduce the problem of creating a ferrofluid display to the problem of writing a program, and to have ferrofluid dance to my code's non-literal tune. I wanted to be able to write another program, interacting with a Leap placed in front of the vessel, and to wave my hand above it and have the fluid respond to my hand movements as if I were commanding it to move, or by inspecting my hand warily with a mixture of apparent curiosity and tension. These things and an infinite variety of others become possible with and only with this system, or something similar.

I decided to design Fluidic Space to work with a vertical, water-based, sealed ferrofluid system, but to have it be modular. So the magnetic field generation system is a separate piece from the fluid display vessel. In the future, several of these modules could be tiled and controlled by a single host machine to create larger fields in a 2D arrangement, three of these systems could generate a field on each of three sides of a larger vessel, etc.

Initially I had planned to use two electromagnets along with several permanent magnets:

It took months of trial and error before I successfully built a single electromagnet with the strength to generate spikes in ferrofluid. I studied physics textbooks, consulted with physics professors and lab staff, researched online, and experimented wildly. Soft Iron, the ideal core material, was difficult to obtain in appropriate quantities and shapes to precisely fit a well-wound coil. The coil was a conundrum as well, without a mechanical coil-winding machine to work with. Commercially manufactured electromagnets were not available locally, not very well specified online, expensive even before shipping, and most did not seem to be shaped ideally for my needs.

- Electromagnet Design -

In the end, the most practical magnet design that I tried for this project involved rebuilding transformers. By removing part of the figure 8 shaped soft iron slices surrounding the coil in the transformer and repositioning the remaining material, it became an 'E' shape, causing the magnetic field to spill into the air gap on the side where the metal was removed from.

Many types of transformers were tested. The optimum among them seemed to be designed to output 24v at 4 or 5A from standard line voltage. In the process of rebuilding these, as mentioned above, I would end up with a wire coil wound around the center leg of an "E" shaped magnetic core. Hoping the sides were superfluous for electromagnet applications, I tried cutting off the sides of the core slices from one of a pair of identically rebuilt transformers, changing their "E" shape to a "T" shape going through the center of the coil. Physics textbooks and magnet building documentation did not mention the wrap-around "E" configuration or whether it was necessary, nor could I determine if a stronger or weaker field was predicted as a result. I observed a significant decrease in generated magnetic field strength for a given input power level when using the modified rebuilt transformer vs. the unaltered rebuilt transformer. This was disappointing, as the modification would have allowed for more closely spaced pulse generation, a "higher resolution" magnetic field.

- Components and Circuitry -

With a high-functioning electromagnet in hand, I was able to step up a level of abstraction and work on designing the systems to control and power them. I decided to provide each of the 8 electromagnets with an individually addressable relay on one of two Relay Shield + Arduino sets; with each set handling 4 electromagnet circuits. A schematic diagram of the circuit driving each electromagnet, including the Relay Shield's contribution over the gray background, is shown below. Note that each magnet has it's own independent power source and isolated circuit, so electrical failures that the controller survives will not cascade, and each can always be driven at full power regardless of how many other magnets are active.


Stepping up another level of abstraction from individual electromagnet circuits, we have two groups of four circuits, each managed by a controller board and relay shield pair. I'm using one SeedStudio Relay Shield v. 1.3 and one Relay Shield v. 2.0, each paired with an Arduino Uno. The v1.3 board is designed to handle up to 2A on a continuous basis, but I've used it with up to 4.5 A for very brief periods, with no negative results thus-far. Not wanting to push things, when experimenting with other power supply arrangements I put the higher power boards on the v2.0 Shield, which is designed to handle 8A continuously and has successfully switched over 10A in testing, again for brief periods. In the future, I plan to run two 2.0 Relay Shields.

Stepping up one more level, Fluidic Space as a system consists of several logical components:

Each Relay Shield is controlled by it's respective Uno board, which I've programmed to run either an onboard preprogrammed software sequence (with pseudorandom elements); or a driver program to continuously listen for instructions via USB and generate magnetic field patterns in response as needed. The development of this interactive mode greatly accelerated research into sequence discovery, pulse length and overlap timings, among other items; and allows for much more interactive, synchronized, and more complex displays to be developed and iterated quickly.

Power Distribution handles the conversion of line-level power into what is required to drive the magnets and controller boards. Standard magnet power after conversion averages 20 volts at 2 amps.

The Electromagnet Structure holds the magnets in place the create the output field. Each group of 4 magnet circuits is managed by a Controller Arduino + Relay Shield, which is in turn controlled through it's internal software

- Support Structure -

For the material structure used to lock the electromagnets in place, I considered wood, metal, adhesive directly on the vessel glass, and plumbing pipes with pre-molded corner connectors. Wood was too flexible and heavy for it's strength, while the metals readily available were themselves paramagnetic and would have disrupted the output field. Adhesive on glass created too much chance of shattering during project movement, complicated concealment of the magic, and turned the vessel into a critical point of failure.

I settled on pipes for their flexibility, strength / weight ratio, and the option to build quietly at night. Velcro and 3M's dual-lock and similar fasteners were also very helpful. Due to my use of velcro and dual lock for the final magnet positioning relative to the structure, those positions can be modified without a complete rebuild.

The one significant negative to using the pipes was that the pipe width I had chosen (3/4") forced the spacing to be too large for the ferrofluid to make the vertical leap up past the pipe barrier between two electromagnets. This caused the End of Year Show version of Fluidic Space to exhibit horizontal movement only. After the show, I had more time to experiment, finding that turning the field generator on it's side and adjusting the controlling software allowed vertical movement.

Another sequence, meant to be run in a rotated physical configuration, used a similar set of code to move the ferrofluid vertically, sometimes keeping it at the top while continuing the sequence:

The host software interface has been tested and confirmed to work, but the truly expressive and exciting development work on the host software side is still in the future. This host software is where the true interactivity, systemic intelligence, awareness, and complex synthesis of expressive responses to stimuli can take place. Much or most of the future work, thankfully, is now in developing the host software and iterating the rest of the system to match.

- Results and Analysis -

This project was my first journey into physical computing. I've had a great time.
Although I am glad I have made this progress, I feel I should have focused more exclusively on Fluidic Space in order to be more prepared for MAT's End of Year Show, and I would have liked to have been farther along in the software development - with more preset sequences developed by now, and some interactive host-based works.

Originally my plan was to produce one or more works of art using this modular system that would meet even the strictest definition of art. However, the hardware design and construction process, funding issues, delivery delays, and other issues all helped the development take longer than expected, delaying the start of the software research and consequently any well-developed art.

I have succeeded in creating a prototype grid of distributed electromagnetic force controlled by software. I am very happy to have achieved this and started interfacing code with electronics I have built myself. The fact that my custom hardware is designed to generate custom force fields is icing on the cake - though admittedly, the force generated is fairly short range and dependent on paramagnetism in the target.

I learned that hardware design and construction is feasible but more complex that I had imagined. While I was not satisfied with the level of finish displayed by Fluidic Space for it's first public display at the End of Year Show, I was happy with the level of interest shown by the public.

- Future Work -

Expressionistic performance through ferrofluid in the output field requires a library of expressive sequences or sub-sequence gestures, each with it's own set of variations to express a range of character qualities.

For example, imagine the following sequence, set to music:
- Fluid moves from left to right and back, hitting the midpoint on each beat, for a measure.
- Movement changes to symmetric waves moving outside to inside and back, for another measure.
- While motion continues on the bottom, as music reaches a local crescendo the fluid moves faster, suddenly reaches out from the bottom and flies up into the middle of the vessel, and then to the top after a beat, keeping time.
- Fluid moves up and down in time while the upper blob starts to drop and is re-captured every other beat
- Top fluid blob is allowed to slowly fall as music starts to fade, while the rest fades with the sound.
- Just before it joins the rest, the top blob is flicked upward and to the right momentarily with a pair of precisely timed magnetic pulses.

This sequence and many others are possible to make real by cataloging expressive sequences or gestures and experimenting to find the range of parameters that work best. Individual gestures have unique named parameters, but all gestures share a common set of optional parameters:
- pulse length timing
- overlap timing
- initial delay
- repeat delay
- repeat count

Examples of subsequence expressive gestures (including theoretical):

-- 'KITT': horizontal motion back and forth (implemented, shown in video)

-- Vertical pull fluid up to top (implemented, shown in video)
- global parameters of pulse length + overlap timing determine amount of fluid moved
- experimentation has narrowed these values.
- param: keepOnTop - when set true, leaves the top magnet active, keeping fluid there

-- Vertical pull all fluid to top
- Repeat pull some fluid to top, with experimentally determined optimal settings.

-- Vertical drop fluid from top (implemented, shown in video)

-- Vertical pull fluid up to middle

-- 'Heartbeat': periodic pulsing of a single magnet at a constant frequency.
- param: heartRate - controls pulse frequency, how much of the fluid is retained

Fluidic Space is, for now, primarily an experimentation platform - providing a level of creative freedom and expression with electromagnetic fields not otherwise available. With the initial prototype hardware now having stabilized, the research and software development phase kicks in, testing and recording a visual language of pulse timings and longer sequences is now in active development, while iterating physical hardware and controller software as necessary to support expressive movement from the host machine.

I was surprised to find that instead of being annoying as I'd expected the relay clicking to be, most of the time they were a pleasant accompaniment to the movement displayed by the ferrofluid. I would like to explore this further, intentionally altering relay firing patterns to compose a song with rhythmic low frequency beats as well as some higher frequency tones formed by switching near the 200Hz limit, perhaps on more than one relay simultaneously.

In Fluidic Space's future, I look forward to exploring more expressive gestures and their parameter spaces, combining them to make set works, and designing interactive systems with host machines using the expressive gesture library.