A few months ago Eglė asked me for help with an installation she wanted to build for the exhibition neLIESTI. The basic idea: on the floor of a room an array of switches, activated by stepping on them. The switches control various lights around the room independently. The array is 3 x 7, for a total of 21 channels. The lights included incandescent, halogen bulbs, flourescent tubes, LEDs and the Orb.

The exhibition was open during the month of December, 2015 in šv. Jono gatvės galerija. Some relevant links:

Navigation: Floor switches | Orb | Caustic hoist

Floor switches


Eglė had and idea for the basic button design: an about 37 x 37 x 8 cm plywood box-in-a-box, with pieces of soft polyester glued to the top part. They act as a spring. The button can be pushed down with one foot by most people.


We were considering making custom electrical contacts out of spring steel strips (rulers), but settled on mechanical limit switches with a springy lever, as used on machine endstops. They are rated for mains voltage therefore no additional indirection is required. The switches have a tactile ‘click’ that can be faintly felt through the box.


The switch sits on a standoff so that it’s top is about where the edges of the bottom box are. When the top box is pushed to the bottom it pushes the lever. Because the lever is springy the vertical position of the switch doesn’t need to be very precise. I used a few rough templates to cut, drill, glue and screw the standoffs and switches consistently, which went pretty fast.

Wires are connected with crimp connectors to enable disassembly.


The buttons are bolted to a plywood base which houses the wires: a 0.75 mm2 common (red) for each 7-button row and a 0.5 mm2 return (gray) from each button. I calculated the sizes for about 150W max per light.


The wires go to an electrical box that I called the ‘knot’. It routes the switches to 2x0.5 mm2 cables (black), one for each light. I used almost 200 m of these for the ~5x6m room. The wiring took a few days.

Each cable has a label that describes the light. The final step was matching the lights with buttons in the array in an interesting way.




One of the lights to be controlled was the Orb: a programmable 100W RGB LED that ioch and I made a while ago. We typically use it as a disco light/strobe. It’s controlled by a few potentiometers and a tap-tempo button. DMX control is in the to-do list. For this occasion I removed the interactivity from the program and it just randomly changes the hue ten times per second, while keeping brightness and saturation at maximum.


The LED is mounted on a CPU heatsink with a fan. Each RGB channel is driven by an LDD-1000HW 1A constant current supply. It has an ‘off’ pin that is PWMed from an Arduino. The power supply is 48V 3A switching mode: each channel requires over 30V to even turn on (because it is actually many LEDs in series). The Arduino and fan are powered by a separate ‘12V’ supply

The source is on Github. The simplified version is in the ‘svjonogallery’ branch.

If you have interesting ideas for the Orb, write me an email.

GIF animation (click to play):

Caustic hoist

Another installation in the exhibition was a halogen bulb mounted above an array of jars, moving vertically up and down, casting moving caustics onto the room below.

The bulb was hung on a rope (actually a piece of soft cable), tied to a steel drum that pwf made and mounted on a windshield wiper motor. I reused the electronics from the twisting tubes project and programmed them for different speed and duration of movement.

Published February 01 2016 by nightshade, Eglė, ioch and pwf