My last blog was about the pretty much completed project. This time, I have better a better container for the ferrofluid and more electromagnets so I can now create the symmetric patterns. I also bought some glass petri-dishes, hoping that they will do the job better in the case of seeing the spikes from the electromagnet; however, I found that plastic containers do better than glass ones. You can witness this in the following final video.
After buying all the items I need for the project, I started working on getting the software part of the project working. As outlined in the Project Proposal, the first step was getting Processing to output the FFT spectrum of a playing music track on my laptop. There were a lot of helpful tutorials online and they helped me get the real-time FFT data of the song/microphone input. After, looking around what others have done for Arduino-Processing Spectrum Analyzer projects, I realized that the highest frequency content of the spectrum is about 5kHz for most songs instead of the full human hearing range of up to 20kHz. Therefore, I divided the frequencies from 0 to 5.6kHz into six frequency bins in Processing as shown below.
The frequency bin heights were limited from 0 – 255 to be compatible with the Arduino PWM write function. Different scale factors were used for the human voice bin and the low frequency treble bin since they were pretty small compared to the bass height. A real-time visualization of the FFT spectrum can also be plotted on Processing.
Now that these frequency array values are ranging from 0 to 255, I sent them to Arduino using a for loop. Before each iteration of sending data, 0xFF was sent first for synchronization purposes. In Arduino, the code was written so that Arduino starts reading data by byte once 0xFF was recieved through the serial port. Equal for loop delay of 5ms and main loop delay of 10ms were added in both Processing and Arduino scripts to further ensure the data transfer synchronization. It was confirmed that the data transfer between Arduino and Processing was synchronized by sending constant input from Processing and observing the same output at Arduino.
Now that the software part of the project is mostly done, I started working on the hardware part, which is the vibration motor matrix and how the motors come together with the sphere magnets and the petri-dish containing ferrofluid. Using cardboard boxes, I tried to make a fixture for the motor matrix. Little did I know was that there is a considerable attraction between the ferrofluid and the magnets as well as the motors, which means that the plan to vibrate the sphere magnets to change the magnetic field is not gonna work since everything is sticking to one another…
So I thought about changing the magnetic field without having any moving parts, which leads me to the idea of using electromagnets instead of permanent magnets. Having spent about 35 dollars on the sphere magnets and vibration motors, all of which have become useless now, I was actually hesitant on buying new materials, so I went ahead and bought six of these small and cheap electromagnet brakes from Amazon shown below with two day shipping.
It turns out that the magnetic field they produce is too small and nothing but a small bump appears on the ferrofluid when they are powered. Another 27 dollars was wasted…
At this point, I was pretty disappointed because I have spent so much money and nothing really seemed to be working as I expected. I knew I needed a strong electromagnet but I have no idea how strong and how much money I should be spending. I saw some Youtube videos testing some lift electromagnets and thought I should give it a try. So I purchased three of the 12V 5.6lbs lift electromagnets from Amazon with two-day shipping.
By using a transistor and a 12V power supply from AK227 lab, I was able to control the strength of the electromagnet with Arduino. With only ferrofluid in the petri-dish, the movement of the ferrofluid due to the changing magnetic field strength from the electromagnet looks like this following video (It’s not my experiment, I forgot to document this phase). Instead of the spikes as in the case with a strong rare earth metal, a rather large bump was witnessed even when the electromagnet is at full power (12V, 0.25A).
At this point, I was quite happy with the results since I can see the change in the magnetic field with the incoming music FFT data. But I was not quite satisfied because I thought I was gonna see the spikes with this electromagnet since it is relatively strong. Also, I know that without the spikes, I would not see the cool patterns even when I put the glow material into the ferrofluid.
I did more research online looking for an explanation of why I am getting just a bump and not spikes with the electromagnet but to no avail. Then, somewhere on the Amazon website, I also saw this ferrofluid suspension in a bottle filled with water-like liquid. At this point, my plan has changed from hunting for the ferrofluid spikes to just creating a cool visual by turning on one electromagnet of the three I have at a time and make the ferrofluid chase the electromagnet that is turned on. The light art aspect of this idea would be to just use a RGB led to light up the water-like fluid part with incoming music data.
So I did more research about what that water-like fluid is, and it turned out to be 70% isopropyl alcohol. I have a bottle of 91% isopropyl alcohol sitting in the bathroom closet so I tried with that but it does not seem to work as the ferrofluid just sinks to the bottom and smears all over the container as I drag the magnet around it. So, I took a quick trip to the local CVS and bought one of the 70% isopropyl rubbing alcohol and it worked. Then, I tested it with the electromagnets that I bought and little did I know that it would also form spikes when the electromagnets are powered on. I hooked the experiment up with my laptop and Arduino and start playing songs with really nice beats. The results are below…
This first one is with all three electromagnets being driven with the bass FFT data.
The following ones are made with bass, voice, and low frequency treble data. Can you tell which one is which?
I know it is hard to see because it is clear, but the 70% sopropyl rubbing alcohol is in the cup. Also, I used a plastic cup because I did not have a glass petri dish.
So once again, and I hope this is the last time, I went onto Amazon and bought three more of the same electromagnets that I already have and 5 glass petri-dishes and a jar of glow paint since getting the glow material out of the glow sticks is extremely messy and difficult.
At this point, I think the majority, or at least the hard part, of this project has been accomplished and I have spent $193 with about $60 spent on items that are not gonna be used at all. Looking forward, I will include the Light Art aspect into it by first using the glow paint with the 70% isopropyl rubbing alcohol. I am not sure if that is even gonna work since it’s not really mixing the paint with water but if it did not, I will use an RGB led and light the glass petri-dish from the bottom and have the RGB led change color with the music.
Here is also a picture of the setup in AK227 lab. For the project demonstration, I will have to borrow a 12V power supply in order to power up the six power-hungry electromagnets.
The block diagram of the chosen project, glowing ferrofluid patterns, is shown below. First of all, Processing will be used to extract the FFT data of a playing music track and transfer the FFT data to Arduino. On Arduino Uno, the FFT data will be quantized into six different frequency bins and the averaged amplitudes of the six frequency bins will drive the six vibration motors. The arrangement of the motors and magnets under the petri dish containing ferrofluid will be a pentagon-like shape since most petri dishes come in circular forms. After all that is done, the last task will be to 3D print a fixture to hold the petri dish so that the magnet and motor matrix can be inserted under the petri dish without touching it.
In the earlier version of the project proposal, it was proposed that nine motors will be used instead of six in order to add more freedom in the movement of the ferrofluid pattern; however, on second thought, the number of motors was reduced to six since an Arduino Uno that has six PWM output pins is already in possession. The physical shape of the magnets was chosen to be spherical so that the magnets can freely bounce and roll around within the confined pentagon shape when the motors underneath the magnets vibrate at different speed, resulting in more uniqueness in the change of magnetic field. Moreover, the vibration motors can draw up to 100mA at 5V full speed; therefore, it is required to have a separate power supply for the motors and this can be achieved by either using the power supplies in the ECE lab or purchasing a 5V battery for portability.
One challenge in the project is to design a medium between the magnet matrix and the motor matrix that will allow the sphere magnets to bounce around freely when the motors are vibrating. Since the motor discs are also made out of metallic element, the magnets will be sticking to the motors if a paper like medium is used. One way to resolve this challenge is to experiment the strength of the magnets as well as the attraction between the magnets and the motors and to even use a magnetic shield foil as the medium if necessary.
Up to this point, all the necessary items in the following list have been purchased and I am working on extracting the real-time FFT data of a playing music track using Processing. The next step will be to get the communication between Processing and Arduino up and running with the FFT data.
The first project idea, ‘Ripple LEDs’, that came into my mind was programming a LED array so that it behaves as a simulated water surface. For example, touching of the the LEDs would create a ripple effect that will eventually die down while stroking a line of LEDs would produce spreading trails of ripples as in the case of a boat cruising through a lake. For input side for sensing, capacitive, proximity, or even pressure sensing will be considered. As simple as it sounds, this project can present challenges in areas such as programming the ripple and trailing effects and managing sensor data from each LEDs. It can also be expensive since each LED will have its own sensor and a moderate size LED array would be necessary to capture the ripple effect of water.
The second project is called ‘Dancing Shards’, which is a forest of shattered glass fragments light by LED light strips on a wooden pane. The LED strips will be programmed to change color and brightness based on the frequency spectrum of music input coming from an audio source and each shard will represent a certain amount of frequency bin of the data. A microcontroller such as Arduino will be used to manage the audio data and drive the shard LED strips. There is a video on YouTube about making the light shards and it’s shown below.
The last idea, which perhaps is my most favorite one, is ‘Ferrofluid Lights’. I got inspired about this idea through a YouTube video showing how ferrofluid mixed with glow stick substance creates very interesting and amazing patterns with changing magnetic field. As opposed to creating the changing magnetic field by hand, my idea is to build an array of mini vibration motors to create a vibrating surface, on top of which small round magnets will lie. Similar to the second project idea, the input to these motors will be the frequency spectrum of music from an audio source and each motor will represent a certain amount of frequency bin of the audio data.
The artist group chosen for the Light Artist Presentation was called Marshmallow Laser Feast (MLF). MLF are a London-based design studio formed by several visual artists who are always looking to create real-time interactive experiences that immerse and amaze their audiences in completely unexpected ways. The creative techniques they use to produce the art experiences range from photo-real virtual reality to robotic performance and real-time mapping, pushing boundaries, redefining expectations and exciting audiences worldwide.
MLF’s most recent exhibit project is “Laser Forest”, an interactive musical instrument/environment that was also commissioned for the STRP Biennale, a cultural organization that makes sense of creative technology. Laser Forest is a huge forest consisting of over 150 green laser beam rods that generate otherworldly tone when tapped or strummed. As a group, all the laser beams become a collaborative instrument, as well as an ethereal playground. According to MLF, the idea of this project was to tap into people’s sense of wonder and playfulness and let them discover more about their senses in a magical environment. Set up in an empty factory space, the Laser Forest is a piece of an ethereal wonderland where both children and adults can lose themselves immersed and mesmerized by the bewitching environment.
The second project chosen is called “In the Eyes of the Animal”, a 360 therianthorpic VR experience of the sculpture-laden Grizedale forest in the Lake District of Northern England. In simpler words, this VR headset allows you to become a warg as in the TV show Game of Thrones, but only better since the LiDAR and CT scanned woodland and aerial images deliver a mythical and magical experience to viewers. Sub Pac devices on the headset also enables the users to hear as well as feel the natural sounds of the animals and become submerged in this simulated world. Barney Steel, creative director and co-founder of MLF, also explains that: “Using VR to immerse someone in the sights and sounds of animals creates empathy by simulating the way that others sense the world. This type of first person perspective experience is—in my opinion—VR at its best.”
Lastly, this project by MLF is called “Meet your Creator”, an orchestrated swarm of 16 quadcopters dancing and shining light beams at the same time. In this tightly choreographed show, light is sculpted around the room using mirrors attached on the quadcopters and synchronized spotlights that follow around and shine light beams directly at the mirrors on the drones, creating reflected dancing light beams. The performance took months of planning and was simulated in Cinema4D to ensure that the logistics were correct and the drones were all going to dance in synchronized fashion. The quadcopters were tracked using a VICON tracking system, featuring 20 cameras, and the tracking input was used to control the robots.
In addition to light art exhibit projects, MLF has also created mind-blowing minimalistic kinetic lighting designs for commercial purposes as shown below. Overall, MLF are a very creative and interesting group of visual artists who not only portray the aspects of art to the fullest but also show how state-of-the-art technologies can be combined with art to take immersive interactive experiences to a whole new level.
I have had experience in drawing 3-D models using Zbrush, video production and editing, and digital painting. I also used to take water color painting classes when I was in high school.
Tech Experience
I am very familiar with Arduino and other electronics skills since I am now a ECE senior with concentration in both Analog and Digital electronics. I have also used Processing in conjunction with Arduino for graphical user interface purposes but I am not that familiar with Processing.
Creative Arts
I used to take classical and acoustic guitar lessons when I was back in my country. I also took a social dance class here at WPI and I found it to be very relaxing and interesting. Usually, in my free time, I just like to play the guitar.
Creative Inspirations
I think light and water are my sources of creative inspiration. I like how light can diffuse, reflect, and disperse through the use of a prism. Water also has the liquid effect which gives rise to ripples, reflections, droplets, and many other cool features. Also, mythology computer game characters along with their medieval weapons and armors inspire me a lot since I am interested in Middle Ages and legendary creatures.
Artistic Goals
One of my artistic goal is to become a good 3-D modeler for game character ‘skins’. Nowadays, most computer games have the ability of being able to change the clothing, weapon, and accessories of the game characters and skin designers can also make some decent money if their skins become popular.
Recent Project
The most recent creative project that I am really proud of is my final project in my 3-D modelling class. The goal of the project was to sculpt a replica of my whole self.