Greetings all. Been stalking the forums here extensively recently but this is my first time posting.
Even though I've been working on hobby projects for a while and definitely understand the importance of resistors, I'm wondering if they're absolutely necessary in this case.
The project is a giant countdown clock, controlled by an Arduino UNO. I'm using all of the digital output pins to drive two custom seven-segment displays, constructed with 12v warm white LED strips.
I'm using 2N3904 NPN transistors for each of the pins. Each pin is connected to the (+) base of the transistors, whose (-) collectors are connected to ground and (-) emitters are connected to the negative leads of the strips. The positive leads of the strips are connected to the 12v power supply.
The 12v power supply is regulated before it makes its way to the Arduino using a 7805. When I use this, and my code, I'm able to make a big impressive countdown clock.
Here's the big question, and I'm sorry if it sounds noobish. Do I really need the resistors between the Arduino output and the transistor base?
During my first iteration of the project, I tried without them and it seemed to work just fine. In many people's documentation regarding these transistors and LED strips with the Arduino, 1 Kohm resistors were mentioned and used. I used them and it dimmed my display (expected) but more than I was hoping.
I found others using 220 ohm resistors which brightens the display but still not matching the level of the unresisted setup. And then I found someone else claiming they weren't needed because the resistors in the strip did all of the necessary work, and the output of the digital Arduino pins is only about 40 mA anyway at max (this transistor is rated for 200mA).
So, I tried the approach without resistors and I was able to run the clock for hours without noticing any ill effects. I figured if the transistors burned out during this experiment, I could easily replace them (they were cheap) but I never needed to do that. Will these transistors (or something else) eventually burn out due to the lack of resistors between the Arduino and the transistors' base or should I be fine?