Even more LEDs! This time it's back to conventional 5mm ones. I had the idea for this piece many years

ago when I was working on LED signage and, finally, I've constructed it.


The Work


Here it is on a table in my workroom. Ideally it should have its very own plinth but I didn't want to

stop and build one now so this will have to do for the moment.



The following video shows it working:



The camera splurges the light too much, but you can kind of see the idea of it.


It's not a good idea to explain art too much but you might, perhaps, think about Van Gogh's painting

of an old pair of shoes which is as much about absence as it is the presence of the overly familiar.

My piece is (sort of) about the absence of a future: the kind of retro-future that some of us were

once so familiar with but which, of course, has never happened, and never will outside the pages of

books or on the screens of movies.


The Technical Stuff


I found an old pair of very cheap shoes that I'd bought a long time ago, worn once, and then decided

that my feet deserved better. Now I'm recycling them into a piece of sculpture. First job was to cut

holes in the soles. It wasn't too difficult - they're just a combination of soft and hard rubbery

material. Not particularly neat but then it doesn't show being underneath.



I then cut pieces of perforated circuit board to fit each shoe and wired up the LEDs.


The drive electronics of this is more or less identical to the first piece (The Long Way Round), again

with shift registers driving LEDs. This time, though, I'm using strings of LEDs to get the individual

bars and that necessitates a much higher LED voltage than the +5V from the Pi board. Having to have

the extra supply doesn't really detract from the look of the work because I can hide the power supply

under the table, or inside the plinth, once I build it.



Here are some pictures of the LED boards, the interface board, and finally the whole thing being

tested on the workbench.







The code is more complicated than it needed to be. I originally intended to feed a new (random) data

value into the shift registers on each step but, unfortunately, I wired the LEDs to the shift

registers in reverse order so, rather than bother to rewire them, I simply simulated the shift

register in the code and read out all 16 values each time.


import time
import RPi.GPIO as GPIO
import random
# set GPIO directions - all outputs
GPIO.setup(14,GPIO.OUT) #clock
GPIO.setup(15,GPIO.OUT) #latch
GPIO.setup(18,GPIO.OUT) #data
# set initial state
# start off with LEDs off
ledData = [False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False]
# do forever
while True:
  for x in range(15,0,-1): # do for 15 LEDs
    ledData[x] = ledData[x-1]
  if random.randint(0,15) < 8:
    ledData[0] = True
    ledData[0] = False
  for x in range(0,16): # do for 16 LEDs
    GPIO.output(14,True) # generate clock
  GPIO.output(15,True) # after all 16, latch on s/r outputs


Randomly driving the shift-register gives something reminiscent of a barcode flowing beneath the

shoes. A mesmerising flow of 'data' disappearing off into the past. The code part of this is so

trivial it could easily be made to work with a 50p microcontroller, which is probably how I'll adapt

the piece once I'm finished.


I probably lose a few points for originality with this slice, copying my own previous circuit, but

maybe I'll make up for it on the artistic side of things.


Now I need to think about what I'm going to do for Slice 5.


Here are links to the other slices:


9 Pieces of Pi: Slice 1: The Long Way Round

9 Pieces of Pi: Slice 2: Manifesto for Art Electronic

9 Pieces of Pi: Slice 3: Trickle Down to the Brave New World (This Way!)


I'm following along with this Design Challenge as an independent participant, not as one of the

challengers. I'm not entering the competition for the prizes.