More selected projects

- - Sub-structures - -

Produced by Diane Edwards

“Planetary scale computation involves the whole earth from which silica, steel and all manner of conflict minerals are drawn.”  The Stack, B.H. Bratton

In mathematical logic, a substructure is a structure whose domain is a subset of that of a bigger structure, and whose functions and relations are the traces of the functions and relations of the bigger structure.

“Sub-structures”, takes the form of an installation of discrete sculptural assemblages.  These amalgams result from cogitations on our superfluous world of materials, components and ultra-hybrid structures.  Through this exploration I attempt to de-mystify the technological whilst following the trails of networked, materialist capitalism back to their source, unpacking technology to investigate and reveal its materiality.


Focusing particularly on rare earths I began an enquiry into their genealogy, multitude of applications, supply chains, political impact, geochemical properties, extraction processes and global demand. 

Rare earth elements have played a vital role in the acceleration of technological advances and innovations. Despite their descriptor they are not actually rare, they are abundant throughout the earths crust, yet not commonly found in large quantities in a single location, furthermore the process of extracting and separating requires specialist equipment and chemical processing resulting in a lot of toxic and radioactive waste.  As Rare Earths are fundamental to modern technology and are not so easily attainable, they are increasingly valuable (rare).

Their link to technology dates back to CRT TVs where red phosphors were made from Yttrium oxide-sulfide activated with europium.  Today you could find some form of rare earth in almost all technological products i.e. iPhones, hard drives, LEDs, CFL light bulbs, liquid crystal displays, hybrid cars, wind turbines, lasers, face creams, refrigerators and a host of military applications.  China is the world’s biggest rare earth producer with 95% of global production, thus giving them considerable power within the technological and military industries.  Other countries that are currently mining rare earths are mainly America, Russia, India, Malaysia, Australia, Vietnam and Brazil.  As our demand to “upgrade” accelerates there has even been speculation of future extra-terrestrial mining. 


  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image
  • gallery-image

Structure #1


Neodymium and dysprosium give mobile phones the power to vibrate.  In my first assemblage I utilised vibrating motors, which contain these two rare earths.  These are mounted at various locations throughout a metal structure, and are activated by the fluctuating volumes of rare earth stocks, creating abrasive sonic interruptions.


  • Arduino

  • Raspberry Pi 3

  • VPM2 vibrating motors x 4

  • MOSFET x 4

  • Diode x 4

  • 1k Res x 4

  • Neodymium

  • Dysprosium

  • Mild steel

  • Aluminium



I first began by searching for appropriate vibrating motors, and finding out what circuit and components would be needed to power them from an Arduino. I decided to get VPM2 motor, which runs on 3V and draws less than 8mA, these are fairly powerful and would provide ample reverberation. I also found two popular circuits, which amplify the current from the Arduino to the motor whilst also preventing a current being sent back to the Arduino and cause damage.

The first option was to use BJTs (Bipolar Juction Transistor) PN2222. These, general purpose amplifiers act as switches and are good for controlling medium-power electronics such as my vibrating motors. I would need to add a 10k resistor in series with the base lead connected to the Arduino otherwise I could fry the transistor without base current limiting.  Other components such as capacitors and a diode would need to be added too.

The second option was to use 2N7000 N-channel DMOS MOSFETs, which are used for low-power switching applications. I would not need to use a resistor in this case or additional capacitors, however a diode would still be useful for preventing a backwards current reaching the Arduino.

I decided to go for the MOSFET as less components are needed.

Below are my diagrams and schematic for the circuit, in the end I decided to add resistors from the Arduino pins to the MOSFET gates as although I read that this is not completely necessary it could make a more robust circuit.

Controlling the motors

The motors are controlled by historical data taken from Molycorp’s (One of the main Rare Earth Mining Companies), total volume of stock holders, I chose to use this set of values rather than the value of the stocks themselves as they fluctuated more, thus providing a more interesting output. 

I originally wanted to use live data taken from an RSS feed from NASDAQ, which detailed Rare Earth share prices. To execute this successfully I would have had to do some data scraping, (removing all the words and symbols so that the numbers could be accessed easily).  Another crucial aspect to this would be having a reliable internet connection, and incoming data that changed frequently enough to prove affective. 

To avoid complications I decided to use historical data, that way I had more control of the outputs, however I do hope to try using RSS feeds in future.  Luckily NASDAQ allows you to download historical data from up to 10 years in the form of a .csv file, this file type is readable in Processing using the Table class.

The hardware used in the work consists of a RasPi and Arduino.  I downloaded Processing 3 and the Arduino IDE onto the Raspberry Pi, and began testing out sketches using the Processing’s Serial library.  (The serial library allows me to communicate with the Arduino over the Universal serial Bus, USB).  After some further research I came across the Firmata protocol.  This allows me to communicate between Processing and Arduino without the need of a separate Arduino IDE and code, as everything can be contained within one Processing sketch or app.

Firmata is a Arduino program which runs on the Arduino board, it has different libraries for different software including Processing. To load Firmata to the Arduino I simply had to upload the Standard Firmata program code from the examples in the Arduino IDE, then I imported the arduino library in Processing.   This made things a lot less cluttered especially as I was relying on the processing power of a Raspberry Pi.

As I wanted to control the speed of the motors and not just turn them on and off I chose to use PWM with analogWrite().  By changing the duty cycle between 0 – 100% (analogWrite scales this between 0-255) I could the speed can be increased and decreased 0 being always off and 255 always on.

As I wanted to use my RareEarth data to control the speed, I needed to make sure the values would be no smaller than 0 and no larger than 255.  I did this by using map(), this resulted in float values as I was converting values  such as 254993700 to a fraction of their original size.  I could not pass floats with analogWrite() and so I changed them to ints.


A black contruct resonates,  vibrating and rattling.  Drawing the viewer in or repeling them, metal against metal alluding to the scraping and drilling of machinery against the earths crust. 



Structure #2


Exploring the materiality of LCD screens and what is controlling their output, in this case a Raspberry Pi.  I decided to demonstrate this by showing a live feed of the processes going on within the Pi on 2 screens, with the other two showing fragmented video artefacts of various clips from the internet.  These clips contain footage of mining, processing, news reports and other imagery related to Rare Earths. 


  • Raspberry Pi 3 x 2   

  • HDMI > DVI cables x 2

  • Kettle leads x 4

  • Extruded aluminium Beams

  • T-slot nuts, bolts, corner brackets.

  • 4 x LCD screens

  • Tension wire



I started working with a raspberry Pi for a project earlier in the year, and have been delving into command line / Linux from then on.  For this project there where a few important aspects that needed to be set, such as:  no screen dimming or sleeping and automated app start-up from boot.  I tried multiple methods to stop the screen from sleeping with no success, in the end downloading a xscreensaver then disabling it was the only option. I found that to run a program from when the Pi boots all I had to do was add commands to the rc.local file, which can be accessed by typing:

sudo nano /etc/rc.local

…then I add my commands i.e.

sudo /home/pi/sketchbook/sketch4/sketch4.pde &

Save and reboot and the sketch runs headless (without the need for manual start-up). Another way I could have done this is with cron, however the first option worked fine so I stuck with that.  Another issue I came across using the Pi was file permissions, I got around this in the end by using the chmod command to tell the system who I’m setting permissions for, how I’d like to set them up and what I’d like them to be. An example of this command is:

sudo chmod a+w /usr/share/pixmaps/

…this command will allow anyone to write a file to /pixmaps/

The reason I wanted to use RasPi’s was so I could run separate apps on each LCD screen, without the need of a larger mac/PC, (the Pis are nice and compact too). On two of the screens I wanted to show the processes going on within the Pi itself in real-time, I began trying to do this by displaying the logging. I did this by using the tail –f  command:

tail –f /var/log/syslog

…this command gave be access to the syslog(system log) files and printed it to the screen.  This was fine however not too exciting as logs weren’t written that often. I also tried using the watch command with ps aux. This gave slightly better results showing all the processes and at what memory% and CPU% usage, these updated in real time as well.  I decided to stick with this, figuring that if I run something in the background there will be more processes going on thus making a more captivating output.  To tie this to the overall theme of the project I renamed the pi user (which appears on the screen), so that it would read “Yttrium” and also changed the font colour to orange/read as a pointer to the red Yttrium phosphors with are creating this orange font, which is materialised to the liquid crystals within the screen.

The second aspect to this work is shown using a Processing app.  The other two screens display fragmented video clips as mentioned before.  I wanted the video playback to be fairly unwatchable In the conventional sense. The footage cutting and jumping, back and forward, reluctant to allow the viewer to fully interpret a definite narrative or timeline. I achieved this my combining many found video clips featuring visual information related to rare earths. I then used the GLvideo library (Processings own video library does not work on the RasPi), with the jump() function to skip to different points in the videos timeline. I used the data I had used before for the motors to dictate the positions that the jump() would go to.  I did this by putting the values into an array and telling jump() to access the next value in the array if the frameCount() was divisible by 13 using modulo. This told the sketch to jump every 13 frames. I had a few problems converting the table data into an array, and in the end manually added the values into the array at the start of the sketch. This was probabaly not the most efficient way forward but it worked. 


To improve on this I would like to manipulate the video further possible working with the pixels of each frame, this way I could create a more abstract and unusual aesthetic. 



Structure #3


 Most energy efficient lighting systems contain rare earths, such as the Compact Fluorescent lamps, LEDs, plasma displays and LCD displays.  For this final assemblage I delt primarily on aesthetics, and so did not use and coded or diy electronic elements.  


  • Hacked LCD screen

  • CFL residue

  • Perspex

  • Fluorescent Acrylic



I originally wanted to make this piece out of one way mirror glass sheets, hanging them from the ceiling or some sort of sculptural frame.  I hoped to create an impression of capitalism,  a clean seemingly transparent yet opaque facade to obsure yet create a window to the rest of the work.  I however decided to take a different root due to cost, and storage.   Instead I chose to investigate the implications of rare earths that are present in the inner coating of CFLs (compact fluorescent lightbulbs).   I gathered a collection of used or brocken CFLs and went about crushing them to expose the rare earth oxides inside.  This is not advised as these bulbs contain toxic mercury and glass particles arn't safe either, so to do this I had to take the necessary precausions: gloves, goggles, mask... working outside was also necessary.  I then ground up residue and sealed it within an acrylic vessel, this is then presented in the space under an large LCD Flat screen which has had the liquid crystal panel removed to reveal it's flourescent backlights which also contain the rare earths Yttruim, Terbium and Europium. The combination of these three oxides produce a very bright white when exposed to UV.  The light from the TV bulbs illuminates the residue creating a harsh white. The acrylic vessel is a thin clear box, one side featuring fluorescent lime perspex...this is also undoubtably doped in a rare earth oxide. 

Outcome / Reflection:

With this final structure I wished to highlight the idea of a raw material/substrate by presenting a powder like residue.  Other themes I saw here were the problems relating to the disposal of these potentially hazerdous technical objects and the chemistry of media itself. 




Since working on this project I can see potential for future development, be it into a deeper research based project for my dissertation, or looking at otherways I could interpret the relation between computation and its "terrestrial substrate", into new visual artworks.  Once the show is installed I plan to observe and get feedback on how well the piece communicates my research, however I do not want the piece to be representational.  I see it more as an operational tool allowing a glimpse into the uncanny nature of this rare earth age. 



Over the past year my research has been drawn towards the scientific underpinings of the technological.  I began researching and made work using the electromagnetic waves, to create a direct interpretation of their local presence in sound and video. To achieve this I needed to make a type of reciever which would interpret the hidden frequencies into sound. I came accross a PCB developed my Martin Howse and Shintaro Miyazaki which detects a wide range of frequencies and amplifies them sonically. I decide to build this as an exersize in learning how such an electronic circuit functions, in the hope to be able to design my own PCBs for future projects. The video element was created with a VGA Hack, passing the sound from the PCB though a VGA cable to a screen as if it were a video signal. I also have been developing sculptural artworks, using mild steal and collected objects. 

Below shows a selection of documentation from the past year. 


 Throughout the year I have kept a blog to act as a sketchbook, record of my workflow and a resource containing links to texts, journals, among others, which relate to my research.  I found this to be an invaluable tool which I will carry on adding to in future:



  • Bratton, B.H. (2016) The stack. MIT Press 
  • Parrika, Jussi. (2015) Geology of Media.



Paper on extracting liquid crystals


Woodard, Ben. (2013) On an Underground Earth: Towards a New GeoPhilosophy. Punctum Books

Samman, Nadim.  Ondreicka, boris. (2015) Rare Earth. Sternberg Press 

Serres, Michael. (1995) The Natural Contract. Michigan University Press

Deleuze & Guattari (2006) Art Encounters. Palgrave McMillan

Brassier, Ray (2012). The Decline of Materialism in the name of Matter. Thesis

Negarestani, Reza (2008). Cyclonopedia: Complicity with Anonymous Materials. rePress