Controllable RGB LED System for Your Home or Office




About: Brilldea is a purveyor of prototyping goods. Our products help you to achieve your brilliant ideas.

Are the lights in your home or work space boring? Do you want to add a little energy or mood lighting to your room? This Instructable shows you how to create a controllable RGB LED array for use in your home or office. Your red, green, blue LED display will provide hours of enjoyment for you and your family as well as make you the envy of your tech friends!

This Instructable is based on two systems built by us, Brilldea, using products we designed. One system was built for our home and the other for our church. Check out the videos of the systems in action!

This is our living room LED system.

This is the LED system we created for Island ECC in Hong Kong.

You can discover our products at our web site:

Step 1: Planning the System

All good RGB LED systems start with a bit of planning and forethought. This step is crucial in determining your engineering requirements for the system, such as power supply size and number of control channels, as well as how much the system will cost. And don't forget the artistic intent - planning will help you visualize the look of the system and how it will interact with your space.

1. First thing to figure out is the area where you want to add the LED lighting. You need to visualize where the LED system will be mounted and you should consider the LEDs, the controller(s), the power supply and related cables. The most important aspect of this step is to determine the area the LEDs will illuminate. Do you have a cove where you want to place the lighting? Can you rearrange furniture to make a gap for LEDs? Are you remodelling where you can plan a special place for your LEDs and associated hardware to be embedded in a wall or the floor?

Our living room system was built in between our Ikea book cases. The Island ECC system was designed while the room was being constructed so a special space was carved out for it such that the lights fit right within the walls.

2. Once you have an area picked out, the next thing to consider is how many LEDs you want to use to cover that area. There are several variables to consider. Will the LEDs project onto a translucent surface? Will the LEDs be viewed directly? How deep is the space where the LEDS are mounted? How translucent is your material that is being projected on? Do you want to illuminate shapes and patterns in the LED array? How bright do you want the light to be?

You will need to consider the size of each "pixel" in the system. For our systems we used our RGB LED Ribbon. This is a 10cm flexible printed circuit board with 3 RGB LEDs on it. The LEDs are wired in series so each strip operates on 12V DC. The LEDs are controlled as a group.

Each system we designed had different depths and different translucent material to project on. Your spacing and size will vary based on your location and budget. We used both a milky plexiglass and a corugated white plastic.

Our living room LED system used 32 pieces of the 10cm RGB LED Ribbon, 16 in each column. The Island ECC system used 48 pieces in each "window" and there were three windows.

3. Once you have determined the quantity of LEDs to install, then you can start planning the number of control channels for the system, the current for your power supply and the distribution of the wiring.

The following video shows the setup and testing of the Island ECC system. The video include notes on the components and it shows off the test routines used during assembly and installation.

Step 2: LED System Components

An LED system is comprised of several components. Let's take a moment to review those components.

1. The LED system needs a brain to control all those LEDs. This brain is usually a microcontroller such as the Parallax Propeller or SX or PIC or Arduino. This controller may cycle the LEDs using preprogrammed algorithms or change the LEDs based on an external connection to a DMX-512A system or serial (RS-232). We designed the Prop Blade controller for our specific applications of LED systems. The Prop Blade accepts 6V to 12V DC and has connections for both serial (via the programming header) and DMX-512A. In addition it has status LEDs for feedback and DIP switches and buttons for user input. You can get the Prop Blade as a kit from Brilldea if you want to use this controller. You are also welcome to make your own.

2. One or more LED driver modules is needed to control all the LEDs, after all a microcontroller only has so many I/O pins. To control this many LEDs, the microcontroller needs help so we designed the LED Painter. The LED Painter can control 16 channels of RGB LEDs. This means that we can hook up 16 pieces of RGB LED Ribbon, one to each channel, and control the color and intensity of each ribbon. The LED Painter is based on the TLC5940 IC from Texas Instruments. There is code available online for both the Propeller and Arduino for controlling this IC. You can also get LED Painter kits from Brilldea.

3. And of course, every LED system needs...well...umm...LEDs! That is right, lots of red, green, blue LEDs! We like the convenience of the RGB LED Ribbon we sell. The back side of the product has an adhesive on it so it mounts easily to surfaces. The LEDs and resistors are already assembled and it runs on 12V DC. Furthermore it can be flexed to mount on curved surfaces if needed. If you want, you could use your own LEDs. You don't even have to use RGB LEDs, you could attach 48 single color LEDs or 24 of one color and 24 of another color. Check out the LED Painter data sheet for more details.

4. All the equipment in the system would be for nothing if you didn't supply power. Yes, all these components need DC power. Our systems are designed to run on 12V DC. The quantity of LEDs in your system will dictate the amount of current your supply will need to provide. We used 12V DC, 5 amp supplies for our install and had plenty of room left over for expansion. If you want to be more precise, you will need to calculate the current draw of the LEDs you use in your system as well as the current needed for your controller and drivers.

5. Here are a few more items that complete the system:
  • Cable and wire for distributing power and control signals.
  • A computer and programming hardware for your controller. If you are using the Prop Blade which is based on the Parallax Propeller, you will want to purchase a Prop Plug from Parallax.
  • Electronic and hand tools for assembling your system such as soldering iron, pliers, screw drivers, cutting tools and wire strippers.
  • Any mounting hardware needed for mounting your controller, drivers, power supply, etc.
  • A DMX-512A source, if you want to use DMX to control your LED system; this is optional.

6. Now that you have thought about the shape, space, size and look of your system, as well as considered the materials required, you can start pricing it. Your system cost will vary based on its size and what materials you may already have from past projects. If you have a microcontroller sitting around, then you might be able to use that. Remember to price the system out and to set realistic costs for the "non-trivial" items like connectors, ribbon cables, and AC cords because those costs can add up.

The following video shows an overview of our home LED system. This system was our first one created, so the hardware used in the system is a first revision. Brilldea's current Prop Blade and LED Painter are updated designs needed to accomplish a similar system.

Step 3: Construction Time!

By the time you reach this step, you should have completed your design and purchased all your parts. I love receiving boxes of parts to make my great ideas into reality, how about you? Nothing beats putting your hands to work building the design that you crafted in the previous steps.

When I assemble a system, I take my time to double check my construction. I double check components before populating a PCB, I double check connections that are soldered or terminated such as data cables, and I test the system at increments as I go along.

With a large RGB LED system there are many things that can go wrong, so testing as you go along is a good idea. This technique will help you identify problems before they become bigger problems and damage other components. For instance, we tested the
Prop Blade controller before we attached it to the LED Painter driver PCB.

When you start constructing your system, the first thing you should do is assemble your controller and LED driver circuits. If you are using a kit like one of ours, great, then the procurement of parts was easy and assembly shouldn't take too long. If you are building your own controller and LED driver this step may take more time. Don't worry though because the effort is worth it when you get the controller of your system working.

When assembling a kit, you should print out the schematic and bill of materials to make sure you use the right components and place the component in the right spot.

When you finish assembling your controller, take the time to power it on and test it. Download a simple program to the controller to verify that the controller works. In our case, we used the Parallax Prop Plug to download software to the Prop Blade.

Once you finish a driver board, power it on to make sure nothing explodes. Once you've passed that test, add a single RBG LED to a channel and attach the driver to your controller. Use a simple program to verify that the controller can control the driver/RGB LED setup. Again, for the Prop Blade and LED Painter we have example programs on our site:

Now that you have the electronics done, let's move on to the LEDs!

Step 4: LED Assembly

The most tedious part of an RGB LED array is the LED construction and connections. This step usually involves lots of wire cutting, striping, crimping, and soldering. Not to mention the double checking of each connection to make sure it was done right. If you find ways to improve this process, let us know in the comments.

Again, this step takes time. Plan the debut of your system accordingly so you don't have to rush at the last minute to finish all the work that needs to be done. Staying up all night to create your master piece will result in damaging your components because of miswiring. Take your time and double check connections.

Our systems were designed in modules so we could easily assemble the system on site. The systems were also easier to test as we assembled them. For instance, the LEDs for the Island ECC system were assembled on panels that were 1 meter long by 0.4 meters tall. Each panel was identical so we made a pattern for where to mount the LEDs, how to route the wires and where to place the LED Painter.

This step is pretty easy technically, just repetitive and time consuming. If you use the RGB LED Ribbon then you can mount the LEDs to a surface by removing the covering over the adhesive backing. Make sure to mount the LEDs to a clean surface. Add wires, connectors and harnesses as required. We like to have connectors in case we need to remove a piece of equipment for inspection or replacement. You may choose to solder all the connections and forego the expense and time required to add connectors.

Once the LEDs are ready, plug them into your LED Driver circuit or LED Painter assembly and test. You might want to plug each LED channel in one at a time rather than all of them at once.

If you assemble the system in modules, then you will have to install each module in its final location. When you install them, be sure to power them on one at a time. Again, checking your connections before you power them on.

As mentioned in the other steps, our systems use the Prop Blade. The Prop Blade has two groups of I/O. Each I/O group can run up to two LED Painters in a series, so that is four LED Painters for one controller. More could be run, but you need to pay attention to details of wire length and signals strength, and we have found that buffering circuits should be built to increase reliability. Be aware that the LED Painter needs to be close to the Prop Blade controller. Installing an LED Painter 20ft from your controller that uses 3.3V DC logic signals will produce poor results or no results at all. Consider your mounting locations carefully.

Once you get the LEDs installed you are nearly there. At this point you have no doubt done some power-on test and felt the excitement of the system coming alive!

Step 5: Final Touches

Once we get the system installed we sit back and enjoy it. Well, maybe not yet. Of course, there are problems that come up along the way while building and installing the system so by this point you may have to do some troubleshooting. Hopefully the major problems were discovered in the incremental testing done during the construction. By the time the whole system is up, usually everything is in working order.

At this step you can finalize the mounting and wiring of components and make everything tidy. You can also tweak (or start writing!) your control software. Writing the software is a lot of fun, especially when you get to the higher level software that describes what the LEDs look like. I call those routines the "painting" routines.

Previously I mentioned that you can control your system through different means. Some people just want to turn the system on and let it cycle by itself. In this type of system there should be preprogrammed routines or algorithms to fade, wipe or place random colors on the screen.

Demo code for the Prop Blade and LED Painter can be found on the Parallax Propeller Object Exchange or the Brilldea web site. The example code shows simple algorithms for fading and changing color.

Other people are control freaks! They want to control every pixel and every color in precise synchronization. The LED Painter and Prop Blade combo allows for DMX-512A control(like RS-485) or serial control (through the Prop plug). This means you can use software on your PC such as Vixen Lights to design a show with light and music synchronization. With the LED Painter, each control channel can be controlled from off to on in 255 steps. This allows for mixing of colors at various intensities.

Other things you could do with your LED system:

  • Make it detect the beat of a song and change the look based on that. This would entail adding a microphone to your system and processing the input.
  • Make it detect video and change the look based on that, sort of like Ambilight on Philips flat screen TVs. This may involve adding a computer that streams video to your TV or adding a web cam to capture your TV image.
  • Make it turn on and off automatically at certain times. This could be based on day light, time of day, or detecting some one is in the room or close to the system.
  • Make it controlled over the Internet so the world can turn on and off the LEDs in your living room.
  • Connect the LED wall to your mood ring so the LED wall can reflect your mood!

We hope you enjoyed this Instructable. Be sure to learn more about Brilldea and our products by visiting our web site:



    • Arduino Contest 2019

      Arduino Contest 2019
    • IoT Challenge

      IoT Challenge
    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest

    102 Discussions


    5 years ago

    time to start avnew project!!

    jvan dalen

    5 years ago on Step 5

    On what kind of surface do you project the led light?


    7 years ago on Step 3

    I'm not sure if I'm completely on the same page as far as controllers go. My band plays our live show to midi clock and were looking to purchase DMX controller software that would allow the programming of a live show to a strict timeline (the songs) while each song being triggered by a midi clock. Can I control this via DMX? If you point me in the right direction I can do the homework myself, I was just wondering if there is software that your using to program the lights in your video, or if this project might be compatible with DMX.

    5 replies

    Reply 7 years ago on Step 3

    Thank you for the questions. I can certainly understand how this instructable has confused you regarding the controller. Thus far, we have mostly sold LED Painters or LED Painter II-8. These are the "muscle" of driving an LED system. But, to go with the "muscle" you need the "brains" that tell it what to do.

    The LED Painter or LPII-8 do not directly accept DMX. They need a controller device to interpret the DMX or preprogrammed routines and then tell the "muscle" what to do.

    So - in addition to LED Painter or LPII-8, you will need to have a controller. We have tinkered with several different designs, but haven't gotten anything solid to sell. Many of our users though have made their own controller using an Arduino or Propeller Platform or other microcontroller. I'd recommend using a Propeller to receive DMX-512A, and then have the Propeller control a chain of LED Painters or LPII-8.

    We have created a library for the Arduino that uses the A6281 IC that is used in the LPII-8. But we haven't done any DMX work with Arduino. We see there are several people that have, however we haven't tested their code to say how well it works.


    Reply 7 years ago on Step 3

    Thank you for the information! Yeah, sadly this is way out of my league. I know how to work with DMX operationally, but not functionally. If you know anyone who would be willing to tackle this for a somewhat reasonable price, we would be very interested.
    Actually, one other question. I came across a message board topic created by T.D Sweiter (who on his website says he works with Billdea, which according to this instructable is you) in which he states that he's made a Propeller DMX receiver. Is that simply enough? If I'm using Elation's Compu Show, is it enough that I program a show, send it out to a Propeller/Arduino receiver and run it to you lighting rig from instructables? I keep reading of libraries and code, but everything I actually find seems to be completely hardware based. Would there be additional coding involved?

    I am currently working on either an Arduino or PIC based DMX "interpreter" or "controller" that will be able to drive a chain of TLC5940s, or the Brilldia LED Painter, which is based on the same integrated circuits. I'll try to post back here when I have something working, but don't get your hopes up.

    A few resources to look at is the Entec Open DMX controller

    The Arduino TLC5940 library

    and the tutorial from FreakLabs about receiving DMX with an Arduino

    I believe one would be able to use the DMX receiving code and the TLC5940 library to control the Brilldia LED Painter, or a chain of TLC5940s.

    Good Luck


    Reply 7 years ago on Introduction

    I hope your project goes well! Overall, this is a simple project with the right software/hardware. I've sketched our something similar, but each time, for me at least, it came down to I didn't like a particular piece of hardware or software that I was building the system upon, so I would start down the road of creating my own and eventually I get distracted with other work.

    Maybe it is time for me to resurrect my past efforts and get something piece together and working!


    Reply 7 years ago on Step 3

    At the moment, there isn't a good off the shelf solution to go from straight DMX512-A to the LED Painter or LED Painter II-8. The Prop Blade was the product for this, but it was still too complicated and costly (and some of the components were becoming difficult to source, thus the reason we discontinued it).

    Brilldea/me/T.D. Swieter have developed various libraries for the Propeller (and am working on Arduino Libraries) for DMX512-A receiving. We have also developed libraries for speaking with the LED Painter and the LED Painter II-8. It takes a bit of know-how in programming to point the code and arrays to each other and DIY electronics to marry the two together. Our goal was to cover this gap, but time has gotten away from us on other projects.

    Ultimately, you are right, it should be as simple as you program your show and your system sends DMX and then there is hardware to receive the DMX and translate it to the LED Painter. If I can find time to focus on the Arduino DMX library (I know there are others out there, but I've not been comfortable with them) then it would be easy to publish one project that easily accomplishes all this.


    7 years ago on Step 3

    Hello, I am new to LED's and electronics. I really want to build a project very similar to your bookshelf design. I watched your video and did some research but I am still slightly confused as to everything I need. If you could provide additional information on the subject, I will be ready for purchase of parts from you. Thank you for your time.

    3 replies

    Reply 7 years ago on Introduction

    I spent quite a bit of time and money dealing with these products and had no success as with other customers.I'd recommend looking else where.


    Reply 7 years ago on Step 3

    Graffix - I'm sorry that you feel this way. We have provided constant support to our customers via e-mail and have seen many customers succesfully install and operate a system. Through feedback such as yours and others we have made improvements to the products to make the system easier to deploy, but so far the improvements have added cost and we are trying to balance that before we release any new products.


    Reply 7 years ago on Step 3

    EAS2013 - thanks for your feedback on our tutorial and your enthusiasm to build a system. This tutorial is a bit outdated as it uses our older products. We have had some new products developed, but thus far we are have only released the LED Painter II-8 on our web site. In addition to the LPII-8 you will need a controller and could use any microcontroller such as an Arduino, Propeller, Pic, etc. You will need knowledge though of electronics and writing software for the microcontroller you chose to hook everything together.


    8 years ago on Step 1

    Hi I was wondering what your white column was made out of. I am working with led lights and i want to put them behind a medium like that that can make the lights seem less concentrated and more diffused.

    3 replies

    Reply 7 years ago on Introduction

    I have always heard it refered to as corflute. I belive it is used in a lot of signs, especially the triangle shaped ones you find at intersections, it is also used in model aeroplanes


    Reply 8 years ago on Step 1

    Hi, well I guessed a lot about the material. Finally I found the material but i'm not sure how it's exactly called in English. In German it's called "Stegplatte". Maybe you use a online dictionary: Results see link. I found the material at a German shop. They sell material for architects. Here is the link: I ordered some example of this "translucent-version". It's very transparent. The first ones (450g/m2) are defintely not usable. The second version (1000g/m2) are little better. (looks more white). These should be better. Unfortunately the second order of examples with the white version did not arrive yet. I ordered an example of this. As you can see it's possible to order rather big sheets of this material. Have fun


    Reply 8 years ago on Step 1

    dragonrage4000 - Honestly, I'm not sure what the material is called. It is like a corregated plastic of sorts. It is flimsy and flexible. I got these items as backings on a couple shelves from IKEA. I've seen this material in shops that make signs. You may want to check there or browse the isles of a home improvement store or hardware store to see if you can find something similar.


    10 years ago on Introduction

    I have successfully connected the arduino and led painter together and got amazing results even the i just have it doing random blinking right now but it is just as good as the prop blade and maybe harder to interface with dmx but it works in the end and im still working on the dmx part of the arduino.

    2 replies

    Reply 8 years ago on Introduction

    Hi Cookn, could share how you successfully connect arduino and Led Painter? Have some simple test scketch to share? Im trying to connect with duemilanove but just get random on and off(colors) using the arduino tlc libary and the "BasicUse" sample sketch using tlcconfig.h configured with 3 tlcs.

    Thanks in advance.


    Reply 10 years ago on Introduction

    EXCELLENT!!! I am glad to hear that you have the Arduino and LED Painter working together. Do you have a web page or video of the two working together that you can share? I know there are other Arduino users out there who would like to learn from your experience. Also, do you think you could share your code as a demo or example? I could place it on the Brilldea site.

    Jay Gutta

    8 years ago on Introduction

    I'm interested in constructing a sign for the outside of my business that's similar to the window displays you have created. My concern at the moment are the measurements and the amount of materials I will need to fill the space I'm working with. What and how much of each item would I need to fill a space 80cm x 140cm using the same spacing you've used for your displays? Also, being that this is going to be an outdoor unit, I also wanted to know if the USB prop plug is used without being connected to any computer or dmx controller? What I mean is, does it store the program I create on a computer and run that program separate? I'm also looking for easiest possible way of putting this unit together without too much constructing/soldering etc. Thank you.