In a recent project of mine, requiring the use of a 7-segment 4 digit LED, my Arduino Pro Mini died. It died after I let it run a test sketch displaying a running count of seconds and refreshing the LED’s accordingly (this was after a couple of hours). That is it now “freezes” after a few seconds of operation (running the “blink sketch” with nothing attached) and will not restart unless I unplug power and allow it to cool down.
The 4-digit LED module (common cathode, Vf=2V, If=40ma max per segment) is driven directly by digital I/O with a 670 Ohm current limiting resistor on each segment (this is for testing). Only 7-segments are used (decimal point not required). For the final design, my plan is to use an NPN transistor on each common cathode (to sink the total per digit power) and then lower the current limiting resistor.
The basic question is what caused the board to die? My assumption was/is that above wiring (on a breadboard that is) stays safely within power limits.
My basic calculations were based as follows:
Segments (A-G) connected to PB0-PB3 and PD4-PD6
Common cathodes (digits 1-4) connected to PC0-PC3
Total I/O sourced power (worst case) is 5ma x 7 = 35ma
Total I/O sinked power (worst case) is 5ma x 7 = 35ma
Total Pro Mini power = 35ma + 35ma + board power (<15ma at 20 Mhz) = 85ma
Power is supplied to Arduino Vdd from USB (FTDI breakout board). All common cathodes are switched to input (high impedance, no pullup) before the single cycled digit is set to output/low. Nothing else is connected to the Mini Pro (onboard led pin 13 is input/high impedance).
Is there something I have overlooked in the above with respect to power requirements?