I'm using Arduino PWM here:
So far, so good. I believe the "tone" heard at slower speeds is the 500Hz.