Function generator via Arduino code (sawtooth, sine, and square wave)

I second that. It is useful for sine waves up to about 3 to 4 MHz with a 25MHz clock . After that the waveform gets a bit distorted due to the limited number of samples. Also the output decreases as the output frequency increases, again due to the sample rate.