Interesting signal generators

Function generator in an important tool in electronics laboratory. It allows to generate different types of electrical waveforms over a wide range of frequencies.

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.
Offset: 0.5pp-5Vpp
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:

The output signal types: sine, square, triangle, positive and negative sawtooth, positive and negative staircase, user-defined arbitrary waveforms, and servo control signal
Frequency range: 0 – 200KHz (sine)
Frequency resolution: 1Hz
Frequency accuracy: 0.149Hz (when F> 40Hz time), 0.000596Hz (when F <= 40Hz time)
Cycle Resolution: 1ms
Amplitude range: 0 – 10V pp
Amplitude accuracy: 0.1V
DC offset range: -5V – + 5V
DC offset Accuracy: 40mV
Waveform memory depth: 256 bytes
Maximum sample rate: 2.5Msps
Trigger Input Level: High 3.5V (minimum), low 1.5V (maximum)
When the trigger waveform output delay: less than 5 subtle
Synchronous output: TTL level
Output Impedance: 50 ohm
Power supply voltage: 15V DC
Supply Current: <150mA (no load)
Other versions:  DIY FG085 DDS Digital Synthesis Function Generator Kit With Panel, FG085 DDS Digital Synthesis Function Generator Kit No Panel, Frequency Generator Kit – FG085, miniDDS assembled,  Function Generator DIY KIT by JYE Tech FG085

Here are two videos of this signal generator:

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.


  1. Tomi Engdahl says:

    One related video:

    EEVblog #806 – Siglent SDG2000X Arb Function Generator First Look

    Dave takes a look at the new Siglent SDG2122X / SDG2042X Arb Generator and compares it to the Rigol DG4162 and the older Siglent SDG5082.
    1.2GS/s arb gen for US$499!

  2. Tomi Engdahl says:

    Alternate Firmware for FG-100 DDS Function Gen

    Reverse engineer the FG-100 pinout and develop alternate firmware that improves some of the shortcomings of the default firmware.

    The FG-100 is a cheap function generator available off Ebay.

    Unit is powered by an ATMega48 (socketed 28pin DIP), waveforms are generated using an 8Bit R2R ladder off of PORTD. As the micro is socketed I will be developing the alternate firmware using a pin compatible ATMega328P.

    After a couple more hiccups with gcc-avr and optimisations I have a waveform being generated on a breadboard emulation of the FG-100 R2R DAC.

    Tim Savage wrote 5 days ago

    Just dropped the micro into the FG-100 and everything worked as expected. I’ve got a lot of work to do on the firmware now.

  3. Tomi Engdahl says:

    Upstart $500 Arbitrary Waveform Generator Worth a Look;

    Siglent’s new arbitrary waveform generator is a pro-level instrument for a (well-off) hobbyist price.

    Siglent sent me their very new SDG2042X arbitrary waveform generator (AWG), which is made in China, and, well, American competitors may find themselves squeezed by the product. It’s in a hefty metal box with a plastic handle and shock protectors and feels as solid as anything from the big guys. If “Siglent” were erased from the label I’d assume it was from Keysight or Tektronix.

    Siglent costs $500 and the others are (at least) ten times the price.

    The unit has two independent and duplicate channels. So you’re getting two AWGs in one.

    For the basic built-in waveforms memory is sampled at 300 MS/s. However, and possibly uniquely to this unit, another clock interpolates the data four times for each sample period. The result is an effective rate of 1.2 GS/s. Now, that’s on the built-in signals like sine, square, etc. For arbitrary waveforms the unit samples at 75 MS/s.

    Siglent’s new arbitrary waveform generator

  4. Tomi Engdahl says:

    Economical signal generators operate up to 5 MHz

    The Owon AG051 and AG051F single-channel multifunction generators from Saelig produce standard and arbitrary signals at up to 5 MHz for under $200. Housed in 9.25×4.3×11.6-in. benchtop enclosures, these DDS-based instruments deliver 125 Msamples/s with 14-bit vertical resolution.

    The AG051 and AG051F cost $185 and $199, respectively.

  5. Tomi Engdahl says:

    A First Look – DG4102 Function, Arbitrary Generator

  6. Tomi Engdahl says:

    Rigol DG4062 function/arbitary waveform generator teardown

    A look inside Rigol’s new function/arb generator reveals unexpectedly high build quality for a Chinese product..

  7. Tomi Engdahl says:

    Function generator kit

    I found a cheap kit XR2206 Function Signal Generator DIY Kit Sine Triangle Square Output 1HZ-1MHZ that seems to suit for me well.

  8. Tomi Engdahl says:

    Funktion Generator
    An AVR DDS function generator.

    Leading on from my reverse engineering project to re-create the firmware for the FG-100 unit, this is a project to build a function generator from scratch. Fixing many of the shortcomings of the FG-100 unit.


Leave a Comment

Your email address will not be published. Required fields are marked *