It is possible to use Arduino Uno as a function generator to produce low frequency waveform.
The advantage of the approach is the possibility of producing customized, complex, time varying waveform.
On the down side, it cannot produce waveform with very high frequencies.
To get smoother waveform, the PWM output frequency of pin 3 of Arduino Uno is increased to approximately 8 kHz.
It is also possible to use DAC to achieve better results.