7-Segment RGB-LED
by Markus on Apr.10, 2009, under Electronics
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?
I 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.
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.
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.


The result
I am pretty happy with the result:

One 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
4 Trackbacks / Pingbacks for this entry
-
RGB 7 segment display - Hack a Day
April 11th, 2009 on 18:02[...] noticed a lack of 7 segment LED displays that could show RGB. Like any hacker, he sought to remedy this. The solution he came up with was to basically remove all the electronics from the plastic body [...]
-
RGB 7 segment display | News for Geek
April 12th, 2009 on 08:48[...] noticed a lack of 7 segment LED displays that could show RGB. Like any hacker, he sought to remedy this. The solution he came up with was to basically remove all the electronics from the plastic body [...]
-
2-digit RGB Geek Clock - Markus’ Blog
April 13th, 2009 on 17:28[...] am still not sure what project to use my rgb 7-segment display for. There were some very interesting ideas posted to the Hackaday forum. I like matthiasrs idea [...]
-
RGB 7-Segment Display | BenjaminBenesh.com
April 15th, 2009 on 21:27[...] do some pretty cool stuff since you aren’t then stuck with one color for your display. Head on over and check out his post. Share and [...]






April 11th, 2009 on 18:30
I think the color bleeding can be solved if you use an opaque resin, like epoxy.
Anyway, nice job!
April 22nd, 2009 on 16:46
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.
April 11th, 2009 on 19:25
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.
April 11th, 2009 on 19:32
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?
April 11th, 2009 on 19:32
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
April 11th, 2009 on 20:45
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
April 11th, 2009 on 20:56
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.
April 11th, 2009 on 21:21
That is A Sweet Hack you have here..
GOOD WORK!
April 11th, 2009 on 21:22
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.
April 11th, 2009 on 22:03
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).
April 11th, 2009 on 22:59
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.
April 11th, 2009 on 23:00
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)
April 12th, 2009 on 00:03
You could use a dark cement instead; that would be a bit easier than redesigning anything, no?
April 12th, 2009 on 01:08
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.
April 12th, 2009 on 01:50
i’d have multiplexed the leds. red anodes shared, green anodes shared, …. it’d only then require 11 pins instead of 24.
April 12th, 2009 on 11:18
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
April 12th, 2009 on 13:37
Very pretty. Which seller did you get the pre-wired LEDs from?
April 12th, 2009 on 23:07
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.
April 13th, 2009 on 10:23
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).
April 13th, 2009 on 11:25
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
April 14th, 2009 on 21:43
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.
April 16th, 2009 on 10:37
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).
April 14th, 2009 on 21:43
brett_cgb has a similar idea as mine.
April 15th, 2009 on 20:43
thanks !! very helpful post!