Monday, February 1, 2010

First project of the year - I2C Controllable RGB LED Nodes

I actually started this project during the last week of 2009, and is one of the primary reasons I resumed blogging. Go figure, I haven't actually gotten around to posting it until now!

While I primarily focused on RF engineering in school, I have always had an interest in lighting, especially solid state lighting (LEDs). I have also always been in awe of those computer controlled animated Christmas light displays like that of Carson Williams back in 2005 or so.

More after the break...




I occasionally follow the development at Do It Yourself Christmas and have considered participating in development myself.

At the end of this year, I saw user mrpackethead's YouTube clip of his "Mega Tree" using 2000 individually addressable RGB nodes at . It is amazing, however, the nodes MPH is using are based on a controller chipset that is not available outside of Asia. As a result, I decided to start work on developing similar nodes using parts readily available in the USA. Eventually, I settled on the Atmel ATTiny25/45/85 AVR microcontroller due to previous AVR experience, and I2C for minimal pin count/pin use on the AVR. (Daisy-chain SPI was not achievable with an 8-pin AVR without sacrificing in-circuit serial programming.)

I prototyped my first node during Christmas break, and posted the results to DIYC in this thread.

At this point I have the following implemented:
24 bits/node (8 bits/color) control
Gamma curve applied to the input RGB, with internal 12-bit sigma-delta modulator for each color channel
Storage of I2C address in AVR EEPROM
A preliminary board design for the nodes I intend to send to Olimex next week

Source code for the project is located at my GitHub repository for this project.

Also, a video of a somewhat older version of my nodes is on YouTube at I2C-Addressable RGB LEDs - Breadboard Prototype

By the way, this project was the main driving reason for me purchasing the Rigol oscilloscope I discussed in previous posts. I also plan on posting more of my experiences with the Rigol and Linux soon.

No comments:

Post a Comment