Markus’ Blog

7-Segment RGB-LED

by on Apr.10, 2009, under Electronics

DIY RGB 7-segement display

RGB 7-segment display

7-segment LEDs are available in red, green, yellow and blue (maybe even in white?). There don’t seem to be any in RGB though, so if you want to dynamically use different colors in your project you either have to use multiple devices or use a different technology.

So this seemed like an opportunity for a nice DIY project: Why not take an existing 7-segment display, remove the original LEDs and add some RGB ones?
rgb7_start1I started with an old SL-1119 display and ordered some SMD-RGB-LEDs from a seller on ebay. The LEDs came with magnet wires soldered, which came in handy, as the LEDs are as small as 1.6mm x 1.2mm.

Step 1: Remove what’s in the way

Using my Dremel tool it was a matter of a few minutes to completly remove the back of the display, including the original LEDs and contacts.  Afterwards I sanded the display in order to have a flat basis for the new LEDs.

Step 1Step 2Light shining through

When light shines through the display body, one still can see what’s left from the original LEDs.

Step 2: Attach RGB-LEDs

For attaching  the new LEDs, I took transparent two-component adhesive with low assembly time. It is important to place the LEDs accurately, so I was not able to attach more than two or three of them at once.

The first LEDs are being added All LEDs attached

Step 3: Attach socket pins

32 wires  (8 LEDs with one common anode and three cathode wires each) are not easy to handle, so I decided to add some kind of socket.

Display with socket Display with socketPinout

The result

I am pretty happy with the result:

RGB 7-segment display

The display from behindOne thing I could have done better though, is the optical isolation of the segments. As you can see from the behind, the light from each segment spreads to its neighbors. So when a segment is not lit, you can still see a bit of the light from the other segments shining through.

What’s next?

Now that the display is finished, what is left to do is to connect it to some kind of driver circuit. I am not yet sure how to handle the 24 lines. Implementing a I2C driver circuit would be nice, so I could control the display from a PIC microcontroller for example.

:, , ,

24 Comments for this entry

  • Vinny

    I think the color bleeding can be solved if you use an opaque resin, like epoxy.

    Anyway, nice job!

    • ChanChanMan

      Epoxy is probably the best bonder for the LEDS, but I’d add a black silicon RTV sealant on top of that to eat the bleed light.

  • bill rowe

    Nice idea and nice work implementing it. The main picture above with the primary and secondary colors is gorgeous. Now you just need someone to come up with a compelling application for it.

  • bill rowe

    for a driver you could think about gluing it directly to a programmed pic or avr chip.

    Charlieplexing would mean you’d need resistors but could get you down to 6 leads between the mcu and the 24 leds. You could maybe do that with an atiny or similar pic.

    for optical isolation what about coating it from the back with something like liquid electrical tape?

  • andre

    Hmm. Glue in place with drops of epoxy then when semi-solid, mix up some of that black “Melt Powder” available from a craft shop 1:1 with epoxy and cover the back of the display with this.

    Also look up Charlieplexing :)

    -A

  • DanielS

    Beautiful! I could see this entering into alot of projects just for the simple fact that most of us like to have control of our color patterns. This could open a whole line of products! Rainbow Kitchens! LOL

    Really, nice stuff! Why no one’s thought of this before is beyond me :D

  • Jack

    Saw this from over at hackaday. Looks beautiful!! Makes me wonder why there aren’t more like this on the market. I look forward to seeing what you do with it.

  • ChickenFunker

    That is A Sweet Hack you have here..

    GOOD WORK!

  • Oscar

    Hi

    Saw your site on Hack A Day.
    The hack looks cool, i have been thinking about doing that hack myself…ever got around to doing it though ….
    Let’s see some more hack’s with 7seg, could be cool.

  • Brett_cgb

    I like it!

    One way to simplify the LED-to-socket connctions would be to bring out the + from each segment from all colors (ie +a, +b, +dp) to pins (8), and tie all the – pins from each color together and bring these out to seperate pins (-R, -G, -B; 3 pins). There is a total of 11 pins required.

    A proposal for a single digit module:

    If using a PIC, each +seg can be powered via a current limit resister directly from the port pin. The -color pins are grounded through a transistor to ground, driven by 3 more port pins. 11 circuits total. The colors would multiplexed, though all segments for each color would be driven together.

    Another way to look at this is that you are really multiplexing 3 digits. They just happen to be different colors, and light the same physical segments in one physical digit.

    Each digit of a multicolor digit display would operate mostly independently, so there would be no need for multiplexing with other digits in the display.

    Communications would occur over 2 or 3 pins using I2C or SPI. SPI allows daisy chaining digits (MOSI from one MCU connects to the MISO of the next MCU, SCK is common to both), I2C allows addressing single digits, but introduces addressing issues, both ease timing requirements. A “latch” input common to all digits may be helpful to allow all digits to update at once.

    This describes a device with 11 outputs, 2 or 3 communications pins, and one latch input. Use a device with an internal clock source (saves pins, reduces parts count, simplifies design) and SSP module. There are no strong timing requirements that the internal clock can not meet, given synchronous communications (SPI or I2C).

  • Kevin

    That is awesome! I have often wondered why these weren’t available. Great job and good write-up. I look forward to visiting this blog a lot more. :)

  • w00dr0w

    I got this very same idea last night (except the case would have been homemade, Very nice implementation (didn’t think 3 SMD’s would fit in a reg 7seg).
    As far as driving it Atmel has the MAX6956/6957 (They both have 28 ports, only difference is the 57 is spi while the 56 is i2c)
    If you want more of the color spectrum then 7 colors you could use something like the MAX7313 (16 port PWM LED driver w/ i2c)

  • russell

    You could use a dark cement instead; that would be a bit easier than redesigning anything, no?

  • svofski

    Awesome project! I happen to be working on a related hack just now, except that I’m making microassemblies of old 7×5 dot matrices and driving micros. ATmega8 in QFN can be squeezed between DIP package legs, pretty cool.

  • Daniel

    i’d have multiplexed the leds. red anodes shared, green anodes shared, …. it’d only then require 11 pins instead of 24.

  • Khuong Truong

    I totally dig it! you rock man I love making simple things more bling blinging and you went ahead and did it. I would love to see this implemented in comercial products

  • Ian

    Very pretty. Which seller did you get the pre-wired LEDs from?

  • Markus

    Ian :

    Very pretty. Which seller did you get the pre-wired LEDs from?

    I got them from the seller ‘ledbaron’ on ebay in Germany. He sells various LEDs as accessories for model railways. I don’t know if they are available anywhere else. The size of the SMD LEDs is 0605, but I don’t know the type or manufacturer.

  • Markus

    Brett_cgb :

    One way to simplify the LED-to-socket connctions would be to bring out the + from each segment from all colors (ie +a, +b, +dp) to pins (8), and tie all the – pins from each color together and bring these out to seperate pins (-R, -G, -B; 3 pins). There is a total of 11 pins required.

    Problem is, that the anodes for R, G and B are already connected on the SMD chip… So if I want to use multiplexing, I can only do segment multiplexing, e.g. by connecting a+e b+f c+g d+dp and separating anodes a+b+c+d from e+f+g+dp. So I would end up with 14 connections (2 anode + 4 segment cathodes per color).

  • jon

    I think you can buy these…not as much fun that way of course…

    Google the words : multi color 7 segment LED
    and see what you get.

    For example, Genixtek has something: http://www.gtctw.com/LED_DISPLAY.html

  • Ian

    You could get this down to 11 pins.

    8 for the element common (ground?)

    tie r, g, b common together (vcc?).

    then have your microcontroller cycle through the red, green, and blue pins (either tying them to ground/high state or making them floating), and cycle through selecting the 8 elements.

    By doing this quickly enough you can have persistence of vision such that the number 8 could have all different colors for each segment still, and you could even still do pulse width modulation by changing the on/off ratio for r/g/b in each element.

    There are already displays that are not just led matrix displays which require this sort of “scanning.” A popular one is the 10 segment red/green bar graph. It has 10 ground pins, and 1 green vcc and 1 red vcc. In order to not show yellow everywhere, only red or green can be have vcc, right? So the way to control those is to raise vcc on green, then ground all the elements that must be lit green, or yellow, then lower vcc on green. And then in the next iteration, raise vcc on red, and ground all of the elements that must be red, or yellow. Red and green are only on for a moment, but they are persistent enough such that you can see the red, green, and the places where red and green combined to make yellow, without any flickering.

    Hope that makes sense, would tell you in German if I could. :)

    • Markus

      You could get this down to 11 pins.

      Unfortunately I can not: The red, green and blue anodes for each segment are already connected on the tiny SMD-LED chips. So if I want to use multiplexing, I can only do segment multiplexing, e.g. by connecting a+e b+f c+g d+dp and separating anodes a+b+c+d from e+f+g+dp. So I would end up with 14 connections (2 anode + 4 segment cathodes per color).

  • Ian

    brett_cgb has a similar idea as mine.

  • mark

    thanks !! very helpful post!

4 Trackbacks / Pingbacks for this entry

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...