Close
0%
0%

384:LED

Mini (1.44'' x 0.94'' or 24mm x 37mm) 8X16 RGB LED Array. 128 RGB LEDs with three LED chip each gives 384.

Similar projects worth following
This is a miniature RGB LED array. There are 8x16 SMD RGB LEDs so that you get 8*16*3=384 individual LED chips. The LED PCB will be stacked together with a control PCB of the same size.

After some time of thinking about different configurations (RGB LEDs or single color? and size) there is now a more sable of idea of this project. older thoughts on this project you can see in the first logs.

Hardware

For this project I designed two PCBs. A control PCB and a LED PCB. My goal was to fit them both in a small panel inside a 5x5 cm square to use cheap Chinese Manufacturing offers. Both PCB to have the same size and will be connected with 50mil / 1.27mm pin headers. The LED PCB will be stacked on top of the control PCB.

LED PCB

On the LED PCB you will just find the 0404 SMD RGB LEDs. All columns and rows are accessible via the pin headers at the sides. The LEDs are common anode. So the eight rows are the anodes (plus) and you have 16x3 = 48 (16 columns by 3 colors) connections for the cathodes (minus). All led driving and current limiting happens on the control PCB.

Control PCB

On the control PCB you will find everything to drive the LEDs. I will use three (one for each color) 16bit LED sink driver. The current of this drivers are set by only one resistor and they are controlled like shift register. I will use MBI5026 but there are many compatible drivers available (for example MAX6971 or SCT2024CSSG).

The rows are controlled by discrete P-channel mosfets. To reduce the space needed I will use dual Mosfets.

On the control PCB there I also a Microcontroller. I will use a ATmega328p. The ATmega controls the LED sink drivers via its SPI interface and the row Mosfets via eight IO lines. There are connections for UART and i2c to get some data into this later.

Software

...

Errata

  • AVCC of the Atmega should be connected to VCC, because it powers needed IO-pins. I fixed this with a wire
  • When using the hardware SPI in Master mode, the MISO pin is always input. But on the PCB it was used as for the latch output. I fixed this by connecting MISO with SDA (both available on a test pad) and using the SDA pin for the Latch output.

Notes

Possible dual p-fets:

PartI_D [-A]R_ON ( -4.5V) [mΩ]R_ON ( -2.5V) [mΩ]R_ON ( -1.8V) [mΩ]
Si3993DV1.6245
Si3911DV2.2/1.8/1.5145200300
IRF58102.9/2.390135
BSL308PE2130
BSL314PE1.5230
NTGD3133P2.2/1.6145200
FDC6306P1,9170250

-

schematic control rev0(1).pdf

Adobe Portable Document Format - 1.76 MB - 05/05/2016 at 19:55

Preview

  • 128 × 0404 RGB LED
  • 1 × ATmega328P Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 3 × 0603 Resistor
  • 5 × 0603 Capacitor 100nF
  • 4 × SOT23-6/TSOP6 dual P-FET

View all 8 components

  • First Animation

    Alex06/15/2016 at 17:57 7 comments

    Some first basic rainbow animation is now running as a demo:

    The video is also in better quality in the Youtube Playlist.

  • PWM for global brightness

    Alex05/16/2016 at 18:45 0 comments

    with 100% brightness this display is very bright. To change that I added a PWM signal to the output enable line of the drivers. This PWM signal must be faster than the line scanning. Therefore I used only a three Bit PWM, which give me eight brightness steps. The main benefit is, that at least on the lowest brightness it is now also easy to take pictures of it. Here a short video of sweeping tough the brightness.

  • we got color

    Alex05/09/2016 at 21:25 4 comments

    The multiplexing finally works! The Matrix can now show images saved in RAM. Per pixel 8 Bit are used (RRRGGGBB). Here is a image of the result:

    photographing this is not easy because of the multiplexing. This can be also seen in this image by the different brightness of the lines. But the human eye is worse then this camera. So you do not see it.

    The image "file" for that looks like this (I used some defines for the color values):

    { {WHITE, YELLOW, CYAN, GREEN, PINK, RED, BLUE, BLACK, ...},
      {WHITE, YELLOW, CYAN, GREEN, PINK, RED, BLUE, BLACK, ...},
      {WHITE, YELLOW, CYAN, GREEN, PINK, RED, BLUE, BLACK, ...},
      {WHITE, YELLOW, CYAN, GREEN, PINK, RED, BLUE, BLACK, ...},
    ...};

    compared to the file extract, the display is rotated by 180° on the image. I should really mark the upper right corner somehow to make the images right orientated.

  • Soldering and first testing

    Alex05/05/2016 at 19:39 3 comments

    The first PCB is soldered now. Every thing does fit.

    During soldering and the later Testing I found some mistakes in the Schematic:

    • AVCC of the Atmega should be connected to VCC, because it powers needed IO-pins. I fixed this with a wire
    • When using the hardware SPI in Master mode, the MISO pin is always input. But on the PCB it was used as for the latch output. I fixed this by connecting MISO with SDA (both available on a test pad) and using the SDA pin for the Latch output.

    For testing I wrote some firmware to sweep through all LEDs. The result can be seen in this little video:Next I will write some more advanced firmware.

  • new control PCB arrived

    Alex05/04/2016 at 16:27 0 comments

    The new control PCB arrived. Now the SOT23-6 P-fets do fit on the PCB. Will solder one soon.

  • what happend to the tiny 0404 RGB LEDs?

    Alex04/24/2016 at 12:57 0 comments

    I an earlier log I did show a image of these tiny 0404 RGB LEDs. These LEDs were not the right for the footprint I used in this project. But I started I new project with the 0404 LEDs. Pleas take a look at #192:LED. If you want to see what will/could happen to this LEDs And pleas like or follow it.


  • new LEDs are working & new control board layout

    Alex04/17/2016 at 18:09 3 comments

    The new LEDs are the right ones. Now at least the LED PCB do work. Here is a picture of the soldered LED PCB:

    I also redesigned the control PCB: Now the bigger SOT23-6 Transistors do fit and it is inside of OSH-Park's Manufacturing specifications. The new board for the contol PCB are already orderd. So I hope I will have a first working prototype soon.

  • somehow this project is doomed .. or I do not carefully enogh check footprints

    Alex04/06/2016 at 19:38 7 comments

    I last logs I wrote about two errors and how I thought I would could fix them. But now the errors did strike back. I think it was mostly may fault.

    First the p-fets. Well TSOP6 is the same as SOP23-6. Could have noticed that. I would need TSSop6 to use the original boards. But in TSSOP6 you do not get the footprint I needed. So the controller board is not fixed.


    Second the LEDs. There are two different pinmaping schemes for it. I I did order the wrong. Well that is what happend if you sort them by price on aliexpress. Here are two pictures from aliexpress:

    Different position of the common Anode Pin!

    ill now try to get the right LEDs. And in parallel redesigning the controller board. If the new LEDs do work I will order only a new controller board. If not I will maybe order both new (or abort this project out of frustration).

  • LED footprint fail is not so bad

    Alex03/18/2016 at 20:08 2 comments

    In the last log I did wrote that I did used the wrong footprint for the LEDs. Well it is more the wrong LED for that footprint. The footprint was not a wrong invalid size, I did only used one for a little bit bigger LED. So I do not need to order/design new boards. Ordering new LEDs is cheaper and probably also faster. So both erros are solved by ordering fitting parts.

  • double fail

    Alex03/17/2016 at 22:49 0 comments

    The PCBs did arrived today. But there are two errors in my design, which I should have noticed. First the footprint of the p-fets is wrong. SOT23-6 is much bigger than TSOP6. This error could be fixed by getting other p-fets, but the second error is wore.

    Double checking footprints of cheap Chinese LEDs seemed to be not enough. After some frustrating soldering I did noticed that I did used the wrong footprint for the LEDs. Some how I did make them to big. So it is very difficult to solder all four pads with contact.

    So how will it go on? I will redesign the PCB. Mostly I will just change the LEDs footprint I think. and I will get right p-fets. In this way I need only new LED PCBs.

View all 15 project logs

Enjoy this project?

Share

Discussions

zpekic wrote 07/20/2022 at 05:44 point

Congrats on so many great LED projects - lots to learn from here! Btw, there was side discussion elsewhere if LEDs could be used as diode ROM memory (connecting decoded rows (address) to columns (word bits)). Asking the LED expert here if that is feasible? 

  Are you sure? yes | no

oshpark wrote 09/29/2017 at 03:58 point

It was awesome to see it in person!

  Are you sure? yes | no

TinLethax wrote 06/10/2017 at 13:54 point

You say 0404 SMD ¿ 

Or other XX,XX smd ? Most 0404 is expensive 

  Are you sure? yes | no

Adam Oakley wrote 06/14/2016 at 21:01 point

I love the PCB design, and this project looks very cool. Did you use a soldering iron to solder all the LEDs or did you use reflow?

  Are you sure? yes | no

Alex wrote 06/15/2016 at 13:51 point

Thanks
I used reflow solderimg. For the LED-PCB I used a stencil to apply the solder paste an then a hot air station. 

  Are you sure? yes | no

Erik Sternå wrote 06/14/2016 at 08:21 point

Where did you find the LEDs (what are they called)? I was thinking of doing a similar projects a couple of years ago, but I couldn't find any small RGB-LEDs.

  Are you sure? yes | no

Alex wrote 06/14/2016 at 14:53 point

Most sellers call them 0603 RGB LEDs, although the correct would be more 0606 or 0605. I did get them via aliexpress. But they are also available at more western distributors like digikey or mouser. The bad thing is that there are different pin mappings availible. 

  Are you sure? yes | no

trax wrote 06/13/2016 at 06:16 point

Excellent PCB design skills :-)

  Are you sure? yes | no

Alex wrote 06/13/2016 at 14:39 point

Thanks

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/14/2015 at 21:12 point

Do you try to make a larger version of www.ebay.com/itm/272051542424 or  http://www.ebay.com/itm/390408598210  ?

  Are you sure? yes | no

Alex wrote 12/14/2015 at 21:37 point

at least displays like this were part of my inspiration. 

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/14/2015 at 19:30 point

That's one way to learn about thermal management ;-)

  Are you sure? yes | no

Alex wrote 12/14/2015 at 19:41 point

Do you think that is is going to be a problem? I was planning to drive the LEDs at maximum half brightness.  

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/14/2015 at 19:55 point

you will find out by measuring the temperature after a minute or two.
Meanwhile : Keep your traces as wide as possible, use more vias to spread the heat on the other side of the PCB...
What kind of application do you have in mind ?

  Are you sure? yes | no

Alex wrote 12/14/2015 at 20:06 point

Mostly showing numbers our text. Perhaps some internet controlled display. Making the traces as wide as possible and addin vias is a good idea, I will do that. 

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/14/2015 at 20:08 point

Ah so it's a matrix display ? I thought it was for lighting... and it didn't make sense with the wiring I infered :-D

  Are you sure? yes | no

Alex wrote 12/14/2015 at 20:48 point

Yes it is for displaying. I am planing to show 4 charactesr on one of these PCBs with 5x7 LEDs each.

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/14/2015 at 20:50 point

then some space is missing between the characters...

  Are you sure? yes | no

davedarko wrote 12/14/2015 at 21:49 point

characters could be displayed smaller, if shown steady. I always prefer 3x5 for time - still have two of those MAN2A displays that I want to use for a watch. Looking forward to see updates :)

  Are you sure? yes | no

Alex wrote 12/14/2015 at 21:35 point

the space is part of the 5x7 - at least this was my plan. I did use no space between to make it posibble to scroll longer words over it.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates