Skip to main content

Using RaPi for video display within a sculpture

I am an artist, and over the last few years I have been using technology within my artwork. Sometimes I incorporate redundant technology and electronic waste. But I've also made artwork using Arduino, compatible platforms like the Touchboard and the also the Raspberry Pi.

The low cost, small size and robustness of the Pi make it ideal for incorporating within sculptures. Equally valuable for me is the fact that it doesn't seem to overheat. You can stick it to walls or hide it inside things with no apparent ill effects. Nor does it seem to crash often, I've had it running the same programme for days at a time without needing restarting. Working in Linux can be pretty daunting for those of us without a code or engineering background, however there is lots of great support online.

I have access to lots of old PC monitors and I wanted to put together a system where I could use them with the Pi to display video and images. I could then incorporate these screens very flexibly within my sculptures and installations. But whatever I built had to be potentially left within an art gallery for weeks at a time, so it needed to be simple enough so that anyone working there could easily turn it off and restart it.

This all seemed like a reasonably straightforward set of requirements when I started off, but in fact I had to try a lot of different approaches before I finally got a system I was happy with. I nearly gave up a few times along the way. But I thought I would share what I've learned, in case someone else is trying something similar.

Hardware setup

The screen I had to work with was an old non-HDMI monitor. Of course the Pi video input is HDMI so I got a VGA to HDMI convertor cable. I couldn’t get the Pi to reliably recognise the monitor using this, but I discovered that I could tell the Pi to expect a VGA input by making a small modification to the config.txt file. I found it much easier to do this by just putting the Pi SD card into my PC and editing it there. Later I realised it would be better to use the monitor's DVI input because it's a newer protocol and much closer to HDMI (it transmits the same data but just without sound), so I got a cheap HDMI to DVI adapter cable instead. The Pi recognised that without any config changes needed.

Video display

My initial plan was to run a permanently looping gif animation that I'd created. I thought (mistakenly it turns out) this would be easier than using video. I also wanted my image to fill the screen completely with no 'chrome' from the software visible. I toyed with the idea of actually making the animation into a screensaver (beyond my technical abilities), then I came across the suggestion of playing the animation in the Chromium web browser set to fullscreen mode.

titleSo I installed and fired up Chromium (within Raspbian) and opened my specially prepared and screen-sized gif. The image looked great, but, there was no animation. I tried the inbuilt image viewer that came with Raspbian. Here I could get the animation to play, but it wouldn't give me a full sized image. I suspected that I was dealing with a memory issue. And the memory usage indicator certainly suggested I was maxing out my system memory. My Pi is the older model B with 512Mb of RAM. I tried optimising my gif animation to make it as small as possible (2Mb) while still keeping the dimensions I needed. I also tried downloading any other image viewers that I thought would be less memory-hungry than Chromium. It was then I discovered how very patchy support for animated gifs actually is. I couldn't find any software that would actually play my gif at full size at the intended speed and also allow the removal of any 'chroming'.

Then I read about the dedicated media OS XBMC, which sounded perfect for my needs. I bought an SD card with it already imaged onto to save a bit of hassle. It opens up immediately into a nice shiny GUI. I downloaded my gif animation, ran it. But it still wouldn't animate! Discouraged I did some research and finally discovered that XBMC didn't fully support gif animation either. At this point I very nearly gave up.

title
The finished sculpture - Chimera (2015) Video screen and salvaged power cables

Still, after a strong cup of coffee and some 'calming down' time I decided to review my initial requirements. After all I now had my monitor video-ready with an interface simple enough that anyone could turn it on or off. It was my attachment to the gif animation that was the real problem. Reluctantly I decided to abandon the gif and remake my animation as a short video.

Once I'd made the break it was much more straightforward. I set the video to loop and did some stress testing by leaving it running for long periods of time. No problems. The XBMC also prevented the screen from going into sleep mode was no input, so that was another thing I didn't have to configure.

Finally I had a working video screen to put in my sculpture. Last thing to sort was input devices. I had been using a Bluetooth dongle for my keyboard and mouse. And then I came across an article describing how easy it was to use a PC remote control with XBMC. I picked one up really cheaply plugged it into the USB port of my Pi. And it just worked out of the box. Very nice. 

So here is my easy recipe for a cheap RaPi driven video display for use in an art gallery:

  • 1 discarded PC monitor
  • 1 HDMI to DVI cable
  • 1 Raspberry Pi (832-6274)
  • 1 SD card with an xbmc image preloaded
  • 1 cheap PC remote control

The sculpture that I was finally able to build has been selected for inclusion in the art exhibition Structure Texture Future which will be on at the Nunnery Gallery in East London from 19 June until 5 July 2015.

Artist turned software designer turned artist again.
DesignSpark Electrical Logolinkedin