Hello, I am a French student in electronics, and as part of an associative project I wish to create a LED matrix of 74 * 134 (to be calm I left to plan 256 output to be able to make matrices of 128 * 128) I I would like to control everything with an Arduino Uno (I also have an Arduino Mega or Nano but I think that in terms of speed it doesn't change much) I looked on the internet and unfortunately, I didn't find much things concerning someone who would have already built such a large matrix.
so I did my own research and found the 74HC595 shift register which seemed really good for this type of application! I would therefore need 32 74HC595s to control all my outputs, I did some tests on ISIS Proteus to test my Schematic with simply 2 74HC595s and it works
then I started looking to be able to control everything, because you have to go quickly to be able to display shapes, before the code I did calculations, I would like a refresh rate of 60 HZ which is equivalent to 16.67 milliseconds by Hertz (I also specify that with a matrix of 128 *128 I can control around 16,000 LEDs, I personally only want to control 3,000, which reduces the calculations)
to be able to push my system to the limit and be sure of its operation I must succeed in lighting the 3000 LEDs in 16.67 milliseconds, a LED must therefore be lit in 5.56 microseconds after calculation
let's go back to our 74HC595 to light an LED so I have to send 256 bit (because 256 output) in 5 microseconds? ( correct me if you see errors ) a bit of data must therefore be sent in 21.7 nanoseconds, which is very fast and almost impossible by an arduino There I think I have explained everything if you have a question do not hesitate! but I would especially like some ideas to help me control everything
thank you for your answers
Your uno is too slow and won’t have enough Ram to represent the state of your 128x128 pixels even if you store them on 1 bit (you would need 2KB just for that and that is the whole UNO memory)
also I was thinking of storing the basic program on the arduino but providing a module to be able to store the matrix program in an SD card, but in any case speed levels I am afraid that the arduino is bad
At 60Hz you need to perform 60 X 128 x 128 = ~1 million sequences per second, a sequence being fetch the pixel state in memory and set the matrix correctly for display….
It won’t happen with a 16Mhz arduino using an SD card for storage…
hum yes indeed it turns out to be complicated, do you have anything to suggest to me to remedy this? a microcontroller or others? I also have a raspberry at my disposal, could that do the trick? depending on the OS and the program of course
Have you looked at the ESP-32? I don't have one, but speed and memory wise, it's a long ways up from the poor little Uno. Even with the ESP, you might have to reduce your ambitions a bit.
Have you calculated how much current you will need for this big array of LEDs? Will you be building printed circuit boards for this project, or buying something on the market?
Hello, Thank you for your answer, No I don't know the ESP32, and current levels either, if I want to control an LED with an LED I shouldn't in theory consume much, right? I plan to use transistors at the output of my 74HC595 for precisely this and otherwise in terms of the card I plan to do it in my school which has a machine to be able to make cards, do you think that ordering one on the internet would be better?
spend some time fleshing out your hardware requirements. I think you'll have to up your electronics 'game' to understand what it is you're building, and where the limitations will be.
Wrong. A single led can normally take a current of up to 20 or 30mA. That's almost as much as an Arduino.
With the low duty cycles your design would produce (1 in 128) you would need to have the maximum possible current through the led when it is on. Multiply that maximum current by 128 if all the LEDs in a row/column are lit at the same time, and that's a lot of current. But even with a lot of current, because of your low duty cycle, the LEDs will be dim.
I would suggest building your matrix from 8x8 led matrix modules which are driven by max7219 chips.