Shop OBEX P1 Docs P2 Docs Learn Events
Cheap 8x8 LED Displays — Parallax Forums

Cheap 8x8 LED Displays

ercoerco Posts: 20,254
edited 2014-08-22 18:25 in General Discussion
Somebody smarter than me (like Duane) will pounce on this apparently smoking deal. Ten 8 x 8 LED displays for $11.96 shipped. That's $1.20 each, with 64 LEDs. That's under 2 cents per LED.

http://www.ebay.com/itm/10pcs-8-x8-Red-64-LED-Dot-Matrix-Displays-3mm-DIY-Board-/330586074163?pt=LH_DefaultDomain_0&hash=item4cf8772c33

Duane made a cool low-res camera which used something like this as a live display: http://forums.parallax.com/attachment.php?attachmentid=105055&d=1384744367
400 x 400 - 21K
«13456

Comments

  • ercoerco Posts: 20,254
    edited 2013-11-23 20:56
    Beau takes me down! Well and quickly played, Sir Schwabe.

    Heck, even I finally broke down and ordered ten for that pittance. Merry Christmas!
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2013-11-23 21:08
    lol - I just happened to be searching eBay and I had come across those minutes before your post ... Karma?

    ...Now if I could just find some "Helping Hands" with a magnifier in the correct position. Most of what I have found would be fine if I were wanting to work on something standing up at 90 Deg, but I want to be able to use the magnifier parallel to the table.
  • ercoerco Posts: 20,254
    edited 2013-11-23 22:22
    Each 8x8 board has 16 pins. A BS2 has 16 I/O lines. Mere coincidence?

    That's under a penny per LED.
  • CuriousOneCuriousOne Posts: 931
    edited 2013-11-24 03:36
    These displays are great, but have two problems:

    1. Round dots, with large spaces between them, not "pixels"
    2. Density is low. 8x8 on 30mm die is too large. I'd like to have 8x8 @ 10x10mm die at least.
  • GadgetmanGadgetman Posts: 2,436
    edited 2013-11-24 10:56
    Whaddya know?

    5 from the link Beau posted is just under the 200NOK T(r)OLL/VAT limit...

    Ordered!

    10packs of MAX7219 seems to cost about the same...
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-11-24 11:46
    Well darn. I already had too many projects going but how could I pass these up?

    I think a pair of these arrays would make fun robot eyes.

    Dickel over on Let's Make Robots made this contraption. (Dickel has lots of cool projects.)

    I plan to use a pair of my RGB arrays to do something similar but it will be nice to have the option of using smaller arrays.

    Dickel used the MAX7519 chip Martin mentioned.

    What's the advantage of using the MAX7519 over two '595 chips? I've noticed the MAX7519 is kind of expensive. It's cheaper to buy it with the matrix Martin linked to than buying just the chip from DigiKey.

    My guess is the MAX7519 takes care of the multiplexing for you. Is this the main advantage? It frees up the microcontroller from refreshing the display? Can you control the brightness level with the MAX7519? IIRC, you can't.

    My usual strategy with LED arrays is to use some sort of '595 chip and run a driver in PASM to clock out the needed bits. A lot of bits need to clocked out in order to control the brightness of the individual LEDs.

    In the project erco mentioned, I didn't multiplex the LEDs. Each anode was connected to an output of a 74HC595 chip. This required an insane amount of wires and soldering. A process I don't plan on repeating.

    These 8x8 arrays have to be multiplexed since there isn't access to the individual LED pins.

    According to erco's link, these are rated at 30mA. So to light a row of eight LEDs at full power would require 240mA. So how do we drive the anodes? Use a '595 to control some transistors? I'm still trying to figure this out with my RGB LEDs. How do you provide a lot of current to the anodes? On the RGB LEDs I'm using SN754410 motor control chips but I'm sure there's got to be a better method of driving the anodes.

    Of course the LEDs won't normally be driven at a full 30mA so a normal shift register could do the job if the current to each LED was limited to 5mA or so. 5mA would probably be fine for indoor use but I'd like to have the option of driving the LEDs at full power if I can figure out an inexpensive way to do so.

    I'm very curious to know what other strategies people use to drive LED arrays.

    BTW, If any of you use '595 chips to drive the arrays, make sure and keep the enable pin of the '595 accessible in case you want to use it for brightness control in the future. I've had to go back and cut traces on some of my earlier PCBs I made for the RGB arrays.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-11-24 11:53
    erco wrote: »

    Or $7.12 here with a thread telling you how to drive them. I've got to make a better demo video for those arrays. My newest code allows runtime changes to the color resolution and number of arrays driven.
  • GadgetmanGadgetman Posts: 2,436
    edited 2013-11-24 12:03
    The 7219 multiplexes, yes, and it does it continually.
    Load it with data and it'll keep that pattern on the LEDs, with the desired duty-cycle until it is ordered otherwise.
    (Brightness/duty-cycle is controlled by loading a value to an internal register)

    With a 595 solution, your microcontroller has to continually refresh the pattern.

    http://datasheets.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf

    EDIT:
    As this chip also does a lot of nice stuff with 7-segment LEDs, BCD and blanking of leading Zeros, it's a chip that can be handy to keep in stock.
    There's more than one offer of 10x of them for $6 or less on The Bay of E.
    Both DIP and SOIC.
  • ercoerco Posts: 20,254
    edited 2013-11-24 12:04
    You a smart guy, DD!

    Note that my link to the C $8.84 price was for 2 pieces.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-11-24 12:15
    Gadgetman wrote: »
    The 7219 multiplexes, yes, and it does it continually.
    Load it with data and it'll keep that pattern on the LEDs, with the desired duty-cycle until it is ordered otherwise.
    (Brightness/duty-cycle is controlled by loading a value to an internal register)

    With a 595 solution, your microcontroller has to continually refresh the pattern.

    http://datasheets.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf

    EDIT:
    As this chip also does a lot of nice stuff with 7-segment LEDs, BCD and blanking of leading Zeros, it's a chip that can be handy to keep in stock.
    There's more than one offer of 10x of them for $6 or less on The Bay of E.
    Both DIP and SOP.

    Thanks for the info. You've convinced me to buy some to try out. It's good to hear I don't have to pay $11 for a chip.
    erco wrote: »
    Note that my link to the C $8.84 price was for 2 pieces.

    I missed the two pieces. That's a great price. I may need to get a couple to see how they compare. I've heard there are a lot RGB arrays that don't look good.
  • CuriousOneCuriousOne Posts: 931
    edited 2013-11-24 21:21
    Here even cheaper (roughly $2.2 per 8x8 rgb):

    http://item.taobao.com/item.htm?spm=a230r.1.14.3.xKa8xT&id=4307273511

    But much harder to buy :)
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-11-24 23:01
    Gadgetman wrote: »
    (Brightness/duty-cycle is controlled by loading a value to an internal register)

    I'm pretty sure the brightness control is for the whole display? You can't use a MAX7219 to make a low res monitor right?

    attachment.php?attachmentid=80519&d=1303582009

    I still plan to try out the '7219 chips.
  • CuriousOneCuriousOne Posts: 931
    edited 2013-11-24 23:16
    Technically, MAX7219 allows to adjust brightness on the fly, so by carefull programming, you can synchronise specific pixel display on/off and brightness change. Also note, 7219 is very timing sensitive, with some kind of error accumulation, say, you have clocking times a bit wrongly alligned, it will work, but over time (depending how wrongfully you have timings) it will quit work. This will happen in 2 minutes or 2 hours, depending on timings, but it is not so clearly understandable, so you may start checking other parts, thinking they are faulty.
  • CuriousOneCuriousOne Posts: 931
    edited 2013-11-24 23:21
    Also, MAX6955 can be used, which, unlike 7219, can drive both CC and CA leds, and can handle 128 leds, instead of 64.
  • GadgetmanGadgetman Posts: 2,436
    edited 2013-11-24 23:22
    Yes, the brightness is for the entire display.

    you can of course simulate different brightness on each LED by using several data patterns.

    Switch between them, and the bits that are set active on both patterns will be brighter than the ones that only exist in the first pattern.

    Of course, that kind of takes the fun out of the equation since you will need your controller to burst data at regular intervals again.
    That's the kind of menial tasks that PICs were made for...

    For Bi-color and RGB LED displays you run 2 or 3 7219 in parallell, I believe.
  • CuriousOneCuriousOne Posts: 931
    edited 2013-11-24 23:27
    MAX6955 has special mode for bi-color leds. Also, there's another IC, suited for RGB led control, but forgot it's model.
  • ercoerco Posts: 20,254
    edited 2013-12-02 19:47
    For $2.94, a complete DIY kit with 8x8 LED matrix, MAX7219, components and PCB. Cascade connections. Machined pin socket strip shown in photos. A nice way to try out the 7219.

    http://www.ebay.com/itm/MAX7219-Dot-matrix-module-MCU-control-Display-module-DIY-kit-for-Arduino-S9-/251364995673?pt=LH_DefaultDomain_0&hash=item3a86857259
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-12-24 14:25
    I received the display, MAX7219 and PCB erco mentioned in post #21 a few days ago. I just finished soldering up one of the boards.

    I'm off to look for examples of using the MAX7219 with the Propeller now. I figure it will go over as the Christmas present to my wife if I can get it to display some sentimental message.

    I haven't received the 10 bare arrays I purchased earlier yet.

    Anyone else working on these?
  • ercoerco Posts: 20,254
    edited 2013-12-24 20:39
    Got my arrays only, not the PC board/kit yet. Hope to have a play after Christmas.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-12-25 02:25
    I found a couple examples of the Propeller controlling 7-segment displays with the MAX7219 chip but I didn't see any Propeller/MAX7219/8x8 Array projects.

    I was very pleased to find I've gotten better at reading datasheets so I managed to whip up my own driver for the chip without too much trouble.

    I borrowed a font from the SimplyTronics array and also used a font I found on the internet and I had the array alternate between the two fonts as it displayed its message.

    I didn't want to wake anyone up so the video doesn't include any narration.

    I'll want to add a way to make the text scroll across the screen. I'll also want to rotate the text so I can place multiple displays side by side.

    It's been fun to play around with these MAX7219 chips.

    Here's a picture of the one board I put together.

    attachment.php?attachmentid=105755&d=1387966996

    I dropped (and lost) the 0.1uF capacitor so I substituted a surface mount cap.
    912 x 684 - 177K
  • ercoerco Posts: 20,254
    edited 2013-12-25 09:45
    Great work as always, Dawg. Merry Christmas!
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-12-25 18:48
    Merry Christmas erco!

    I soldered up the second board and added a method to rotate the fonts. I took some fun bitwise programming to get the bits rotated. My brain wouldn't cooperate until it had a good nights sleep. When I tried rotating the character late last night the final character was exactly the same as what I started with. I was expecting I'd at least mangle the bits if I did it incorrectly. It was kind of a boring bug to have the bits end up right back where they started.

    Besides getting the characters rotated, I also got the text to scroll. I added the second board and figured out the daisy chain thing to get the text to scroll from one display to the next.

    The code is in Spin. I figure I'll add some eye animations to the program in the near future.

    If any of you use the attached code, I hope you let me know how it works for you.

    It shouldn't be hard to clean the code up into a self contained object, but I'm not ready to do it myself just yet.
  • ercoerco Posts: 20,254
    edited 2013-12-26 16:43
    I couldn't let Duane have ALL the fun, even though my MAX7219 board hasn't arrived. Didn't even have a pinout, just sat down for an hour of brute force fun figuring out the connections using a BoE. Looks encouraging. At ten pieces for just $6, I'm glad I ordered 20. :)
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-12-26 19:32
    Very cool.

    No one told me we were supposed to use these to make animations?

    I need to get back to work and use these LEDs the right way.

    Multiplexing those LEDs must keep the Stamp pretty busy? I'm guessing you've done stuff like this before?

    I cleaned up the code used to generate the scrolling text and made a separate object for the MAX7219 code. I posted the cleaned up code in this thread in the Propeller forum.

    The MAX7219 definitely have some advantages over the 74xx595 in some applications. The '7219 chips would be particularly useful when used with the Stamp since it doesn't require any action to maintain a display. I think the '7219 chips would let a stamp drive several of these arrays without much trouble. The '7219 is also useful with the Propeller is one didn't want to use a cog to maintain the display.

    The MAX7219 is a good chip to have in one's bag of tricks but I still like the '595 for driving displays where I want to be able to control the brightness of the individual LEDs within the array.
  • ercoerco Posts: 20,254
    edited 2013-12-26 19:48
    Duane Degn wrote: »
    No one told me we were supposed to use these to make animations?

    I need to get back to work and use these LEDs the right way.

    My work is done here, I have inspired Duane. I want to see a Propeller PONG game out of you before year's end, Pal!

    Actually, Pong is on my mind because I have a Velleman kit to make one, from the RS clearance. Can I solder mine up before Duane slaps a few objects together and beats me to it?

    http://www.amazon.com/Velleman-Classic-Pong-Game-Kit/dp/B00068U240/ref=sr_1_6?ie=UTF8&qid=1388116048&sr=8-6&keywords=Velleman+Kits
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2013-12-26 19:48
    Bonus points if you can make these 8x8's work using a few discrete components (no IC's) and only 8 wires. :-)
  • ercoerco Posts: 20,254
    edited 2013-12-26 19:55
    IOW, you've already done it and want to watch the rest of us struggle? :)
Sign In or Register to comment.