Lightwriter is a cyborg paintbrush of sorts, where one can upload a small string of text and capture it in a long-exposure photograph of the brush's flickering LED's. The brush holds a microcontroller connected to 5 LED's that flicker 40 times a second according to the string of text that was fed to it.
The brush is meant to be used by anyone interested. In an exhibition setting, i am present to ask people to type a couple of words in a laptop running a Unix command line, which are then fed to the paintbrush. It is then given to the user and a long-exposure photograph (15-sec) is taken. The prolonged exposure time makes the final image a map of the operator's movements, hesitations and gestures when holding the lightwriter, while at the same time blurring that person's features, which creates a rather comfortable setting where "fooling around" is acceptable and even encouraged.
In the end, Lightwriter is more about performance than typography: the focus of the project is not simply on a novel way to generate and capture text, but more specifically on the play aspect of holding a familiar tool for a new purpose. The outcomes are very diverse, with some of the users neatly trying to get the text "right", while others waving it vigorously for an almost illegible final result.
It was later showcased at the following venues:
- Salle DeMAIN Gallery @ Rotterdamse Museumnacht, Netherlands :: photo gallery
- MOVE Festival @ Expocorunha, Spain :: photo gallery
- 10th Biennale de Design @ Saint-Etienne, France :: photo gallery
- Test! Festival of Student Theatre & Multimedia @ Zagreb, Croatia :: photo gallery
Lightwriter's innards live on an Arduino board running custom software.
After the user types their words on a laptop connected to the board, the following happens:
- a set of Python scripts reads the words typed by the user, converts them to a pixel array (using the Silkscreen font by Jason Kottke) and sends them to the Arduino board;
- the Arduino receives the pixel data and maps them to on/off switches in the brush LED's.
You can download the source code here:
- lightwriter.py -- script to do all the text parsing and sending (it's a shortcut to run the two python scripts below)
- string2bin.py -- converts a string of text into a binary (0/1) array representing on-off pixels
- arduinoserial.py -- talks to the Arduino via serial connection and sends whatever is placed in standard input through the command line
- lightwriter.cpp -- receives and parses the binary array sent by arduinoserial.py, activating the LED's
- getphotos.sh -- a handy little script to quickly download pictures through a USB-connected digital camera
All the code used and created for this project is free software (licensed under the GPL).