LightScytheJS is a control software for a LED stripe light painting tool written entirely in javascript/node.js.
The basic idea for this tool was developed by The Mechatronics Guy and brought to life with the LightScythe project which in turn took inspiration from Immaterials: light painting WiFi.
photograph by Martin Voigt
More 30C3 images on flickriver, by Universalist on tumblr an on Martin Voigt's Photo Blog.
So the LightScyteJS is more an evolution of an existing concept than a new idea. It was intended to be an excercise to get accostumed to node.js using the Cubieboard platform and improved the original in some aspects:
- Pure node.js makes the code easy to understand and to maintain for people not used to microcontroller platforms.
- A web interface utilizing express and jQueryMobile provides convenient and fine tuned control of the device in the field.
- Images to be displayed need no special preparation and are pre-processed on the device using gm and GraphicsMagick.
photograph by Martin Voigt
The hardware consists of
- a cubieboard (raspberry Pi should work as well)
- a WS2801 LED strip
- an USB wifi dongle
- a 2S LiPo and 5V BEC for power supply
We use setcap:
sudo apt-get install libcap2-bin
sudo setcap 'cap_net_bind_service=+ep' `which node`
If the node process runs as non-root (recommended), the GPIO pins have to be exported prior to starting the process: sudo su -c 'echo 1 > /sys/class/gpio/export;echo 2 > /sys/class/gpio/export'