I Made 8x8 LED Matrix Display With Autoconfig

https://github.com/shawnlg/Arduino-LED-Matrix-Message-Display

This sketch allows you to wire up an 8x8 LED matrix without knowing which pins are for what. An easy config will guide you through setting up the display. Then you can enter and display messages using a knob and push-button to display on the matrix. No external components are needed besides the matrix, push-button, potentiometer, and Arduino.

I do not use resistors to limit the current through the LEDs. Instead, I use very short pulses of on-time. I have had a message scrolling for weeks at a time without damage to the Arduino or LED matrix.

Feel free to modify the code for your own use. I do not use shift registers or LED controllers since there is enough pins on the Arduino for the matrix, push-button, and potentiometer.

I have had a message scrolling for weeks at a time without damage to the Arduino or LED matrix.

Well, I've been smoking for weeks and have not suffered from any lung cancer in the slightest.

PaulRB: Well, I've been smoking for weeks and have not suffered from any lung cancer in the slightest.

Well then put resistors on there. I'm just saying I didn't and it was fine. And considering the parts for the project cost about $2 and it's for little kids to put together, I didn't want to worry about resistors. I'm not making a component for the next space shuttle. You should quit smoking, BTW. You are worth more than $2 electronics components.

Shawn

Don’t worry, I lied about the smoking thing, to make a point about damage that may not be immediately detectable.

Like with smoking, perhaps we should not give kids bad habits!

The fact that you are not using resistors marks you out as someone who knows nothing about electronics. Short pulses do not limit the current in any way. The peak current is the same if the pulse is short or long.
If you are arrogant enough to try and tell people that resistors do not matter then you will not take the advice that you are wrong. But be prepared for people to mock you and shoot you down at every turn.

I'm not an expert in electronics but I know a few things.

First, from what I've read about LEDs, they can handle much more than the max current for a very short time. It's the heat that damages them, and if the heat has no time to build up, they will be fine.

Second, the limiting current will be the max current of the output pins of the microcontroller, so it's not an infinate amount.

Third, have you never tried something to see what would happen, even if it might damage it? You've never zapped an electrolytic capacitor with high voltage just because? Or overcharge a lithium battery (in a safe place outdoors of course) just to watch it burst into flames?

Fourth, the code will work just as well with or without resistors - I just commented that it worked fine for me without them. It's not the end of the world, and I'm not leading your children into sin. It was just a remark. I'm probably the least arrogant person I know. Listen to yourselves - you wouldn't talk to your mother like that.

shawnlg: Second, the limiting current will be the max current of the output pins of the microcontroller, so it's not an infinate amount.

And that is...?

An output pin has no current limiting circuit. The only limiting factor is the 'on' resistance of the output mosfets. That could be ~40ohm. If you're using LEDs with a Vf of 3.3volt (white, blue, green), then the peak current is (5-3.3)/40= ~42.5mA. Or (5-3.3)/80 = 21.25mA with one pin sourcing and another pin sinking (matrixed). That might work for a long time. Red high efficiency LEDs have a Vf of ~2.4volt. Standard red/green LEDs could be 1.8-2.2volt. Theoretical peak current with 1.8volt LEDs is ( 5-1.8 ) / 40 = 80mA or ( 5-1.8 ) / 80 = 40mA. Leo..

shawnlg: I'm not an expert in electronics but I know a few things.

Sadly most of those things you think you know are wrong, incomplete or inaccurate .

First, from what I've read about LEDs, they can handle much more than the max current for a very short time. It's the heat that damages them, and if the heat has no time to build up, they will be fine.

This is inaccurate, first off you have a very unscientific notion of heat. It is not heat that damages semiconductors it is temperature. Heat does not build up but temperature does. What is important is the temperature of the semiconductor chip itself. By the time the package gets hot the chip has long since burned out. Not all LEDs are rated for pulse operation, this is determined by the specific heat of the chip and has little to do with the chip to case thermal resistance. Basically you can not say they can handle much more than the max current for a very short time, because it depends on the LED. But there are other mechanisms at work here as well. First there is the mechanical shock on the bonding wire caused by the current pulse through the LED, then there is the depletion of charged carriers in the semiconductor caused by the current density.

Second, the limiting current will be the max current of the output pins of the microcontroller,

This limiting current of the output pin is at roughly twice the stress rating of the controller where damage starts to occur. Even if the LED were unscathed the Arduino would not be.

Third, have you never tried something to see what would happen, even if it might damage it?

http://www.thebox.myzen.co.uk/Tutorial/LEDs.html

Fourth, the code will work just as well with or without resistors

Yes I will give you that one. But then if you just said about the code there would be no argument.

It's not the end of the world, and I'm not leading your children into sin.

Not mine your not, one knows and the other doesn't want to know. But it is other peoples children that are the worry. Seeing things on line unchallenged might lead them to think you knew what you were talking about.

Listen to yourselves - you wouldn't talk to your mother like that.

Wrong again, when she was alive I often told her the truth.