LumiNet – an organic, interactive illumination network
What is LumiNet?
LumiNet is a distributed physical computing framework, developed for physical organic interfaces, simulation of tree algorithms and swarm behavior, and for wearable computing projects. It is a low cost alternative for the Arduino in projects involving hundreds of nodes.
Why Arduino Compatible?
The Arduino has an extensive community with well documented tutorials and examples which makes developing applications simple. Development for the LumiNet should be as simple as for the Arduino. Since the Arduino software did not support the ATtiny family of micro-controllers, one design goal was to modify the existing Arduino framework so that it can be used on the LumiNet hardware.
Three conceptual kinds of nodes can be distinguished: vector nodes, normal nodes, and sensor nodes. They all run on the same hardware and look identical. Vector nodes provide program code for the normal nodes of the network. Normal nodes run the program code that they receive from vector nodes. Sensor nodes can’t be reprogrammed, because they have special hardware connected to their pins and need to run special firmware.
Programming by Infection
Problem: Individually reprogramming every single node for new behavior is tedious.
Solution: If a vector node is detected, the new program code infects all normal nodes of the network like a virus. The program code is stored in the flash memory of the normal nodes and is only updated if a new vector node is connected to the network. This process does not require a PC!
LumiNet is a low-cost wired network of intelligent pixels without central control. It should be highly parallel and robust. A bio-inspired / organic network seems to fit this demand. Because it doesn’t have a central controller, it is reconfigurable and supports decentralized stimuli from sensors at any node.
Why Distributed Computing?
Currently, many advanced wearable computing projects use a centralized computer, with many sensors and actuators wired up to a single microcontroller (often a Lilypad Arduino). Another approach, which LumiNet is well suited for, is distributed computing. Each LumiNet node consists of a three color LED and a microcontroller, and is designed to communicate through wires with up to four direct neighbors.
- 1.2” PCBs
- Bright OSRAM RGB SMD LED
- 4 bidirectional communication lines, two pins per line that can implement any communication protocol that uses two pins
- ISP connectors
Communication at Runtime
Organic networks should not have a synchronization clock, because they don’t have a central controller. Without a clock, bidirectional communication in four directions is a problem. Instead of deterministic serial communication, LumiNet uses a organic communication protocol called BYNASE that was developed by Ward Cunningham. It uses noise and requires no precise syncing between nodes. Here is how it works:
* Sender puts pin high statistically depending on the value to send
* Receiver samples pin statistically (but faster than the sender frequency)
LumiNet was developed by Jan Borchers and René Bohne at RWTH Aachen University. For more information, go to luminet.cc.
This article was written by René Bohne and Amanda Lazar.