Summary of 400kHz function generator with ICL8038
This project is a function generator using the ICL8038 IC, capable of adjustable frequency from 0 Hz to over 400 kHz, with tunable amplitude, DC offset, duty cycle, and waveform selection (square, triangle, sine). The design improves waveform quality at high frequencies by minimizing load on the square wave output and replacing the original pull-up resistor with a comparator (LM393 replaced by LM293) to sharpen the square wave edges. This approach overcomes typical distortion issues above 100 kHz, enabling cleaner signals up to 420-430 kHz, suitable for amateur use.
Parts used in the Function Generator with ICL8038:
- ICL8038 function generator IC
- LM393 comparator (initial design)
- LM293 comparator (used for improved response)
- Pull-up resistor(s) for square wave output
- Various passive components (resistors, capacitors) for tuning frequency, amplitude, DC offset, and waveform shaping
Function generator with adjustable frequency from 0 Hz to over 400 kHz, adjustable amplitude, DC offset, duty, and of course the function selection – square, triangle, and sine. Generator based on good old ICL8038 integrated chip generator that gives pretty good shaped signals as for amateur purposes.
This circuit has been designed a little differently than ICL’s note or other similar circuits are suggesting. I tested a bunch of different configurations with different peripherals and chosen the best – so to get good waveshape at 400kHz. I got rid of some of the elements, I added my own solutions. The two ICL chips that i have can oscillate around up to 420-430kHz, and practically we can get good waveforms up to that frequency.
The biggest problem of these circuits generators is strong distortion on sine wave output pin 2 at frequencies above 100kHz – so most of the solutions based on this chip has a limited frequency. I found a workaround by not putting the load on the square wave output from pin 9 (open collector that needs to be pulled up to the power supply). In some way the quality of other waveforms is dependent on the load on this pin. Pull-up resistor is activated only when switching output to the square waveform – with the same switch. I got rid of the recommended in the note 10M pot to “improve” the vaweforms. As it turned out its only making them worse, and add a characteristic spout on the top of the upper half of the sine.
Square output pin 9 with open collector, normally would never be able to give a good square wave at these frequencies. Rising edge depends only on the pull-up resistor and its growing very slowly. If we give too strong pull-up resistor, in turn, the trailing edge will be weak because the internal transistor is too heavily loaded. Here, i fixed the square wave with a comparator so that the slope is pretty steep, steep as applied comparator can give. Shown in the schematic LM393 (1.3μs response time) has been replaced by LM293 comparator with 300ns response time – so square wave is acceptable at 400kHz, but it would be good to use even faster model of comparator.
For more detail: 400kHz function generator with ICL8038