Traditionally function generators have been built using analogue electronics. There have been special ICs that have been widely used for this: Exar XR2206 and the Intersil ICL8038integrated circuits can generate sine, square, triangle, ramp, and pulse waveforms at a voltage-controllable frequency. I have used both of those ICs over the years to build function generators.
Later there has been models that use digital electronics for waveform generation. Threre are DDS ICs to generate high frequency sine and square waveforms. It is also possible to use software to generate the waveforms: you can use your PC soundcard or smartphone/tablet to generate audio frequency waveforms. Or the software can run on some suitable microcontroller like in Simple Waveform Genetator with Arduino Due and mBed signal generator examples.
Years ago you had to either build your own signal generator or buy usually a quite expensive signal generator- Lately there has been a push for several very cheap ($15-25) digital function generator kits available from my favourite sources in China. Here is look at several such products (and also some slightly more expensive products):
2.6″ LCD Low Frequency DDS Signal Generator – White + Blue and DDS Signal Generator Low Frequency Test DDS Generator have quite similar specifications:
Operating voltage: DC 7V-9V
DDS frequency range: 1HZ-65534Hz.
High-speed frequency (HS) output: up to 8MHz (1MHZ/2MHZ/4MHZ/8MHZ signal)
DDS signal amplitude of the offset amount can be adjusted separately by two potentiometers;
DDS signals: sine wave, square wave, sawtooth, reverse sawtooth, triangle wave, the ECG wave and noise wave.
The power automatically restore the last used configuration.
Amplitude amount: 0.5Vpp-14Vpp
Output impedance: 20-200 ohms
DDS Function Signal Generator Module DIY Kit Sine Square Sawtooth Triangle Wave offers pretty much the same but comes in it format and has different power supply needs ( +5V / +12V / -12V).
Here is one video one similar looking AVR DDS signal generator kit:
What is inside those? The DDS Function Signal Generator Module DIY Kit Sine Square Sawtooth Triangle Wave kit offered documentation that gives idea how those work: Circuit diagram of DDS generator is very simple using AVR Atmega16 microcontroller clocked with 16MHz, standard HD44780-based 2×16 LCD module, R2R DAC made of simple resistors and LM358N low power dual op amplifier output buffer. This signal generator has two outputs DDS output and High speed (HS). DDS output is used for all other signals that are generated via R2R resistor network and is adjusted via LM358N offset and
amplitude regulating circuits. High speed (HS) signal is direct output from Atmega16 OC1A(PD5) pin. All the signals are generated using software running at AVR microcontroller. The output frequency limitations of the DDS output are probably limited by the software speed and LM358N bandwidth limitations (GBW Typ 1 MHz).
Circuit diagram from documentation:
When going up in the performance there are larger panel instrument type kits and modules in 30-50 Euros price range. One typical design for them seems to be named FG085. DIY FG085 DDS Digital Synthesis Function Generator Kit With Panel advertises with following specifications:
When searching for something more advanced and still cheap, I hapened to see A cheap DDS signal generator article that tells about cheap signal generator found from eBay: “SSD Signal Generator/Counter” from the site for $50. Some Chinese vendors seem to sell indigenous gear. Like my previous examples this one has no enclosure, but does sport a small display with pretty decent controls. This unit generates sine, square (or pulse) and triangle waves from 0 to 10 MHz. It has analog and digital (TTL) outputs. Despite some performance limitations mentioned in the article, for $50 it’s not look a bad little unit, particularly for home use. The article also tells something on the inner working: it turns out an Altera FPGA generates an 8 bit digital signal fed to an R-2R network which is followed by a low-pass filter
Hackaday article Cheap Function Generator Teardown and Improvement tells about another hot cheap signal generator: MHS-5200A that is available for less that $100USD (there are several variations with different maximum frequenciess 6-25 Mhz and prices) at eBay. You can find is a complete teardown and analysis of the function generator. While it sort of lives up to its specs, it’s pretty clear that some design decisions resulted in suboptimal performance (AD812 op-amp used as the final amplifier). Anyways the device is cheap, seems to work and has two independent output channels. The device uses FPGA for signal generating. Besides normal analogue outputs there are also digital outputs.
What makes MHS-52ooA interesting is that besides normal function generator waveforms it can be used as arbitary waveform generator and it can be connected to PC with USB connection. The device comes with some control software, but you don’t have to stick to it because there is protocol information available as the protocol is reverse-engineered. There is also shell script and awk program (and spreadsheet) to allow custom wave settings for MHS-5200A signal generator, So this looks quite interesting.