Review: FG-100 DDS Function Generator

I don’t have a signal generator, or more specifically I don’t have a low frequency signal generator or a function generator. Recently this fact collided with my innocent pleasure in buying cheap stuff of sometimes questionable quality. A quick search of your favourite e-commerce site and vendor of voice-controlled internet appliances turned up an FG-100 low frequency 1Hz to 500kHz DDS function generator for only £15 ($21), what was not to like? I was sold, so placed my order and eagerly awaited the instrument’s arrival.

The missing function generator is a gap in the array of electronic test instruments on my bench, and it’s one that maybe isn’t as common a device as it once might have been. My RF needs are served by a venerable Advance signal generator from the 1960s, a lucky find years ago in the back room of Stewart of Reading, but at the bottom end of the spectrum my capabilities are meagre. So why do I need another bench tool?

It’s worth explaining what these devices are, and what their capabilities should be. In simple terms they create a variety of waveforms at a frequency and amplitude defined by their user. In general something described as a signal generator will only produce one waveform such as a sine or a square wave, while a function generator will produce a variety such as sine, square, and sawtooth waves. More accomplished function generators will also allow the production of arbitrary waveforms defined by the user. It is important that these instruments have some level of calibration both in terms of their frequency and the amplitude of their output. It is normal for the output to range from a small fraction of a volt to several volts. How would the FG-100 meet these requirements? Onward to my review of this curiously inexpensive offering.

Noisy as Sin

The package duly arrived, and inside was the unit itself with no power supply or instructions. It is well-presented in an ABS enclosure a little bigger than a pack of cards with a custom front panel for the buttons, LCD, a BNC output, plus a knob for the amplitude on the right hand side. On the left hand side is a power jack to supply the required 5 volts. Handily the jack is the same size and polarity as the one used on older 5 volt Nokia phones, so a rummage through the wall wart box yielded a suitable adapter. I’d have expected the ubiquitous micro-USB in 2018, or at least a USB-to-power-jack cable, but sadly neither were present.

A few transients showing on the 1kHz sine wave.
A few transients showing on the 1kHz sine wave.

Upon power-up, the display lit up with “Wave: Sine” and “Freq: 100000”, and a flashing cursor in the frequency display. There are two modes to the interface, this one in which the waveform can be set, and another in which they are locked while the generator is running. There is a “Run/stop” button to toggle between the two and enable the output, a “Mode” button to select between sine, square, triangle, sawtooth, and reverse sawtooth waveforms, and a mildly inconvenient three-button interface to select frequency. There is also a switchable filter and a switchable DC offset facility. Unfortunately it has no capacity to remember the last settings used, so it will always start with 100kHz.

Evaluating a signal generator is an exercise largely performed with an oscilloscope, in that a modern ‘scope also contains the functions of a frequency counter and through its FFT capability, a rudimentary spectrum analyser. The FG-100 was hooked up to the trusty Rigol, and it’s worth saying that a variety of different termination resistors were used in these tests and were found to make little difference to their outcomes.

This is a low-frequency generator, so on first activation it was set to 1kHz. There were some visible transients on the waveforms, whichever type was selected. The amplitude was variable from 0 to 24 volts peak-to-peak, and if the DC offset feature was enabled the waveform could be shifted from about -10V to +10V. There is no calibration of any sort upon either offset or amplitude, but all frequencies measured were what the generator claimed it was producing.

At 10kHz that's not a sine, it's a sin!
At 10kHz that’s not a sine, it’s a sin!

As the frequency was increased there appeared visible distortion on the sine waveform, starting above about 5kHz and becoming really pronounced from 10kHz upwards. Looking at the waveform it is similar in appearance to crossover distortion on a poorly designed class B amplifier, though it is seemingly not subject to such treatment. The distortion increases to the point at which all types of supported waveform approximate to a triangle at 50kHz, after which the amplitude tails off.

Measuring the low frequency square wave rise time at a pedestrian 25μS backs up this discovery, it is evident that this is no 500kHz device. Stepping through the frequency range it produces a detectable signal of some sort all the way up to the 999.999kHz maximum on its interface, but it is pretty evident that its usable bandwidth is only below 50kHz.

Well designed, but let down by poor components?

Inside the FG-100, and despite its performance shortcomings it's a physically well-designed piece of kit.
Inside the FG-100, and despite its performance shortcomings it’s a physically well-designed piece of kit.

On the back of the enclosure are four screws, these are long M3 threaded bolts that screw directly into the ABS, they are not the expected self-tappers. Removing the lid reveals the FG-100’s secret, there is no dedicated DDS chip at all but an ATMega328 in a socket at its heart. Other components are what looks like a resistor ladder DAC, a switching power supply chip, a couple of TL072 op-amps for signal conditioning, and an HD4480 clone LCD display that is also socketed. The switches did not seem to be of especially poor quality, and each one had a plastic cap for the front panel.


So given my investigation of the FG-100, what’s the verdict? It’s fairly obvious that I bought it mostly in the continuance of my occasional series of reviews of cheap stuff rather than in the expectation of a high quality instrument, and it’s thus fair to say that it will not join my bench as my everyday function generator. It’s no diamond in the rough, though it’s technically using DDS to create waveforms it has no dedicated DDS chip, its waveforms exhibit distortion and transients, its bandwidth is nowhere near that advertised, and it has no amplitude calibration whatsoever.

It’s a pity because its construction shows some attention to physical design detail, but I can’t honestly recommend that anyone add one to their arsenal of test gear. For your £15 you get an Arduino in a box with a display and a load of buttons, along with a bit of questionable signal conditioning circuitry. Assuming that its designer did originally create a half-decent low-frequency function generator I can only conclude that it has been let down by poor quality or counterfeit components in its analogue section, perhaps at some point I’ll try reverse engineering it to find what’s up. A quick look online finds most other suppliers carrying them for a bit more than what I paid, so perhaps I even got suckered with some kind of knock-off.

You’re probably asking why anyone would have expected more for such a small outlay and you’d be absolutely right, but then again if you’ve followed my reviews in this vein you’ll be aware of the joy to be found in poking into poor quality hardware. It’ll join the comical multimeter and the disintegrating desoldering pump. But lest you think all £15 purchases are junk you should take a look at the much better temperature controlled soldering iron and pocket oscilloscope.

from Blog – Hackaday

Thoughts or comments?