...High frequency pwm (500 KHz) is used to control the current and keep it constant (300 mA).Low frequency dimming (400 Hz, implemented with override feature, and high enough to eliminate blink) controls the light intensity, We use 12.5 Hz which will be blink. That is what we want....
is this where isolation/opto-isolators come in?
whenever I add in some sort of PWM.. I can always 'hear it' through the speaker..
for 1) you could add very small capacitors to the signal to slow down the edges, and increase decoupling on the LED supply.
and a small capacitor across the input but that will reduce the frequency response of the amplifier
...2. use JFET current sink.change Q1 and Q2 for support high current, and put Q2 on heatsink. connect Vin to output of Arduino DAC.TI App note