build my own LCD matrix

Go To Last Post
33 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi.

Can anyone please point me to a tutorial on how to build my own LCD matrix?
I want to reproduce video on it, so I need variable intensity on every led (not just ON and OFF), maybe PWM? I have found the SparkFun 8x8 LCD matrix, which includes an AVR uProcessor. Can I use that?

Any comment is welcome...

Thank you very much!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Can anyone please point me to a tutorial on how to build my own LCD matrix?
I want to reproduce video on it, so I need variable intensity on every led (not just ON and OFF), maybe PWM? I have found the SparkFun 8x8 LCD matrix, which includes an AVR uProcessor. Can I use that?

I don't know of any LCD matrices that have LEDs on them.

Regards,
Steve A.

The Board helps those that help themselves.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

I have found the SparkFun 8x8 LCD matrix

??? I can search out no references to "8x8" at www.sparkfun.com .

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I saw a part(s) on the internet that look real interesting, OSRAM's OLED displays. Two ways to view them, Page 1915 of Digikey's catalog:
http://rocky.digikey.com/WebLib/...

or their part description:

http://rocky.digikey.com/WebLib/...

The only thing more dangerous than a software engineer with a soldering iron is a hardware engineer with a compiler.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Oops, for some reason the catalog page translates to the same thing.
First go to http://www.digikey.com/, then "catalog" then "Catalog Sections" then "Section O" and scroll down to page 1915.

The only thing more dangerous than a software engineer with a soldering iron is a hardware engineer with a compiler.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For OLED & PLED, also check out www.onestopdisplays.net

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sorry, my fault, I meant LED matrix, obviously...

The Sparkfun component I was referring to is:
http://www.sparkfun.com/commerce...
and the datasheet is:
http://www.sparkfun.com/datashee...

Thanks for the references! I will go check them now.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If I'm reading that Sparkfun page right then your sixty bucks gets you just one 8x8 LED matrix. Exactly what kind of "video" are you hoping to show on 8x8 ?? Are were you planning to gang up multiple units to make a much bigger composite resolution?

One things for sure, 8x8 "movies" will suck!

If you want to see what they'll look like get even a small .gif animation or a small video clip, break it into frames, use your paint program to shrink the frames to 8x8 then rebuild the .gif / video - if you can actually see any "video" on that matrix you must have far better eyesight than I do!

Cliff

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

32x32 might be usable... barely

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello there!

I am emil's friend, the one who is supposed to be designing this gizmo.
Problem is, I know lots of theory (being a professor and stuff), but I have never ever implemented anything in hardware (a welder? what's a welder?). And that's why I am asking here.
I saw this matrix from SparkFun, which has an AVR micro, and I came to this forum, and you look like nice people, so I thought it was worth the shot asking you.

So, the idea is to gang multiple 8x8 matrices, yeah. Something like 5x5 matrices making a grand total of 40x40 LEDs. I KNOW that sucks as a video display, but this is an art piece, so you ask emil about that, he's the artist. I am the engineer.
15 Frames per second suffice for us. And monochrome images would suffice also, but these matrices are RGB (or RG).

My questions are:
1. I see in the SparkFun matrix datasheet that the default program in the AVR only has ON/OFF for the LEDs. Do you think it can be modified to produce PWM pulses to create different intensities for the LEDs?

2. 25 matrices are gonna consume Ampers like popcorn. Do you think I will have problems with the power supply? (See? I have never implemented anything, so I have never had to worry about power supplies. Vcc was always there for me, nice and steady at +5V.)

3. The only thing I would need to design is then the interface of the 25 matrices with the PC. The PC would be sending the video stream (through any port) and the interface would send the sub-images to the appropriate matrix). Am I being naive? is this doable?

I have done the math: 15fps*1600leds*24bits_per_led = 576kbits per second. This is not too high, everyone in the chain should be able to process at this speed... shouldn't it?

I am ready to pre-process anything on the PC. I have megahertz and knowledge enough on that side.

Sooooo.... what do you think? Should I forget about this?

Thanks a lot in advance!

Xavi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You need to work your PWM into the calculations here as well. You have a min led multiplex rate of 60 hz and nested inside that is a PWM lets say 16 levels of brightness. So you may want a multi micro solution to be able to generate the PWM's required.
Just a thought

Yes I am getting grumpy!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Oops, yeah, I forgot the PWM.
However, could you explain a bit what do you mean by "min led multiplex rate of 60Hz"?
I understand that whatever the refresh rate for the leds I choose, I have to multiply it by 16 if I want to be able to generate 16 levels of brightness.
By the way, what clock frequencies can the AVR use?
Why would I need another micro? Can't the AVR generate the PWM? (I admit I haven't looked carefully the SparkFun matrix schematic yet).

Thanks!

Xavi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You do 1 line at a time fast enough that you get all lines done 60 times a sec. There are signs that do this with literally one column of rgb leds and it spins around tracing a cylindrical path, and persistance of vision forms the image. I think this could be done with an avr... the video would have to be 'preprocessed' into the correct format and stored on avr flash or an external sd/mmc flash. I even recall this 'compact video' was a circuit cellar project or something similar. Now how do you shift out and catch 40 r,g and b values to display... 120 dacs? Actually, I have seen a 6 or 8 channel 6 bit dac... string 20 of em in series on the spi?

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The SparkFun-board seems to be shipped with a 16MHz crystal, which is the maximum clock freq for this µC.

Each LED will probably draw 30-40mA (5V VCC, 100 ohm series resistor) when on.

If you don't need RGB, why not use the other 8x8 boards with RG. Less bit-shifting and $25 cheaper.

I think it would be fully possible to modify the µC-software to support a degree of brightness control. Then use the SPI interface to program the indivdual LED brigthness between each image update.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Those Sparkfun boards are really nice. But boy are they expensive ... You could probably do it a lot cheaper doing it yourself. For example,

Ebay item 230064013165

Looks really nice. 8x8 matrix, 10 of them, for $15 shipped.

There are a number of ways to drive a ton of LEDs like this. One easy way is to use the Maxim LED drivers - I've used them before, and they works well and are easy to use. The older Max7219 in DIP is easy to work with, and will handle 64 LEDs just fine. Simple SPI interface, so you could do one MAX7219 per 8x8 matrix, similar to the SparkFun board.

They also have several other driver chips, somewhat more expensive though. The MAX6954 will drive 128 LEDs, while the MAX6952 will drive 140 LEDs.

These Maxim drivers all use a scheme called Charlieplexing to do the multiplexing. This is where you can use N pins to drive N x N-1 LEDs. You can of course do the charlieplexing yourself using a cheap AVR - just select one with enough IO pins to handle your matrix. A Tiny2313/Tiny26 etc would handle at least 3 or 4 matrices depending on how you interconnect them.

You could do one board per matrix, with a Maxim/AVR/whatever driving each one, or one board with several matrices and a driver - the possiblities are endless.

Dean 94TT
"Life is just one damn thing after another" Elbert Hubbard (1856 - 1915)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi

Quote:
Problem is, I know lots of theory (being a professor and stuff)

Well, if you are a professor then what is your profession base on.
As you have not mentioned what area you come from.

If by any chance, you belong to the Electrical Engineering section or similar
then you should be able to answer your own questions.

From what I can work out that you are good at software level but not hardware.
I find this very strange, as you should be able to do both.

Quote:
I am ready to pre-process anything on the PC. I have megahertz and knowledge enough on that side.

Sooooo.... what do you think? Should I forget about this?


Your wording is more of an amateurish base than of an academic.

Ken

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Do I really have to answer that? I was getting really helpful replies until that last one...

Xavi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi

Xavi, no you don't have to answer this.

Any way you mention above about the RGB.
Are you sort of planning to use the RGB LEDs or just using the one colour LED?

You could use 3 AVRs (with the highest clock speed say 20MHz) in synchronizing mode to control each separate RGB Lines.

This looks a very interesting project but done on a larger scale.
Pretty sure I saw an article back in the 80's or 90's that Elektor had something similar.
(Think one was made up to work as a crude oscilloscope using 16x16 Red LED Matrix).
And also Electronics Australia magazine too.

Ken

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

You scared me there for a second :)

The original idea was to do this monochromatic, but then I saw that the matrix had RGB leds and I thought of moving to color. Yeah, maybe I should focus on one color and move to RGB later on.

I am pretty sure this must have been tried before, that's why I was asking for a pointer to a paper or tutorial or magazine. I'll try to locate these ones you say.

Thanks!

Xavi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

One site you guys may be interested in is:

http://www.blinkenlights.de/inde...

Now I know this isn't using LEDs but it is a "display matrix" of sorts (just on a *slightly* bigger scale) and the design software they provide (blinkentools), for example, might be equally useful for an LED matrix based display.

To get some "video" onto the display I imagine one can probably find tools on the internet that would convert a small video clip to an animated GIF then this could be used in their gif2blm software

Or you could use their pixel editor to create your own "movie" such as displayed at the top of this page:

http://www.blinkenlights.de/movi...

Cliff

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That was very cool indeed, now I just have to convince my neighbours too:)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi

Had a quick look around & stumble on this.
"SOLID STATE OSCILLOSCOPE"
http://www.geocities.com/rlaude2000/ledscope.htm
This may give you some idea.

I cannot find the Elektor article at the moment.

Another site might be of interest.
http://www.globalspec.com/FeaturedProducts/Detail/RohmElectronics/ROHMs_Fullcolor_Dot_Matrix_Display/36744/0?fromSpotlight=1
I presume this is the final goal you want to achieve at a later date.

Ken

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

The Blinkenlights project is astonishing. I heard that somebody played Tetris on a building, but I had never seen the videos.

And regarding the Rohm matrices... well... that is exactly what I wanted. I'll show the web page to the artist and let him decide if he can afford that.
If not... back to the design board.

Hmmm... on a second thought... I don't think you can control the intensity of each LED in those boards, and since they use a custom IC, that probably cannot be changed. I liked the idea of using a uC :)

Thanks a lot for the links!

Xavi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

LED matrices interest me a lot (hopefully next years Christmas lights on my house are going to include some) so I read a few things about LED matrices this morning and the bottom line seems to be that for the most control you are best off building the entire matrix yourself. It's also interesting to read about the commercial solutions such as large advertising panels from Barco, Lighthouse Technologies, Smartvision, Daktronics, and Electrosonic and articles such as:

http://digitalcontentproducer.co...
http://stewartsigns.com/media/cs...

I think the biggest challenge (esp when using PWM to vary intensity rather than just doing on/off) is going to be getting a high enough scan rate on a large matrix to avoid any problems of flicker when operating at sufficient "frame rate" to do animations.

I'm tempted to build something with a number of slave AVRs just acting as "intelligent shift registers" maybe addressed on an RS485 "network" where each controls a few tens of LEDs and can PWM them. Then a master AVR (something like a 128) controls the whole show. The distributed processing nature of this hopefully gives the most control and spreads the workload and if the slave AVRs are chosen wisely they shouldn't need to cost THAT much more than some LED drive capable shift registers.

Cliff

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Cliff!

I am starting to realize that I need to build the whole thing myself, if for anything, because I need the matrix to be fairly big (like a whole-body mirror, say 2m x 1m).
So, looks like we have a common goal :)
The idea of using multiple "slave" uC is what I had in mind, but I would rather control them from a standard PC (this is an art piece, in theory I have no hardware restrictions).
I would love to hear more of that idea, if you think more about it.

Xavi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I agree we have a common goal. ;-)

I've actually had this goal for several years now. Every Christmas when I put up my lights and especially the ones outside as well as the various "nets" of LEDs I think "if only each LED were individually controllable I've got the basis of a huge matrix here across which I could scroll text and graphics".

My house is in the middle of a common tourist destination in England (my web site about it: http://www.our-cottage.co.uk/htm... ) so we get a lot of tourists and it would be really cool to scroll "Merry Christams to visitors to Finchingfield" across the entire front of the house on a net of LEDs

The "control processor" sending the commands to the "slave" micros could just as easily be a PC as an AVR but as this is probably going to need to use I2C or RS485 to have individually addressable slaves I would need a PC to I2C/RS485 converter anyway and I figure I might as well make my own with an AVR (128) and this would have the advantge that once it were programmed with sequences from the control PC the umbilical could be cut and the AVRs could then all work autonomously without the need for the PC to be switched on or even in a nearby location

Cliff

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There are a lot of IC's recently developed to control some LED's with individually controlled intensity. They usually have a serial interface, and allow to control the intensity of small matrices. Even with 8x8 matrices (also available in two colours, as well as RGB by some manufacturers), with a simple uC perhaps you can control some of this IC's and some matrices at once. Placing many of this 'modules' in a bigger matrix and with some comms protocol (need to be fast if you want to do video), then you can achieve the size you want.

Also if you are a teacher (of what university if I can ask?), then you can try to find some close supplyers that will give you the needed matrices to work with for a low price, specially if you use few of them, and they can use your 'product' for advertising purposes.

If you want to display full real time video, then probably you would need something like FPGA, since a comms with AVR would limit the frame rate.

Guillem.

Guillem.
"Common sense is the least common of the senses" Anonymous.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks again for the replies.

I would like to know more about these recently developed IC's to control LED matrices... :)

Regarding the university where I teach... it might sound familiar to you since looks like we are from the same city, Guillem: it is the UPF in Barcelona. Time for a private mail :D

Xavi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Emil and Lavaka,

Sorry guys, I haven't read everything here but did glance at Emil's initial post and was unable to help...however, My gal brought home the latest issue of EEPN today and...on the first page is the Pictiva OLED Display design Kit for under $200 US. I have included the PDF and the website:

www.osram-os.com

Attachment(s): 

Just some guy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the info Johnrk.
Somebody else posted links to this oled technology which I was unaware of. However, I need a matrix that is about 2m tall and 1m wide. I think we should have said this in the first post :p

Xavi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

As it's break up day in the office here (I leave at lunchtime in 10 minutes!) I spent the morning pursuing the onerous task of how to design some decent Christmas lights for my house for use next year. One thing that cropped up was that the TLC5920 chip seems to offer a lot for the price (it's $2.48 at digikey and will control 128 LEDs) and when I googled for "TLC5920" I came across this very interesting article:

http://engineering.dartmouth.edu...

Also a useful comparison of LED drivers here too:

http://www.arrow.net.bz/industry...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Exactly the kind of introductory tutorial I needed :D

Thanks!

Xavi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey, Cliff:

Great links those you post. I will try to think about that if I can help.

I'm working currently on some products that use LED's and specially designed enclosures for that, then I think I could help a litle about that part, since it's more complex than you can think.

For the LED's part, there are many possibilities around, and with many different parameters. Also the enclosure can change a lot the final result. I had found that also the position of the LED relative to the surface you want to illuminate, the kind of surface and it's finish, can change a lot the final result.

Naked LED's can be really bright to be used without anything in front of them. Then I recommend the white opal metachrilate as the 'screen', and then put the LED's behind it. Depending on the spot (pixel) size and the distance betwen the screen and the LED, then the radiation (milicandelas), beam width/radiation pattern (degrees) and the LED power should be tested to find the most appropiate ones.

The most common LED's are PLCC-2 or PLCC-4 drived between 10 and 50 mA. This way you can illuminate up to 1 square inch (2.5 x 2.5 cm) per LED with a good illumination and contrast with direct sunlight. Distance is about 1" from LED to 'screen'. In this case, powerfull PLCC4 orange LED's from Osram @50mA. If you see them naked, then you probably get 'blind' for some seconds.

Guillem.

Guillem.
"Common sense is the least common of the senses" Anonymous.