I did a quick search and the 1st thing I found was the LM3406
. For RGB you'd need 3 of them, and they are surface mount so you'd have to make a board or otherwise deal with that.
If you want DMX, you'd have to program that into your Arduino (and build the interface circuit).
I'm looking for the most efficient(least amperage) and cost effective way to power several 3w RGBs (300-350ma...
... Using LM317s per channel might be the most cost effective, but, certainly not most efficient with 3v dropout per module.
regulator will approximate 100% efficiency (if properly designed). That means you can get more current
-out than goes in (at less voltage
-out than goes in), and almost no power is dissipated by the regulator itself. The switching circuit is going to require an inductor, which adds a bit to the complexity & cost.
The power loss (and associated heat) with any
linear device (like the LM317 or a resistor) depends on the current and voltage drop across the device (P = V x I). It's not unusual for the regulator (or limiting resistor) to waste more power than goes to the LED.
certainly not most efficient with 3v dropout per module.
The voltage drop is the difference
between your power supply voltage and the LED voltage. You'll have more
than a 3V drop ONLY if your power supply is 3V higher than the rated LED voltage.