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

Cheap 8x8 LED Displays

1356

Comments

  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-13 16:23
    ICStation wrote: »
    Hi Duane, this is Wanita, Customer Service of ICStation. Thank you for your finding and posting!

    You're welcome Wanita.

    My ICStation arrays arrived today. So did my batch of SOIC MAX7219 chips to use with my custom PCB.

    I'm still waiting on OSH Park to send the small array boards.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-14 21:26
    Just a quick update about the ICStation arrays. The picture posted above is not what came in the package. There was all that was pictured plus ten 0.1" jumpers. I haven't figured out why one would need so many jumpers. I just had a theory as I was typing the last sentence. The jumpers might be intended to be used to hold the arrays together. I also just realized the jumpers solve the problem of how to connect the output from one array into the input of the next array.

    I'll need to solder up a couple more boards to demonstrate how the jumpers are used.

    The "N1". . . "N4" holes aren't electrically connected the circuit on the board. I think they're just intended to be used with the jumpers to physically hold the boards together.

    I think I would have preferred is all the parts (array and MAX7219 chip) were on the same side of the board but otherwise, I like the kit. I certainly think it's a good deal for the price.

    FYI, the arrays are mounted with the "788BS" on the top when oriented with the writing on the PCB. This is opposite from the boards with the DIP MAX7219 chip.

    As I mentioned earlier (and as shown on ICStation's website) the arrays are mounted on the opposite side of the board from the MAX7219 chip.

    I'll solder up another board or two and make a video of several board linked together.
  • ICStationICStation Banned Posts: 12
    edited 2014-01-15 02:03
    Duane Degn wrote: »
    Just a quick update about the ICStation arrays. The picture posted above is not what came in the package. There was all that was pictured plus ten 0.1" jumpers.

    Hi Duane,

    I really should say sorry for the pic. Actually that's an additional picuture on our website to show more details about this item.
    The picture of the full kit is as below.
    1.JPG

    Hope it had not brought you the inconvenience. And we'll pay more attention to the pictures in future.

    And looking forward to your videos,:)

    All the best!

    Wanita
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-15 11:49
    ICStation wrote: »
    Hi Duane,

    I really should say sorry for the pic.

    Sorry, Wanita. I was just trying to be funny.

    I do not have problem if the picture doesn't show everything included. I don't think you need to worry about the pictures. They're just fine as they are.

    I'm going to put together another board now so I can make a video of two (or maybe three) in a row.
  • ercoerco Posts: 20,244
    edited 2014-01-16 19:39
    20% off everything sale at ICstation Jan 16-Feb 9 for Chinese New Year, but order early, since ICStationwill be on holiday from 27th, Jan to 9th, Feb to celebrate our the year of horse.

    http://www.icstation.com
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-16 20:22
    erco wrote: »
    20% off everything sale at ICstation Jan 16-Feb 9 for Chinese New Year, but order early, since ICStationwill be on holiday from 27th, Jan to 9th, Feb to celebrate our the year of horse.

    http://www.icstation.com

    Cool. I'm going to get some more arrays. I got four of the arrays to scroll.

    I didn't realize how much easier it is to scroll these types of arrays vertically than scrolling them horizontally. Since the DIP chip of the ebay PCBs didn't allow horizontal scrolling I had the program scroll vertically. The ICStation arrays link together in a way which requires horizontal scrolling. I thought switching from vertical to horizontal would be simple. I wasn't.

    My other arrays had each pixel represented by one or more bytes, since I can't control the individual brightness level of these pixels, I keep them as bits to same on memory. Shifting an array of pixels by one bit is a lot harder than shifting an array of bytes.

    I did get it to work and I'll try to get a video up tonight.
  • CuriousOneCuriousOne Posts: 931
    edited 2014-01-16 23:43
    Anyone got BS2 code for MAX7219 and 8x8 led?
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-17 07:18
    I shot this video last night but it took a while to upload to YouTube.

    The software used to generate the output is post #3 of my MAX7219 Propeller thread.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-17 07:21
    CuriousOne wrote: »
    Anyone got BS2 code for MAX7219 and 8x8 led?

    If you had some BS2 code for a MAX7219 driving a 7-segment display, I could take a look at it and offer some suggestions on what to change to use it with an 8x8 array.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-17 07:51
    Look what arrived yesterday.

    attachment.php?attachmentid=106230&d=1389973445

    PCBs for the small arrays. I'll solder up a few and see if they work.

    I'm tempted to directly solder the arrays to the boards and forgo the usually headers. It would make the final arrays smaller and cheaper. I'll probably try it both with and without headers.
  • ercoerco Posts: 20,244
    edited 2014-01-17 08:14
    Sweet! Careful now, or you'll become ICstation's poster boy!

    Nice boards. I'm gonna give you all my board business. :)

    So now your program pushes the limits of SPIN speed? Time for Prop2, Boss!
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-17 08:39
    erco wrote: »
    So now your program pushes the limits of SPIN speed? Time for Prop2

    The Prop2 scares me. I know I'll try to learn to use it when it comes out but I've stopped trying to keep up with the discussion about it.

    The Prop1 could drive these displays plenty fast in PASM. With a PASM driver I could probably have brightness control of the individual pixels (for one or two arrays). If one were to make a large display, then a PASM driver would probably be needed (in order to scroll quickly).
  • PublisonPublison Posts: 12,366
    edited 2014-01-17 10:15
    CuriousOne wrote: »
    Anyone got BS2 code for MAX7219 and 8x8 led?

    Don't know if this thread would help?

    http://forums.parallax.com/showthread.php/148683-MAX7219-Confusion?highlight=MAX7219
  • CuriousOneCuriousOne Posts: 931
    edited 2014-01-17 10:22
    Yes I have the code, but it uses MAX7219 only in BCD mode and also suppresses empty zeroes and so on. No code to drive 8x8 led matrix without BCD.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-17 10:35
    Publison wrote: »

    To drive an 8x8 array, I'd start by changing the values of "Scan" and "Decode" to zero. You want the chip to output whatever gets shifted into the display section (addresses 1 through 8). The "Scan Limit" register and the "Decode Mode" registers make it easier to operate 7-segment displays but I don't think they're useful when using an 8x8 array.
  • GadgetmanGadgetman Posts: 2,436
    edited 2014-01-17 12:15
    That PCB of yours looks good.

    I assume that it's a straight connection from one board to the next?

    If you were to set up a production run, what do you think the cost would be for say... 36?
    (4x8 PCBs for a whopping 32 x 64 resolution)

    Or maybe for 2x2 matrix boards?

    Yeah, I could probably fab them myself, but I don't feel like messing about with etch and whatnot right now...
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-01-17 13:01
    Very impressive, Duane! (as usual!)

    These beg to go in the back window of any car that drives through congested traffic.....well, not in today's world, I guess!
  • Ron CzapalaRon Czapala Posts: 2,418
    edited 2014-01-17 13:06
    mindrobots wrote: »
    Very impressive, Duane! (as usual!)

    These beg to go in the back window of any car that drives through congested traffic.....well, not in today's world, I guess!

    I thought an appropriate message for someone who rides your bumper, but like you said "not in today's world". You could get shot!
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-17 13:29
    Gadgetman wrote: »
    That PCB of yours looks good.

    Thanks, I like how they turned out.
    Gadgetman wrote: »
    I assume that it's a straight connection from one board to the next?

    Yes. On the Rev B boards I extended the solder pads to the edge of the board to see if the board could be directly soldered together. I kind of doubt I'll try this though. I like ICStation's method of using jumpers on straight pin headers to connect the boards.
    Gadgetman wrote: »
    If you were to set up a production run, what do you think the cost would be for say... 36?
    (4x8 PCBs for a whopping 32 x 64 resolution)

    Or maybe for 2x2 matrix boards?

    The price could be greatly reduced by panelizing the boards.

    Four of these PCBs would fit on a 5cm x 5cm board which cost about $10 for ten. You could have a 2x4 board made for about $15 for ten.

    I just tested one PCB and it works fine but I haven't tested the board to board connection yet.

    Since these arrays have the anodes and cathodes swapped, the rows and columns are also swapped. These arrays scroll 90 degrees from the ICStation arrays. I'm pretty sure I already have the software to scroll these arrays. Because of the 90 degree scroll direction, these arrays should be able to scroll much faster than the ICStation arrays.

    These small arrays can be scrolled by shifting the memory a byte at a time. The other arrays require the a bunch of single bits be shifted.
    Gadgetman wrote: »

    Yeah, I could probably fab them myself, but I don't feel like messing about with etch and whatnot right now...

    Yeah, who wants to deal with etching PCBs when there are so many places willing to do for so little money?
  • GadgetmanGadgetman Posts: 2,436
    edited 2014-01-17 14:29
    Four of these PCBs would fit on a 5cm x 5cm board which cost about $10 for ten. You could have a 2x4 board made for about $15 for ten.

    And a 10pack of 4x4 boards for $19...
    And that's assuming you don't go into the 'small batches' packages.

    What are the 4 pads at the bottom edge?
    (it might be an idea to go for 4x4 boards, then separate them to 1x4 strips with a fine saw, but if the pads are important... )
    Since these arrays have the anodes and cathodes swapped, the rows and columns are also swapped. These arrays scroll 90 degrees from the ICStation arrays. I'm pretty sure I already have the software to scroll these arrays. Because of the 90 degree scroll direction, these arrays should be able to scroll much faster than the ICStation arrays.

    That just means they scroll better horisontally than vertically, right?
    Rotate the assembly 90 degrees, and?
    Only really important if you want to do a lot of scrolling and fancy stuff.
    (A propeller or other mCU with access to a SD-card or other storage should have no problem keeping pre-made bitmaps of large 'animations')
    Yeah, who wants to deal with etching PCBs when there are so many places willing to do for so little money?

    Exactly...
    Also, you're the one with the files...
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-17 15:47
    Gadgetman wrote: »
    And a 10pack of 4x4 boards for $19...
    And that's assuming you don't go into the 'small batches' packages.

    What are the 4 pads at the bottom edge?
    (it might be an idea to go for 4x4 boards, then separate them to 1x4 strips with a fine saw, but if the pads are important... )

    There are two passives on the board. Since the SOIC chip doesn't leave much room on top I made a double set of pads so they could either be added to the edge of the board or to the bottom of the board. Only one set should be populated.

    The passives are a 10K resistor and a 0.1uF cap.

    If the passives were placed on the back of the board, the lower edge of the board could be safely removed. There are a few traces running above the headers at the top of the board.

    I've attached a couple of pictures of the design to this post.
    Gadgetman wrote: »
    That just means they scroll better horisontally than vertically, right?
    Rotate the assembly 90 degrees, and?
    Only really important if you want to do a lot of scrolling and fancy stuff.
    (A propeller or other mCU with access to a SD-card or other storage should have no problem keeping pre-made bitmaps of large 'animations')

    The was the first time I've tried to scroll bits instead of bytes and it was a bit more challenging to write software to scroll bits instead of scrolling bytes but either way the Propeller can easily handle it.

    The code I posted is very rough. There are several ways one could increase the speed of the scrolling (if that's an issue) without resorting to PASM. With a PASM driver, I don't think there would be any speed concerns.
    528 x 532 - 38K
    529 x 525 - 39K
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-18 10:07
    I've been trying to figure out how to connect these small arrays together while also keeping the back of the PCB bare.

    ICStation uses a cool trick of connecting the two sets of male headers with jumpers. This requires the male headers protrude out the back of the PCB.

    I'm hoping to keep all the components of these small boards on a single side. Unlike the ICStation PCBs, I placed the MAX7219 chip on the same side of the board as the array. In hopes of using the same sort of trick with male headers and jumpers to join the boards together, I used the normal tall black male headers to hold the arrays. I used these type of headers with my RGB arrays and they work fine. Unfortunately the small array leads are thinner than the RGB array leads and the thinner leads don't always make a good connection with the tall male headers.

    Here are a couple of pictures showing how the arrays are linked together with jumpers.

    attachment.php?attachmentid=106265&d=1390066267

    attachment.php?attachmentid=106266&d=1390066270

    I have a couple of ideas of how to get this to work.

    One thought (which I don't really like) is to coat the array leads with solder (lead free) to make them a bit thicker. This seems like a huge pain.

    My other thought it to used the machined pin headers like the other PCBs and figure out some sort of low profile jumpers.

    Any ideas?

    I uploaded a video of the small arrays scrolling (it turns out the small arrays scrolling looks a lot like the other arrays scrolling).
    724 x 682 - 200K
    838 x 663 - 206K
  • GadgetmanGadgetman Posts: 2,436
    edited 2014-01-18 11:00
    Won't having the IC on the same side as the Matrix cause problems with heat buildup?

    As for linking with jumpers like that, I imagine all kinds of alignment problems if the holes for the headers are even slightly off on a single module.
    (For a permanent or semi-permanent setup, I'd just use short pieces of wire between the boards, and stick the matrixes together with semi-transparent red tape across the front. I just happen to have a big roll of the stuff from building a 'delta-wing' Foam RC-glider last year. )
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-18 11:33
    Gadgetman wrote: »
    Won't having the IC on the same side as the Matrix cause problems with heat buildup?

    I admit to not even thinking of the heat issue.

    I had thought there would be room between the PCB and arrays for enough ventilation to keep things cool. I can see now this wasn't a good assumption. The headers are so close together their isn't much room for airflow.

    Darn it. I mean double darn it. I was hoping to keep the back of the board clear to make the arrays easier to mount. There isn't room for mounting holes but I thought a clear back surface would make them relatively easy to mount with double sided tape.

    If the heat build up is a problem (which I suspect it is) then I'll need to redesign the board.
    Gadgetman wrote: »
    As for linking with jumpers like that, I imagine all kinds of alignment problems if the holes for the headers are even slightly off on a single module.
    (For a permanent or semi-permanent setup, I'd just use short pieces of wire between the boards, and stick the matrixes together with semi-transparent red tape across the front. I just happen to have a big roll of the stuff from building a 'delta-wing' Foam RC-glider last year. )

    I don't think the jumpers are too bad of an idea. There's a bit of play so the headers don't have to be perfectly aligned.

    I do agree with the idea of using wire to join the boards together. As I mentioned earlier, on the Rev B boards I extended the solder pads to the edge of the board to hopefully make the boards easier to join together with wire and solder or possibly with only solder.

    An even better alternative to having arrays joined together is to have them all on the same PCB.

    I'm seriously thinking of making a 4x4 array of arrays with the 10cm x 10cm boards. But now I need to decide if I'm going to move the MAX7219 chip to the back of the board. It sure seems like it would help reduce any heat build up problems to have the chips on the back of the board.

    It was a pain to get all those traces to fit on such a small board. I suppose it will be easier the second time around.
  • GadgetmanGadgetman Posts: 2,436
    edited 2014-01-18 12:37
    A 2x4 may be just as desirable for some.
    (Especially if they don't enjoy soldering SOIC chips all evening... 8 is about my pain threshold.)

    I assume that the boards won't be designed to be separated from each other?
    (That might make the layout a bit easier, and possibly leave room for a couple of mounting holes for screws)
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-18 12:43
    Gadgetman wrote: »
    I assume that the boards won't be designed to be separated from each other?
    (That might make the layout a bit easier, and possibly leave room for a couple of mounting holes for screws)

    I've going to try to keep the traces away from the array boundaries so they boards could be cut into smaller arrays without losing any traces. I'm moving the MAX7219 chip to the back of the board which means the resistor and cap can be on the top and not near the edge.

    I'm going to try to keep the traces within the array headers so there's more room for cutting by I might need to use one of the edges if I can't fit the traces all down the center section.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-19 06:31
    Before I go any further with the design, I wanted to ask for some feedback.

    Here's an attempt of fitting 16 arrays on a 10cm x 10cm board. I started bring the 5V line out to the corners of the board. I plan to also have a ground connection at each corner (there will likely be a copper pour for the ground on both the top and bottom of the board) but I'm not sure if this is a good idea.

    Front
    attachment.php?attachmentid=106282&d=1390141023

    Back
    attachment.php?attachmentid=106283&d=1390141024

    I'm using big fat traces (20mil) on the right side of the board to connect the clock, latch and power lines. I'm sure I could fit some more mounting holes if I used thinner traces. I'm thinking I would be nice if there were mounting holes so two rows of arrays could be mounted. I'll leave the four corner mounting holes and add four more on each of the side edges.

    I'm thinking it might be useful to have an extra row of input headers close to the edge of the board. I don't see a need to have and extra row of output headers since the right edge of the board will need to be cut away if someone wanted to extend the arrays on the right side.

    My plan is to add an extra set of input headers close to the left edge of the board for arrays A1 (top left corner) and C1 (two arrays down from A1).

    I was able to keep all the traces within the eight holes used to connect with the LEDs. There's more than 0.1" of space where the arrays may be cut horizontally. There isn't as much room to make vertical cuts but the copper ground plane won't extend between the two sets of headers (where one array end and another begins) in hope this will reduce the chance of shorts when the arrays are separated.

    The only trace running between the edge LED connectors is the data line. This line won't be need if the arrays are separated anyway so it runs right down the middle of the space between arrays.

    There's a 0603 pad for a 0.1uF cap on each array. I'm wondering if I should add some pads for extra caps around the edge of the board?

    Would some sort of power connector other than 0.1" headers be useful?

    Any suggestions?
    624 x 627 - 65K
    619 x 621 - 59K
  • GadgetmanGadgetman Posts: 2,436
    edited 2014-01-19 07:07
    Looks good!

    I assume that if you want to build a 4x8 or larger panel, it's no big problem of cutting the panels and replacing the traces with wires.

    Not too fond of 0603 SMTs, though.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-19 07:37
    Gadgetman wrote: »
    Looks good!

    I assume that if you want to build a 4x8 or larger panel, it's no big problem of cutting the panels and replacing the traces with wires.

    Correct. I should add an easy way to reconnect the data lines of the cut boards so a long wire wouldn't be needed.

    Maybe something like this?

    attachment.php?attachmentid=106284&d=1390145564

    I circled the additions in red.
    Gadgetman wrote: »

    Not too fond of 0603 SMTs, though.

    It looks like I could make them 0805 size but anything larger would require a lot of redesign.
    489 x 584 - 62K
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-01-19 15:44
    I added some additional mounting holes to make it easier to mount 4x2 arrays. The back side of the board includes lines showing where to cut the PCB to separate the individual arrays (or groups of arrays).

    Front

    attachment.php?attachmentid=106289&d=1390174066

    Back

    attachment.php?attachmentid=106290&d=1390174067

    I'll probably add labels to the edge headers on the back of the PCB.

    The top five pin header on the left edge can be used to control all 16 arrays. The lower 5-pin header can be used to control the bottom 8 arrays.

    I've added a silkscreen line to the various data lines to hopefully make the data lines easier to follow. I added the holes to make accessing the data lines easier when making long displays.

    I'm not sure if I'm going to switch out the 0603 passives or not.

    It would be possible to fit 25 arrays on a 10cm x 10cm but my DipTrace license won't let me place more the 18 of these arrays (too many pins).

    I think the mounting holes around the edge could be useful so I don't mind limiting the board to 16 arrays.
    566 x 565 - 113K
    558 x 556 - 96K
Sign In or Register to comment.