Using ICL8038 waveform generator IC with arduino uno

arduinogeneratorwaveform

How do I use the ICL8038 waveform generator IC with arduino uno ? I have been trying to find apt resources but I find either the IC being used without the arduino uno or resources explaining how to use ad9850 IC ( a DDS module) with arduino. Now since I am not actually aware of how to interface the various IC's with arduino ( only used L293d motor driver before), it would be great if someone can explain me how to go about it.

Or is the interfacing with ICL8038 exactly same to that with ad9850 so I can just substitute my IC in place of it without making any changes ? (I would highly prefer using libraries, if any for the same).

Thank you.

Best Answer

The AD9850 is very different from the ICL8038

The AD9850 datasheet describes it as:

The AD9850 is a highly integrated device that uses advanced DDS technology coupled with an internal high speed, high performance D/A converter and comparator to form a complete, digitally programmable frequency synthesizer and clock generator function.

It is designed to be digitally programmable, for example by a microcontroller (the type of device in an Arduino)

The ICL8038 datasheet describes it as:

The ICL8038 waveform generator is a monolithic integrated circuit capable of producing high accuracy sine, square, triangular, sawtooth and pulse waveforms with a minimum of external components.

It is a free-standing device which only requires some resistors and capacitors to make a usable waveform generator. It is not designed to be digitally programmable.

There are many chips which are not designed to integrate with a microcontroller. The ICL8038 is one of them.

Given enough time and money, it is, of course, theoretically possible to interface an Arduino and ICL8038. However it uses both resistors and capacitors to define its behaviour, and capacitors are quite awkward to do. It might cost more money, and a lot more time to enable the Arduino to talk to ICL8038 than just buying a AD9850.

I'd recommend either use a AD9850, or something very similar which is designed to be digitally programmed.