There are various methods of creating function generators with an Arduino, and the simpler versions generally rely on an external digital to analogue converter IC and large sine wave tables in the sketch to command the DAC, or even simple R-2R resistor networks. However a recent phenomenon in the market has been the availability of inexpensive modules with the Analog Devices AD9850 direct digital synthesis IC.
The great thing about these is that you can generate much more accurate waveforms with a tiny amount of code and the Arduino library by Anthony Good. Between that and a tutorial by Tony Robb, you can also create your own inexpensive function generator, with results such as the image below:
Tony has built a usable end product with his Arduino and DDS module, so to find out how visit his interesting website. And for more, we're on twitter and Google+, so follow us for news and product updates as well.