Go Down

Topic: Need help: How to make my own 24x16 LED Matrix display (Read 6945 times) previous topic - next topic

plastygrove

Everytime I search for how to make a 24x16 or 32x16 LED Matrix display, I stumble upon some post or the other which has a well known component by sure electronics using the HT1632C driver.

Now, I'd like to make my own plug and play display to use with an arduino board. One option would be to use shift registers like the 595. But for a 24x16 display made with 6 standard 8x8 LED Matrix displays, that would come to about 12 shift registers - 2 per matrix viz., one for the rows and one for the columns. But I've read mixed reviews about this approach, mainly regarding flickering and the MCU not being able to update it fast enough once you've got too many shift registers.

Another option is the MAX7219 driver which can single-handedly drive an 8x8 matrix. But that would again result in 6 of them for a 24x16 display. Also, the price of the MAX7219 is like 10 times the price of a 595, so I'm not too keen on that.

I've tried looking up the HT1632C driver, but it doesn't look like it's available easily as a separate part. Also, I don't think it's a standard breadboard size IC.

I'm sure this is a standard problem which has been solved lots of times, but can't find a standard solution other than buying the part from Sure Electronics. Any help will be appreciated.
My blog Emptiness in Void. New to Microcontrollers? Learn [url=http://www.arduino.cc/playground/Cod

johnwasser

You can wire all the rows together (making an 8x48 matrix) and use a single shift register to drive the rows.  That means 7 more for the columns or 8 shift registers total.  SPI can output at about 8 megabit per second so you can update the registers about 143,000 times per second.  That means all 8 rows at almost 18 kHz.
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

plastygrove

That's an interesting idea, putting them all together in a single row which would reduce the number of shift registers. But I'd really like it to be at least 16 pixels in height. I'm actually trying to recreate the DotKlok from scratch, but would like to build the screen in parts rather than buy it whole.

I'm not familiar with SPI, so I'll take a look into it and see how it works. For POV, I would basically require something around 100Hz. So, if this gives me 18KHz, that's more than what I need. From what you've just said, I'm inclined to believe that I can definitely get more than 100Hz using 12 shift registers as well.
My blog Emptiness in Void. New to Microcontrollers? Learn [url=http://www.arduino.cc/playground/Cod

Riva

Hi plastygrove,
For such a large monochrome matrix display I would really recommend something like the MAX7219. You can pick them up on eBay cheaply about a UK pound per chip and you have zero problems with flicker as scanning is performed on chip. The main potential drawback is you cannot adjust the brightness of individual LEDs but you do have 16 brightness levels that effect all the LEDs. They can be stacked so you only need 3 arduino pins to program all 8 chips.
Another potential options is stacked Rainbowduinos but the LED matrix may be to big for your needs.
Lastly, I know you want to build it yourself but consider this (http://www.sureelectronics.net/goods.php?id=1095). I have not seen or used one but it seems very good value for money considering they are duel colour LEDs.

plastygrove

That's the exact display board I'm trying to create, in monochrome of course :). I'd probably go with that if I mass produce my product at some point, but otherwise it defeats the purpose of what I'm trying to do. And besides, I'm not paying $10 to ship a $20 product!  :smiley-eek:

But good call on the ebay thing. Just checked ebay.com and they're selling 20 pieces of 7219 for $10 which is brilliant. And free shipping to boot. Only issue is that it'll probably take a month to reach me.
My blog Emptiness in Void. New to Microcontrollers? Learn [url=http://www.arduino.cc/playground/Cod

Riva

I built my first wordclock using components ordered from Mouser and the final cost was about $120. If I had thought to ordered the components from eBay I would have save about $30. There is a lot of work in soldering LED matrix boards and because I built mine on stripboard a lot more track cutting and wire soldering. I have built 2x wordclocks now but don't intend on doing any more soon.

funkyguy4000

I would recommend looking on instructables for LED Matrix display.  There are numerous amounts of instructables on that very topic, at least last I checked.
Accelerate to 88 miles per hour.

Nick Gammon


I'm not familiar with SPI, so I'll take a look into it and see how it works.


http://www.gammon.com.au/spi
Please post technical questions on the forum, not by personal message. Thanks!

More info:
http://www.gammon.com.au/electronics

johnwasser


I'd really like it to be at least 16 pixels in height.


Even if you wire them as 8 rows of 48 you can place them as 16 rows of 24.
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

florinc

#9
Jun 18, 2012, 04:03 am Last Edit: Jun 18, 2012, 06:22 am by florinc Reason: 1
Quote
That's the exact display board I'm trying to create, in monochrome of course

The schematic is publicly available, and it uses the HT1632C (which you can buy on ebay for $4 or so).

johnwasser


I've tried looking up the HT1632C driver, but I don't think it's a standard breadboard size IC.


You're right on that one.  It would be hard to connect to a 52-pin Quad Flat Pack without a custom circuit board and some surface-mount soldering experience.
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

plastygrove


I would recommend looking on instructables for LED Matrix display.  There are numerous amounts of instructables on that very topic, at least last I checked.

I did look around the instructables, but didn't find any that involved building a 24x16 display. I'll take another look around.


http://www.gammon.com.au/spi


Thanks for the link! I really love the detailed explanation. :)


Even if you wire them as 8 rows of 48 you can place them as 16 rows of 24.


Now that's a very neat idea. Instantly reduced the number of bit shift registers. The more I think about it, the more I think that bitshifts are the way to go, rather than use the 7219. I'll try to decide by the weekend.

But on that note, how do I ensure that I have enough current to be able to light up 16x24=384 LEDs? I know that the arduino's 20mA limit won't be enough. How would I use an external power source to power up the LEDs? Is it as simple as plugging in a higher power source into the arduino?
My blog Emptiness in Void. New to Microcontrollers? Learn [url=http://www.arduino.cc/playground/Cod

johnwasser


Is it as simple as plugging in a higher power source into the arduino?


No.

The good news is that each of the 48 columns will only have one LED turned on at a time.  The row outputs will need to drive up to 48 LEDs at a time so that's nearly 1 Amp (0.96) if each draws 20 mA.  A resistor per column will be needed to limit current.
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

plastygrove


No.

The good news is that each of the 48 columns will only have one LED turned on at a time.  The row outputs will need to drive up to 48 LEDs at a time so that's nearly 1 Amp (0.96) if each draws 20 mA.  A resistor per column will be needed to limit current.


Correction, max current supplied by the arduino is 40mA. But with fast switching, wouldn't the net power usage be the same as powering them all together? I've used an HCF4094 with an 8x8, it doesn't do very well when an entire column of 8 LEDs are lighted together. I guess the 595 allows more current through the pins than the 4094.

But even the way you say it, assuming each LED requires about 3mA (1.3 V drop across LED, 1K res, 5v Power supply), 48 LEDs goes to 144mA which is more than the 40mA supplied by the arduino. How do I fix this? I don't want the LEDs working with some of them dimmed out.
My blog Emptiness in Void. New to Microcontrollers? Learn [url=http://www.arduino.cc/playground/Cod

CrossRoads

Going at it the hardway.
Use 5 shift registers - 3 to make the 24 bits, and 2 to make the 16 bits.
I just did a 12x8 that way (didn't need 16 x 8), will post the schematic when I get home.
Simple to expand it 1 more part high and 1 more across.
Concept is simple - resistors pull up individual anodes, shift register at the bottom pulls down common cathode for column to turn on - shift register at the side pulls anode low if an LED is to be off.
No mucking around sourcing current from PNP or P-channel MOSFETs.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up