Developed during a hispeed residency at La Gaîté Lyrique, 2011

Lumenoise - paint sound on a screen

Lumenoise is a light pen, which turns your old CRT-TV into an audiovisual synthesizer. You paint abstract geometric patterns and sounds directly onto the screen. It is a playful and performative device, as anything that you do will cause an instantaneous reflection in the gadget’s sonic and visual output. I have captured a few minutes on video while I played with it:

You want to know how such a light pen works? Here’s the answer:

Unlike modern flat TV’s, old school CRT’s draw the image line by line onto their phosphorescent screen. A photo transistor, placed on a tube TV’s surface, can recognize when the part of the image is drawn underneath it. If this photo transistor is connected with a micro controller which generates the video signal, the controller can localize the exact position of the photo transistor on the screen. That’s the whole trick. Here’s an animation which illustrates the process how the electron beam inside a CRT draws an image:

How a CRT draws an image

Lumenoise is a cheap and simple electronics project. If you’ve ever wondered why you’re still storing this big old tube Television in your cellar – this project is the reason!

For making your own audio visual light pen synthesizer, you can download all codes and schematics below. The circuit only requires a hand full of parts and is built around the ATmega8. Even if I wanted to squeeze all components inside the pen (and finally succeeded), I can recommend you not to do so and to build the setup a bit larger on perfboard instead.

Lumenoise closeup

The project is coded in AVR-GCC which makes it easy to hack and to develop further (the current code uses only half of the 8K memory). When you download the zip file with the codes, in addition to the final program you will also get some stable earlier versions of it. They are more lean and easier to understand, which makes them a good foundation for coding your own synth, which will produce different visuals and sounds.


ZIP archive with all AVR-GCC codes
PDF with the schematics and parts list
Link to further hires images


Together with communication design students of the school of Fine Arts in Porto, Ricardo Lafuente built a few Lumenoises. He was so kind to write down how he programmed it from Linux. Here’s an excerpt of his email:

Finally, here’s a quick rundown of what I did to get Lumenoise working from a Linux command line. The only required tool seems to be the avrdude package.

1. Flashing the .hex into the Atmega:

avrdude -v -p m8 -c avrispv2 -P /dev/ttyACM0 -D -e -Uflash:w:lumenoise.hex

2. Setting up the chip fuses to use the xtal:

avrdude -v -c avrispv2 -p m8 -P /dev/ttyACM0 -U lfuse:w:0b11111111:m -U hfuse:w:0b11001001:m [src: ]


  • the “-c avrispv2” flag might differ according to the programmer used to flash the chip. I used this one:
  • likewise, the “-P /dev/ttyACM0” might be different in other cases.
  • it might be necessary to run these commands as root (or sudo) because of USB permission issues.

Thanks, Ricardo!

Back to main page