A DDS function generator using an ATmega16

I can still remember the piece of rectangular box with lots of buttons labeled 1kHz, 10kHz, 100kHz, 1MHz and everything else in between. Oh it also has a knob connected to a dial dividing a sector into a hundred parts with a series of 7 segments changing dial every time a button is fired– just like old school radio we see at startrek. We commonly call it the function generator and its usually used to inject square waves into your circuits – what for? Mostly for clocking. Here’s a new implementation of the AVR DDS function generator 2.0 (scienceprog.com), it has a different board layout and uses only through hole components for easy construction. It has two outputs one for a +-5V signal source the other is a 0-10V signal source, the voltage levels of the two outputs are reconfigurable using two separate potentiometers. Like the original version it incorporates a 2×16 LCD screen and push buttons for control – press a button to start and stop the signal generation. The circuit’s DAC is just a simple R-2R ladder controlled… Continue reading