Go Down

Topic: LED DOT MATRIX 64x16 (Read 70059 times) previous topic - next topic


what is the principle for learning about the codes, especially those arrays as of this review, Led Dot Matrix 64x16 and also these RG Led Matrix?
Dancopy, I don't understand your question, can you re-phrase?


ok; sorry
How can I learn more easily on codes (sketches) of these matrices as 64x16 and 32x16 RGY?
For example, this sign (~) you told me everything has changed in the code !! how can I know this? There are good books / ebooks that explain about it?
I am very grateful to you




I have buy the same 64x16 LED panel.

It's possible to make a timer min:sec;millis ?

Thank's for help me !


Hi Naudnaud,

Yes this is possible. You should start a new topic for this question.




Oct 22, 2015, 04:24 pm Last Edit: Oct 22, 2015, 04:24 pm by Naudnaud

Thank's to Kaziewip for your program, it work perfectly !!

But i have a probleme with my LED Matrix.

My counter work well, but i have a lot of blinking artefact on the screen:

You know why ?


Nov 25, 2015, 09:21 pm Last Edit: Nov 26, 2015, 05:19 pm by Areeiras
How to rewrite the code for displaying ASCII extended characters like "É" or "ã"?

Thank You.



I'm working 117x24 led display. If anything could give any help with coding that will be great. I'm really having a hard with the coding.
for the rows i used decade counter, and shift register to drive the columns.

My question is How I modify your code to make work for a 117x24.

Plz in any way possible.

thnks in advance


jafleu  - I would suggest that you post a clearly written question of your own in this section , rather than trying to get a response via prior threads. You may get more help. There is also Reddit Arduino where a lot of smart guys post. Good Luck with your project and Happy New Year


Hi, may be anybody can help me. My trouble in shoing text at led matrix. It shows in inverse mode, WHITE TEXT IN RED BACKGROUND but normally must RED TEXT IN WHITE BACKGROUND, have you any ideas?

p.s. i'm using LED matrix 16x64 and arduino nano and Dancopy's shortened_Final_Code_A.ino sketch

image for example



Thank's to Kaziewip for your program, it work perfectly !!

But i have a probleme with my LED Matrix.

My counter work well, but i have a lot of blinking artefact on the screen:

You know why ?
is it posible to get the code you used... please


Has anyone of you tried to port this to another microcontroller? For example an ESP8266?

In this case the direct PORT handling of PORTB would not work. I'm struggling to convert the core of the code to equivalent digitalWrite operations:

      PORTB &=~(3<<(data_R1-8));                                // data_R2 is LOW; data_R1 is LOW;
      PORTB &=~(1<<(clockPin-8));                                // digitalWrite(clockPin,LOW);
      PORTB |= !((buffer[index]>>(7-i)) & 0x01) << (data_R1-8);  // top set of rows
      if (HEIGHT == 32) PORTB |= !((buffer[index+128]>>(7-i)) & 0x01) << (data_R2-8); // bottom set of rows
      PORTB |= 1<<(clockPin-8);                                  // digitalWrite(clockPin,HIGH);

I converted it to:

      byte value = buffer[index];
      digitalWrite(data_R2, LOW);
      digitalWrite(data_R1, LOW);
      digitalWrite(clockPin, LOW);
      digitalWrite(data_R1, !((value>>(7-i)) & 0x01));
      digitalWrite(clockPin, HIGH);

but it is not working. Does anyone know if a special timing is needed for this clock thing to work well and maybe an arduino direct port handling is faster or slower in the right way compared to a 32 bit microcontroller like the esp? When I added delayMicroseconds(10) in between it only got worse.

Regards, Marcus from Heidelberg


Mar 02, 2016, 11:30 pm Last Edit: Mar 02, 2016, 11:35 pm by PaulRB
but it is not working...it only got worse.
Marcus, if it was not working, how could it get worse? Such descriptions are useless to us, we cannot see what you can see. You must describe what happens precicely, or we won't  be able to help.

The esp outputs are 3.3V. Does the display require 5V signals?

Perhaps you should try your digitalWrite() code on a 5V Arduino. This will slow down the refreshing of the display and make it flicker, but at least you can test your converted code before you try it on the esp.



Hi! this is exactly what I'm looking for.
I'm trying to do a GPRS data GET, and then print on the matrix.. but since I need VOID LOOP for each one.. it does not work.
Can you share your code please?

Thank you petabyte and kaziewip for your interesting libraries.
I have my led 64x16 dot matrix from aliexpress.com

Based on petabyte's code I've created an timer/interrupt based version, which runs the matrix in background. In main loop I download data from internet with an ethernetshield an update it on the matrix in fixed time intervals.

Beside the matrix display mechanisme, which could in my opinion be improved, I'm not shure, how the current-limiting could be donne right:

1. I search more data(sheets) of the matrix it selfe. (led peak current, and for how long the peak max shoud last)
2. The colum drivers (shift register 74HC595) seem not to be the right thing for their job: max 35mA current per output, total max 70mA current output for the hole IC, 0.5W max Power disipation
In multiplexing mode, there are much higher peak currents.

3. The row drivers look much more stronger: p-chanel mosfet FDS4953: 5A contiuos current, 20A peak
-> each row is only on for 1/16 time.

4. according to this website, i bought the matrix, it's driven 1/16 constant current. But how should the current be constant when in each row a different count of led's are shining?

5. if one led consumts 10 to 20mA in constant current, it could be peak 100 to 200mA (16x multiplex) a normal led accepts max 10x times the constant current as peak.
The whole matrix is on: 64x 100mA = 6.4A per row, always only one row on. -> 8 shift registers for the whole row: 6.4A/8 = 0.8A continous through ONE shift register. In my opinion something doesnt work right here.

Pleas correct me, if me suggestions are wrong.

conclusen: 1. the shift registers are too weak.
2. the current should be limited individually per row, according to the count of led's on in this row.

Go Up