The Transistor Menace - Questions regarding an Arduino rgb LED project
Looks good to me, except:

If your 12V supply shares a ground with the Arduino, then you'll have a hard time turning the LED's off.  That's because the Arduino outputs either 0V or 5V, which still leaves you 7V driving the transistors.  (through the base resistors, so you shouldn't blow anything up)

If you have separate supplies, one 12V and one 5V, and one of those is isolated/floating, then you can connect the positives together like the old positive-ground automotive standard.  Just make sure you know good and well what voltage the Arduino's negative rail ends up at because the programmer will still assume that that's ground.



Or, you could keep the negative ground to avoid confusion and do this instead:







simulate this circuit &ndash; Schematic created using CircuitLab

Q1, R1, and R2 form a level shifter for Q2, which is the same as you have already:


When Q1 is off, R1 pulls Q2's base all the way up to 12V, turning it off also.
When Q1 is on, it makes a voltage divider between R1 and R2 that turns Q2 on.