Oct 142008
 
Cyan Cube (SLED)

SLED in Cyan color with diffuser

The “SLED” or, Second Life LED (just one L for clarity) is available as an open source, CC’ed design. It is a USB-attached, Arduino-based RGB “lamp” which can be used to indicate various information from the PC, or simply used to brighten a room with a little color.

My goal in building this device, in conjunction with my friend and colleague Andy Fundinger, was to provide a visual indication of activities within the popular 3D online world of Second Life. Many of our friends and peers had business activities within Second Life and wanted a convenient way of keeping an eye on trends or specific events without remaining logged in or while they were away from their desk. While SMS and e-mail notifications are easy to do, none were so reassuring as simply having a blinky light to tell them when something needed attending – such as a vendor or a shop proximity sensor.

The code for the Second Life component is under construction, but you can build this device today! Either grab the Arduino sketch below and load in your own Arduino developer board, or for a smaller design, run off a few of these customized PCBs and enjoy a little SMD soldering. In the future, I intend to build a batch of these for my less technically-inclined Second Life friends, but for now, I’d like to share it with the community. I’ll flesh out the information as time progresses, but the files provided should allow anyone familiar with Eagle, Atmega and Arduino to get their own done for whatever purpose.


SLED circuit boards in the nude

The design is released under a Creative Commons license.
The schematic, board, and bill of materials are here.

The Arduino sketch is here.

(This project is not affiliated with or endorsed by the Arduino team, but they’re awesome!)

 Posted by at 1:34 am
  • http://www.frenchguys.com Erik Dasque

    Pretty interesting project. Do you have the details of the serial protocol that you use to communicate with the arduino ? It seems that parseSerial includes such a language to communicate.

  • wwward

    Erik -

    I will document that more carefully this week.

    The simple answer is:
    #0000000000
    ^ start character
    _^^ 00-FF Red
    ___^^ 00-FF Green
    _____^^ 00-FF Blue
    _______^ Transition type (0-2 if I recall)
    ________^^ Transition speed (00-FF)
    ___________^ Pulse type (0 or 1)
    (a fixed width font here would be your friend.)

    So the first three bytes are the RGB values. The next four control transition (0-2,) transition speed (00-FF,) and pulsing (0-1.)

    It is rough around the edges, but it works fine, save for a buggy pulse routine that doesn’t exit reliably when new data comes in. I have some work to do still, I acknowledge, but it’s a hobby.

    Bill