LED matrix #1 – Introduction

I often find that combining different ideas can lead to some interesting projects. Sometimes it takes a while to come to fruition though. Below are three ideas or concepts that I came across 10+ years ago which I’ve only just managed to get started on 🙂

Idea 1 – Blinkenlights

In 2001 the Chaos Computer Club ( CCC ) in Germany created an interactive lights installation called Blinkenlights. The project used the windows of the “Haus des Lehrers” building on the Alexanderplatz in Berlin as a low resolution ( 18 x 8 pixel ) display. As well as displaying animations additional software allowed users to dial in by mobile phone to leave messages of their own or to play Pong.

Further installations followed in 2002 using Tower T2 of the Bibliothèque Nationale de France and Toronto City Hall in 2008. All the software used has been released under a GPL licence and is remarkably easy to rebuild and use.

All these installations were impressive engineering efforts although the engineer in me shudders at some of the wiring setups!  There are several videos available, all are worth watching and this is one about the original project:


  1. The CCC use the work hacker in its original sense of “any skilled computer expert that uses their technical knowledge to overcome a problem.” rather than someone who’s going to sneak into your computer system and steal your information. From their website: “For more than thirty years we are providing information about technical and societal issues, such as surveillance, privacy, freedom of information, hacktivism, data security and many other interesting things around technology and hacking issues. “
  2. See here for the original usage of the term Blinkenlights. I remember seeing this sort of notice from the early 1980s 🙂

Idea 2 – Pong Table

Around the time of the last Blinkenlights display in 2008 I came across something in a similar vein that was being exhibited at the New York Museum of Modern Art ( MOMA ) called the Pong Table. This was ” … a modern take on a traditional Ping Pong table, the Pong table reinvents the classic pong game, using 2500 LEDs and two track pads. The game is programmed into an inbuilt microchip that controls a matrix of LEDs beneath the Corian surface so that the ball may bounce all over it.

I was also quite taken by the mirror that they’d created which used a webcam and a low resolution display.

Idea 3 – Using LEDs as Sensors

I came across an interesting 2003 paper from Mitsubishi Electric Research Laboratories called “Very Low-Cost Sensing and Communication Using Bidirectional LEDs“. This uses the fact that although LEDS are normally used as display devices it’s possible to use them to sense light levels as well. If you’re really clever you can use the same LED for both display and sensing.

There’s an interesting web page describing how this principle works with two 8×8 LED matrices as well some as some Arduino hardware and code, together with a video:

Project Concept

From a fusion of all these three ideas I thought that a smaller version version of the Pong Table could be amusing as a coffee table and would be doubly entertaining if I could also build in some of the Blinkenlights functionality to add some more programmability. If I could also use the LEDs as sensors then this would be even better.

However, at the time, there were four main problems which meant that the project didn’t get started:

  1. I couldn’t get the cost of the LEDs low enough even buying in bulk from Ebay
  2. I couldn’t work out how to reliably mount the LEDs so that they were evenly spaced without making large ( and therefore costly ) PCBs.
  3. The principle of driving the LEDs was straightforward enough but a normal PC of the time didn’t offer enough digital input and outputs so I was probably going to have to build separate processing hardware as well. Remember this was in the days before the Raspberry Pi 🙂
  4. Most importantly there was no chance that I had enough spare time to start on something like this 😦

Reluctantly the project was shelved …

Project Revisited

The idea for this project had kicked around in my mind for about 10 years but a few months ago I came across these LED Panels. The website describes them as:

These panels are normally used to make video walls, you can see them on the sides of busses and bus stops, to display animations or short video clips. We thought they looked really cool so we picked up a few boxes of them from a factory. They have 1024 bright RGB LEDs arranged in a 32×32 grid on the front. On the back there is a PCB with a set of dual IDC connectors (one input, one output: in theory you can chain these together) and 12 16-bit latches that allow you to drive the display with a 1:16 scan rate.

These displays are technically ‘chainable’ – connect one output to the next input – but our Arduino example code does not support this (yet). It requires a high speed processor and more RAM than the Arduino has!

These panels require 13 digital pins (6 bit data, 7 bit control) and a good 5V supply, up to 4A per panel.

A quick internet search revealed that the panel connections seem to be fairly standard and, better still, there was a FOSS code library ( rpi-rgb-led-matrix written by Henner Zeller ) that would allow a Raspberry Pi to drive these panels. At the time of writing they seem to be out of stock but I picked up two of them at about £14 each or just over a penny per LED 🙂

Unfortunately the way that these panels are driven preclude their use as sensors so that part of the original idea isn’t going to happen. However that’s partly mitigated by the fact that these are full colour LEDs which opens up some other possibilities.

The next post will cover the initial hardware setup with the Raspberry Pi and getting the driver software up and running.

Posted in Programming | Tagged , , , | Leave a comment

Photo Wednesday #16

Another flower from the National Botanical Gardens of Wales. I’m afraid that I didn’t make a note of the name but I liked the contrast between the blue centre and the white petals.


Posted in Photo Wednesday | Tagged , , , | Leave a comment